I'm designing another SBC based around the 65C02 (I did a simple one back in 2018). This time, I'm looking for VGA support.
Having researched both the Parallax mcu and the TinyFPGA (BX), the conclusion is that both of them are "almost" good enough for what I need. I have some experience with the Propeller but I'm not crazy about learning FPGA (for now).
So that brings me here. I actually own a Teensy 3.5 but, to be honest, haven't even turned it on.
I just discovered the 4.0 and 4.1 version of Teensy so I guess I need to decide if the Teensy is going to be a good fit.
Here is what I am looking to do:
1) Clock the 65C02 between 1 - 4 MHz (4 MHz would be ideal..but 6 MHz would be nice too).
2) Use the Teensy as "glue logic" for the 65C02 and all of the peripherals. This would mean the Teensy would be the "bus master" and turn on/off chips as needed such as RAM/ROM/ACIA/etc.
3) Teensy would perform like the TMS9918 in that it would accept requests from the 65C02 via registers (memory maps) and then draw on the screen.
4) The Teensy would draw to a VGA screen with a resolution of 640x480. However, it would use "fat pixels" so that the effective resolution would be 320x240 and possibly 64 or 256 colors. Oh, and it would be character based like the C64 so it would only take a couple K of memory.
5) The Teensy would also have a basic sprite system down the road...assuming it had enough horsepower left over.
Granted, the Teensy 4.1 seems way overkill for this.
However, in my experience, it's the concurrency that really hurts you (where FPGA's shine). As my 4 MHz computer loads an address, for example, it expects that address to be ready to go in roughly 125ns based on the fact the 65C02 does its internal work in half-phases of the clock. So even at 600 MHz, you don't have tons of time in 125ns.
This is why the Propeller won't work. It has a hard time responding to external events at above 1 MHz.
I hope this long winded post makes sense. My question out of all of this, is can the Teensy do this? If so, which version?
Thanks!
Having researched both the Parallax mcu and the TinyFPGA (BX), the conclusion is that both of them are "almost" good enough for what I need. I have some experience with the Propeller but I'm not crazy about learning FPGA (for now).
So that brings me here. I actually own a Teensy 3.5 but, to be honest, haven't even turned it on.
I just discovered the 4.0 and 4.1 version of Teensy so I guess I need to decide if the Teensy is going to be a good fit.
Here is what I am looking to do:
1) Clock the 65C02 between 1 - 4 MHz (4 MHz would be ideal..but 6 MHz would be nice too).
2) Use the Teensy as "glue logic" for the 65C02 and all of the peripherals. This would mean the Teensy would be the "bus master" and turn on/off chips as needed such as RAM/ROM/ACIA/etc.
3) Teensy would perform like the TMS9918 in that it would accept requests from the 65C02 via registers (memory maps) and then draw on the screen.
4) The Teensy would draw to a VGA screen with a resolution of 640x480. However, it would use "fat pixels" so that the effective resolution would be 320x240 and possibly 64 or 256 colors. Oh, and it would be character based like the C64 so it would only take a couple K of memory.
5) The Teensy would also have a basic sprite system down the road...assuming it had enough horsepower left over.
Granted, the Teensy 4.1 seems way overkill for this.
However, in my experience, it's the concurrency that really hurts you (where FPGA's shine). As my 4 MHz computer loads an address, for example, it expects that address to be ready to go in roughly 125ns based on the fact the 65C02 does its internal work in half-phases of the clock. So even at 600 MHz, you don't have tons of time in 125ns.
This is why the Propeller won't work. It has a hard time responding to external events at above 1 MHz.
I hope this long winded post makes sense. My question out of all of this, is can the Teensy do this? If so, which version?
Thanks!