Just toying around: z80 and 6502 emulators
John A. Zoidberg
Posts: 514
Hey there,
I found a small Arduino based 6502 emulator with Basic online: Arduino 6502 emulator link and ported it to a small PIC32 board. Amazingly it ran, but pretty slow and I only managed to get at best 1.67MHz. I give a small challenge to myself: make a retro-toy on a breadboard, and those big PIC32s are SMDs, so I'd skip that.
Then, I immediately remembered the Props in my drawers. And, I found some z80 emulators here, but where's the 6502? I've been searching here but there's not a complete one.
I love to interface the Prop with some SRAM, and pretend the Prop is a retro processor + address decoders and stuff, and you can load your programs into like any other retro computers. Hope that's not too impossible.
I found a small Arduino based 6502 emulator with Basic online: Arduino 6502 emulator link and ported it to a small PIC32 board. Amazingly it ran, but pretty slow and I only managed to get at best 1.67MHz. I give a small challenge to myself: make a retro-toy on a breadboard, and those big PIC32s are SMDs, so I'd skip that.
Then, I immediately remembered the Props in my drawers. And, I found some z80 emulators here, but where's the 6502? I've been searching here but there's not a complete one.
I love to interface the Prop with some SRAM, and pretend the Prop is a retro processor + address decoders and stuff, and you can load your programs into like any other retro computers. Hope that's not too impossible.
Comments
qZ80 is 100% accurate as far as I recall. ZiCog still has a couple of missing op codes. But those opcodes are not used when running CP/M. When I got CP/M running I ran out of steam on development. I'm hoping we get our hands on the P2 soon, that would be the impetus I need to finish those last few opcodes.
Both ZiCog and qZ80 can make use of external RAM.
There used to be talk of a 6502 emulator for the Prop. I don't know how far that got.
Decimal mode isn't complete, but I believe the rest of it is.
Not really into emulating old CPUs except maybe purely for fun and reminiscing but I did write emulators for a few micros in Forth as it was very easy then to change and invoke operations from the command line as necessary, even patching in special I/O emulation as needed. The 6502 and it's variants were one of my favorites and one of the easier ones to emulate so I reckon I could dig up the old emulator file and bring it up to date so that it could run under Tachyon with a 64K file on SDFS for the 6502 memory. I probably could also interface SIDcog too and why not text VGA too!
Okay, so I said I'm not really into emulating old CPUs but I am into fun and it could be a good way to check out some extra functionality that I am adding to Tachyon.
Saw that thing, pretty nice price, but doesn't ship to SE Asia. In SE Asia, there are not much Commodores or anything due to the economic situation at that time. We could only barely afford a Famiclone unit (NES clone) and those cheap 8-bit computer (with a Famicom cart slot) with a Mandarin version of BASIC.
Bummer, they are a dime a dozen here. Frequently seen at yard sales in big boxes with 1541 disk drives, printers and piles of game cartridges. I have a box like that in my attic.
Here's an online Flash emulator: http://codeazur.com.br/stuff/fc64_final/
Lots of JavaScript emulators out there too, if you like those.
Ok, this isn't a propeller based one, but it will run at 25Mhz and you can change it from a 6502 to a Z80 machine in about 1 minute http://searle.hostei.com/grant/Multicomp/index.html
Easy to breadboard. Or use a pre-made board http://smarthome.jigsy.com/fpga
I'm in the middle of building a hybrid network - we have CP/M for running a terminal program, Propellers for doing the RS232 signal routing and Arduino's for real world interface.
Man, thanks for sharing - the adapter board is really a smart idea! Will check more about these, those FPGA boards they mentioned are really cheap and fun!
http://www.maximitecomputer.com/
(bought via Kickstarter. There's quite often a retro project there)