Thank you so much for the informative and entertaining videos documenting your project, I have thoroughly enjoyed each one. Your sense of humor is brilliant. I came across your first video right around the time I was just starting on my own 6502/pico adventures. You've mentioned a few times about the lack of GPIOs available on the pico - with what I was trying to do, I was also always just one or two GPIOs short! So I have recently built a circuit board specifically designed for my project, using the solderparty stamp rp2040 board. The great thing about the "stamp" is that it exposes ALL 30 RP2040 GPIOs - and you don't have to deal with the GPIO23-25 being used to support PICO board functionality. The downside of the stamp is that it is 2mm pin pitch, not (2.54mm) - and it is square, so not breadboard friendly at all - hence my custom breakout board. My test code for the stamp and 6502 is to implement the whole 64k address space in the stamp, and have the 6502 read&write to the full 16b space. ROM/RAM is working with just 4 PIO SMs, and 4 DMA channels. It runs very stably at 2.8MHz - I may be able to optimize the PIO code to get it a little faster. To get to 8MHz I will have to do something like you have done, by loading my 6502 code into a proper RAM chip... I will be sure to share where I am at, when I finish writing it up.
Thanks for sharing. I'm really enjoying this project and can follow along mostly due to your clear presentation style. I would love to hear about you and how it is that you are so good at this :)
"... for the satisfaction of tearing the tractor feed off your printouts..." 🤣 But how do you fix the printout into the listing binder if the holes aren't there? This was me, 40 years ago! Love these videos. Thanks.
@Rumbledethumps Sure, that's an option. I was just thinking about the early 80s when we had binders for full-size 132 column paper which used the tractor holes to secure the paper.
Keeping the PIX signals the same as the 6502 signals makes it easy for everything to be merged into a single connector. Will be exciting to see what people make.
This reminds me of Japanese 8 bit machines, particularly the Fujitsu FM8. It had a second 6809 CPU for the video, with its own RAM and a bus connecting it to the main CPU. Bandwidth was limited. Similarly MSX had separate video RAM (usually 2x main RAM) with a slow bus connecting the CPU to it via the video chip. It's a shame no western micros adopted that set-up.
It's good to know there's still PIO space (and core/s) on a ScanVideo Pico (providing it's not driving the DVI layer too, I guess.) I could not figure that out from the code for myself.
What about the 6502's read modify write instructions like INC abs (ie $EE) it will read from the address at T state 4 but then in T state 5, on the following cycle, it will expect to read from the same address?
@@rumbledethumps Maybe I'm not understanding your set up. Keep in mind that a 6502 will perform a read or a write from/to the bus on every single cycle, no matter what instruction or address mode (even a reset). So for some instructions/address modes you could get a read from and then a write to your PIX bus within two clock cycles. If you happen to be executing code in that address space then you will get two reads within a single clock cycle from one another.
My second and third videos ru-vid.com/group/PLvCRDUYedILfHDoD57Yj8BAXNmNJLVM2r explain how the 6502 reads and writes the RIA registers. The INC instruction runs on that system, not the PIX bus.
If a propeller can do this: ru-vid.com/video/%D0%B2%D0%B8%D0%B4%D0%B5%D0%BE-tQQVVguMkSU.html and ru-vid.com/video/%D0%B2%D0%B8%D0%B4%D0%B5%D0%BE-yfkFCMLfBQo.html and even 1600x1200VGA, why would you use a pico?
Isn't it most likely cheaper (by cash, and by power budget too, possibly)? Plus, it will do peripheral things as well: this part-time 'memulator' also gets to run the filesystem kernel [ep. 6] to offload work from the (not unexpectedly weak) main executive processor.
@@duncanwalduck7715 The Propeller has 8 cores that run at 80MHz 1600x1200VGA takes 5 of those 8 cores and the others can be do FAT filesystem, microSD and other functions, and you would have more IO's left for that. A Propeller may be more expensive, but it is also more powerful unless you need larger memory or USB. As for power budget, that depends on frequency, which depends on your video requirements. You can run the Propeller at up to 100MHz, or as slow as you like, and when the cores are in wait, or not loaded, they don't use very much power at all. For USB would recommend a Parallax P2, which can do 1920x1200 VGA (maybe even 2 of them, depending on how memory is mapped), Ethernet, Serial, and dozens of other protocols on the 64 IO/s and 8x320MHz cycle accurate cores.