5 ms·
But will it run on a PicoMiteVGA? (RP2040-based computer with 16 colors, 320x240 graphics, in "mode 2")? "PicoMiteVGA: Raspberry Pi Pico Boot-to-BASIC Microcom
by esbeeb 4y ago
But will it run on a PicoMiteVGA? (RP2040-based computer with 16 colors, 320x240 graphics, in "mode 2")?
"PicoMiteVGA: Raspberry Pi Pico Boot-to-BASIC Microcomputer":
https://www.youtube.com/watch?v=kZaWYgIYgd8 https://www.youtube.com/watch?v=kZaWYgIYgd8
- jacquesm 4y agoNo. Elite relied very heavily on being able to reprogram the video chip on the fly at different scanlines to produce custom modes. If you don't have the exact same video arrangement there is almost no chance that it will run unmodified.
- esbeeb 4y agoThat's straight-up "god-level" indeed. "Elite" is a suitable name for the game, when the coding prowess is considered as the truly "Elite" thing about it.
- justinlloyd 4y agoFlipping modes on the VDU at specific scan lines on the Beeb was a standard thing that quite a few games and demos and applications did, e.g. Mode 4 or Mode 0 for B&W high resolution text, and Mode 2 or Mode 5 with some clever HAM for low-resolution but colourful graphics. The only mode switch that didn't work well was switching back and forth between Mode 7 (Teletext), it was mostly a timing issue, coupled with the fact the teletext character generator did weird things to the Beeb's video output.
- jacquesm 4y agoI was pretty active in the BBC Scene at the time and had a front row seat to a whole pile of the backstory here, and yet I do not recall anybody that pulled this off in a stable and reproducible manner (T1 + some 6845 register hacks). The problem was that timing the switch point in software was fraught with trouble because you just might end up making the switch at the wrong moment which caused it to jump vertically (or garble a part of your screen). The other problem was that if you wanted perfect timing it was possible but that left you without enough cycles to run your game. Braben & Bell solved this to the point that it was considered stable enough for inclusion in production. Similar hacks had been done on the Atom prior to the BBC so it wasn't as if the knowledge wasn't out there but no game publisher had - as far as I know - seen fit to release a game that used it. It would be great if you could answer this and point out exactly where this was used prior to Elite on the Beeb, that would set the record straight on this once and for all.
- MarkMoxon 4y agoI agree, I think Elite was the first commercial example of a split-screen mode on the BBC. It does flicker a bit at the switchover point when the disk is being accessed, as it is interrupt-based, but it's not too bad. There’s lots of detail on how it works here: https://www.bbcelite.com/deep_dives/the_split-screen_mode.html https://www.bbcelite.com/deep_dives/the_split-screen_mode.ht... My favourite inplementation of this technology is in Geoff Crammond's Revs, which doesn't flicker at all, as the palette switches are cleverly done where they won't be seen if they aren’t perfect. Read all about it here: https://revs.bbcelite.com/deep_dives/hidden_secrets_of_the_custom_screen_mode.html https://revs.bbcelite.com/deep_dives/hidden_secrets_of_the_c... It’s genius.
- jacquesm 4y agoWhat really gets me about this whole discussion is that lots of this stuff feels like yesterday to me. And yet, it's been almost 40 years. Mnemonics and register offsets for peripherals are all jumping to attention for immediate use. But don't ask me what I ate last week...
- justinlloyd 4y agoI am prettty sure I could write a decently sized Z80 or 6502 program for the Beeb or the Speccy from scratch without reference, or at least a decent set of 3D transformation functions. I could not tell you how to load a JSON file from a folder in Python if my life depended upon it. I have to write that latter code on an almost weekly basis. I will say that the internet and instant access to online references has absolutely destroyed my memory more than any amount of age or caffeine.
- jacquesm 4y agoI think in part this is because the size of the building blocks has gone up tremendously. In the dark ages you'd write roughly as much code for your program as there was ROM in the machine to begin with. That balance made it possible to 'know' every byte of the map and to have an intimate understanding of the software that came with your machine, it's CPU and how it all hung together. The balance has shifted to the point where your program is likely only an extremely small fraction of the total that is running on your machine and that powers your application. So it has simply become impossible to be that familiar with the remainder.
- Narishma 4y agoNon-video link: https://geoffg.net/picomitevga.html https://geoffg.net/picomitevga.html