|
rnbergren wrote: You might want to go buy a lotto ticket.
No point. Whatever reservoir of luck he built up was just consumed.
Keep Calm and Carry On
|
|
|
|
|
probably true
To err is human to really elephant it up you need a computer
|
|
|
|
|
Just curious...
What does your prototype board do, exactly?
Russia–Serbia relations - Wikipedia[^]
Russia and Serbia are both predominantly Slavic and Eastern Orthodox countries, which share a strong mutual cultural affinity. The countries have been close allies for centuries; and the friendship between them has been strongly maintained despite Serbia's recent attempt to maintain closer relations with the West.
U.S. Relations with Serbia[^]
modified 11-Jul-23 16:03pm.
|
|
|
|
|
I don't know how much I'm allowed to divulge about the project, so I shall remain cautiously mum on the matter.
It's nothing groundbreaking, IMO but it is complicated, with a lot of fiddly bits that can go wrong.
Check out my IoT graphics library here:
https://honeythecodewitch/gfx
|
|
|
|
|
I think chickens might be involved.
|
|
|
|
|
I love it when that happens.
"A little time, a little trouble, your better day"
Badfinger
|
|
|
|
|
honey the codewitch wrote: Fired it up on site, and it worked without a hitch! How often does that happen?
Usually work product doesn't survive initial contact with the real world.
That's when you're trying NOT to say out loud, in front of others, why is it working without any problem, and start questioning yourself...
|
|
|
|
|
I feel personally attacked by this relatable content.
Check out my IoT graphics library here:
https://honeythecodewitch.com/gfx
|
|
|
|
|
Need mans shirt? It's essential! (11)
"I have no idea what I did, but I'm taking full credit for it." - ThisOldTony
"Common sense is so rare these days, it should be classified as a super power" - Random T-shirt
AntiTwitter: @DalekDave is now a follower!
|
|
|
|
|
Requirement ?
In a closed society where everybody's guilty, the only crime is getting caught. In a world of thieves, the only final sin is stupidity. - Hunter S Thompson - RIP
|
|
|
|
|
Is the correct answer!
"I have no idea what I did, but I'm taking full credit for it." - ThisOldTony
"Common sense is so rare these days, it should be classified as a super power" - Random T-shirt
AntiTwitter: @DalekDave is now a follower!
|
|
|
|
|
I take it you are at the dentists ?
In a closed society where everybody's guilty, the only crime is getting caught. In a world of thieves, the only final sin is stupidity. - Hunter S Thompson - RIP
|
|
|
|
|
Sitting.
Waiting.
...
"I have no idea what I did, but I'm taking full credit for it." - ThisOldTony
"Common sense is so rare these days, it should be classified as a super power" - Random T-shirt
AntiTwitter: @DalekDave is now a follower!
|
|
|
|
|
Explain please.
I’ve given up trying to be calm. However, I am open to feeling slightly less agitated.
I’m begging you for the benefit of everyone, don’t be STUPID.
|
|
|
|
|
Definition: It's essential!
Need: REQUIRE
Mans: MEN
Shirt: T
REQUIREMENT
|
|
|
|
|
|
I once installed Perl a long time ago, but removed it the same day.
Never again!

