3 ms·
Bare Metal Space Invaders
- b800h 3y agoThis is interesting. I wrote an Invaders clone in assembly for x86 in the early 90s; typically you didn't use OS calls then either, not because it was "bare metal" (though it could have been) but because int 21h was horribly slow! Similarly it was much quicker to stosb to video memory at a000h than use int 10h, although that was a hardware interrupt. I wonder if it made it across to the Pi? Reading through this code 30 years later will be fascinating. EDIT: What immediately jumps out at me is how different things get when there's no scan line to deal with..
- b800h 3y agoQ: Can you not write directly to video memory on the Pi, rather than do this cumbersome mailbox stuff? EDIT: Apparently calling SWI &31 would give you the location, allowing direct access
- duskwuff 3y ago> EDIT: Apparently calling SWI &31 would give you the location, allowing direct access What gives you that impression? INT 31h is how you make a DPMI call in an x86 PC BIOS system, but that's entirely specific to those systems. There's no equivalent on ARM.
- b800h 3y agoMy mistake - I was reading the RISC OS documentation and assumed that SWI &31 in RISC OS (not x86) was a hardware interrupt call and not something specific to RISC OS itself - apologies, middle of the night, brain fog!