It’s been great fun to work on this project in the course of the RetroChallenge! As always, free time was the limiting factor, but I’m quite happy with the result. My beloved PET turned into a machine that would have been a high res color workstation in the 70s. Well, granted, 8 kB of RAM and 1 MHz clock wasn’t that much for a workstation even back in the day, but together with the 512 kB framebuffer RAM of the CHRE and its 25 MHz GPU it’s a real beast, isn’t it? 😉
All of my initial goals have been achieved, with the exception of a BASIC extension. I had the hardware of the 8xxx series in mind when I wrote this goal up. Unfortunately the PET doesn’t have ROM extension sockets, so I ditched this goal and went with a simple machine language subroutine located in the cassette tape I/O buffer. Yes, the PET does have an expansion port and, as the name implies, it’s possible to add ROM this way, but that would have been a RetroChallenge on its own.
But I’ve been a lucky fellow on another topic: resolution. To be honest, I adopted a widespread beliefe on the internet that it would be impossible to put out a resolution of 640 by 480 at 256 colors with an ATmega microcontroller, some SRAM and two latches. It was a pleasant surprise to bump into a viable solution anyway. Granted, it’s open to dispute if it makes sense, but it’s definitely possible! It is said that the judges look out for some silly things. Here you go! 🙂
I have struggled with video and pictures this time: too flickery, too bright, too dim, incorrect colors, reflections, bad sound and so on. It took me much more time to do the video than to write the demo program, to say nothing of the extreme lame data rate while uploading the video. So, there is room for improvement and a lot to learn until the next RetroChallenge.
My to-do list (aka list of reasonable or silly features) seems to increase each time I work on this project. Sounds familiar? Proposed solution?
K E E P O N R E T R O C H A L L E N G I N G !
Thank you for your interest! Please stay tuned (Twitter: @minus56bits).