|
|
|
|
|
What do you expect when a frumious bandersnatch is involved?
Software Zen: delete this;
|
|
|
|
|
I need a break. Time to go back when things were simple (or at least appeared to be so) and do something just for fun. Like writing a little game for my old box. A little 8 bit processor, 4k RAM, a weird little graphics chip and the assembler is all you need.
But wait, this is tech from 1976! A graphics chip? Yep, we are racing the electron beam again. But they did that in such a clever way that a kid could get it to work. It involved interrupts and DMA and all code that had to stay in sync with the electron beam was contained in that less than 32 instructions long interrupt routine.
However, that simplicity still does not come without a price. The graphics chip issues 1024 x 60 DMA requests every second and also calls the interrupt routine 60 times a second as well. Whatever is going on in that interrupt routine adds up very quickly to take away a good percentage of the instructions the processor can 'waste' on such luxuries as executing its program every second.
Just how much, exactly? Those interrupt routines come in two flavors and we get two very different values. After all these years I have now taken the time to actually do the math:
The worst case are those interrupt routines that manipulate the DMA pointer to repeat every raster line two or more times. To do that, you have to stay in the interrupt routine for the entire duration of the frame, leaving only the vertical blank period for program execution. Just as bad as racing the beam always was. At least you had a more useful vertical resolution this way and required a significantly smaller graphics buffer. Still, this left you with only 33.64% of the CPU time for your program. Ouch.
The better option was not to race the beam at all. The interrupt routine merely reset the DMA pointer to the beginning of your graphics buffer for every frame and did not hang around any longer to repeat any scan lines. That left you with a weird resolution of 64 x 128 pixels and required a graphics buffer of 1024 bytes, but also left 71.63% of the CPU time for the actual program.
So, which option would you choose? Memory is not as much of an issue as it used to be, but I think I can live with a weird resolution and take the performance gain. By the way, the same old processor, unrestricted by the old graphics chip, gives me more than 12 times the instructions per second compared to that worst case I have been using for 45 years now. And I have not even really tried to overclock it yet.
I have lived with several Zen masters - all of them were cats.
His last invention was an evil Lasagna. It didn't kill anyone, and it actually tasted pretty good.
|
|
|
|
|
I wouldn't necessarily limit myself to a single approach. I'd probably use the "better" graphics mode when I could afford it, and switch to the more expedient mode when I needed it.
I'd say first write the supporting code as much as possible to figure out what you'll need.
Check out my IoT graphics library here:
https://honeythecodewitch/gfx
|
|
|
|
|
Even in the old days I had a collection of subroutines to puzzle together whatever I need without rewriting everything all the time. Today I let the assembler do that dirty work for me. Just a tiny change in the configuration and I can have double buffering, sprites, a text mode and also change the resolution. The only thing I can't do is switch around these options at runtime. It would be possible, but then I would have to keep everything in memory at once and always reserve the largest buffers, just in case. Not a very economical use of the small amount of memory available.
But fear not, by slightly expanding the memory by a few megabytes and figuring out a way to switch memory pages without the processor noticing anything, I can keep lots of code in memory at once and do things that were far out of reach for a little 8 bit processor. The lessons I learned from the old computer: Use your memory as good as you can and there is no such thing as enough memory. I will always find a good use for a little more, even without being wasteful.
I have lived with several Zen masters - all of them were cats.
His last invention was an evil Lasagna. It didn't kill anyone, and it actually tasted pretty good.
|
|
|
|
|
I've often developed full featured devices that operate using maybe 100kB even loading MIDI files and shooting the resulting MIDI messages over USB, + processing incoming MIDI.
I am fastidious about deciding when a round of development on a product is finished. I don't allow for feature creep and endless development on even my personal projects, so finding a use for a little more is not something I do regularly.
Now, that having been said, new rounds of development on newer project versions is totally fair game, and in those situations *sometimes* I find use for extra RAM, and just as often, I'm making it more efficient (often because a lot of my code is in reusable general purpose libs so efficiency improvements are par for the course even if a given project doesn't strictly require it)
Check out my IoT graphics library here:
https://honeythecodewitch/gfx
|
|
|
|
|
Talk about first world problems.
It's kind of easy to be virtuous as long as you have plenty. Having only the bare minimum may make you look a little stingy or greedy because you always have a good use for a little more.
I have lived with several Zen masters - all of them were cats.
His last invention was an evil Lasagna. It didn't kill anyone, and it actually tasted pretty good.
|
|
|
|
|
I'm usually working with systems that have between 192kB and 512kB of RAM.
Check out my IoT graphics library here:
https://honeythecodewitch/gfx
|
|
|
|
|
Yes, times have changed. The old computer is from a time when even 16k was an expensive dream. Even any OS was a luxury. ROMs were just as tiny and there is only so much you can do with that limited space. You can't have drivers or routines for and against everything.
In a paged memory model you can pack your code into modules similar to DLLs. Each module gets its own memory page as if it were the only thing running on the computer. Sound familiar? It's just giving an old processor the same royal treatment as a modern one and suddently the whole computer becomes much more modern as it has any right to be. It's all about teaching a very old dog some new tricksand lack of memory is the most common reason that speak against doing that.
I have lived with several Zen masters - all of them were cats.
His last invention was an evil Lasagna. It didn't kill anyone, and it actually tasted pretty good.
|
|
|
|