Author |
Message |
BitWise
Joined: Sun Aug 04, 2013 9:02 pm Posts: 23
|
I've been working on another PIC24 based emulation in my spare time for a National Semiconductor SC/MP (INS8060). Last night I fixed the last bug that was stopping it from running (a slightly modified) 'NIBL' Tiny Basic ROM.
The emulation provides more ROM (20K) and RAM (44K) area than a real SC/MP probably ever had as well as a virtual UART and virtual SPI bus (so I can add an SD card). I've designed the code to match the original instruction micro-cycle timings. I'm currently running at the equivalent of 4Mhz but I think 8Mhz is possible.
The SC/MP was an early 8-bit chip used in the Science of Cambridge MK14 and the first Elektor magazine home brew computer.
I've designed a Arduino style shield to hold the PIC plus support components and with LEDs for the SC/MPs flag output and a button for the sense B input (used to break BASIC execution). I've broken out all the SC/MP's sense, flag and shift in/out pins to shield connections so you can use them to control external hardware.
My portable Java based Dev65 assembler package now has a SC/MP variant which I'm using to write a FORTH for the SC/MP - I couldn't find the source for one online so I started from scratch.
I thought I might offer the board on KickStarter and see how many retro hackers want to try writing code for this archaic beast.
|
Wed Nov 12, 2014 9:55 am |
|
![](./styles/serenity/theme/images/spacer.gif) |
BigEd
Joined: Wed Jan 09, 2013 6:54 pm Posts: 1786
|
|
Wed Nov 12, 2014 11:02 am |
|
![](./styles/serenity/theme/images/spacer.gif) |
BitWise
Joined: Sun Aug 04, 2013 9:02 pm Posts: 23
|
I'm aiming for something a bit smaller like this..
You do not have the required permissions to view the files attached to this post.
|
Wed Nov 12, 2014 2:42 pm |
|
![](./styles/serenity/theme/images/spacer.gif) |
BigEd
Joined: Wed Jan 09, 2013 6:54 pm Posts: 1786
|
So the virtual UART is the primary I/O device? Would it be worth considering adding one of those USB/Uart chips and a USB connecter? I think that would be much more attractive. (If you use a microUSB and use that also to provide power that's even more attractive, as microUSB power adapters are to be found everywhere)
|
Wed Nov 12, 2014 3:05 pm |
|
![](./styles/serenity/theme/images/spacer.gif) |
BitWise
Joined: Sun Aug 04, 2013 9:02 pm Posts: 23
|
BigEd wrote: So the virtual UART is the primary I/O device? Would it be worth considering adding one of those USB/Uart chips and a USB connecter? I think that would be much more attractive. (If you use a microUSB and use that also to provide power that's even more attractive, as microUSB power adapters are to be found everywhere) I'd like to keep the board all thru-hole parts to make it easier for beginners to solder so I've added a USB B socket (like the Arduino UNO) and a socket for a 14-pin PIC16F1454/1455 which can be programmed as a serial adapter. I took off the 5V regulator but might try to squeeze it back on. NIBL is working! - I found so many typos in my code debugging it - a little too much late night copy and pasting. Now I can start on my Forth ROM.
|
Sun Nov 16, 2014 3:26 pm |
|
![](./styles/serenity/theme/images/spacer.gif) |
BigEd
Joined: Wed Jan 09, 2013 6:54 pm Posts: 1786
|
That's great - and keeping with through-hole is a good idea too. Do let us know as you launch it, or get close to launching it.
|
Sun Nov 16, 2014 4:12 pm |
|
![](./styles/serenity/theme/images/spacer.gif) |
BitWise
Joined: Sun Aug 04, 2013 9:02 pm Posts: 23
|
Here's the latest design. I'm going to order some prototype boards from China this week.
You do not have the required permissions to view the files attached to this post.
|
Mon Nov 17, 2014 9:29 pm |
|
![](./styles/serenity/theme/images/spacer.gif) |
BigEd
Joined: Wed Jan 09, 2013 6:54 pm Posts: 1786
|
How does this design relate to the one you mention at http://forum.6502.org/viewtopic.php?f=8&t=1936Would it be easy (or possible) to run a 6502 emulation on this board?
|
Sat Dec 06, 2014 4:42 pm |
|
![](./styles/serenity/theme/images/spacer.gif) |
BitWise
Joined: Sun Aug 04, 2013 9:02 pm Posts: 23
|
Yes, you could. I'm using the same micro-controller but added external components to interface to the F0/F1/F2 outputs, Sense A/B inputs and Shift In/Out pins that only make sense for the SC/MP processor. The UART and SPI connections could be used by another device emulator. The SC/MP emulation doesn't use much of the flash even with the 20K reserved for ROM images. There's room for another device emulation and some more ROM images. My 65C02 emulator with 32K RAM would fit and the new approach I use for memory mapping would support bank switched ROMs like the BBC but would run a little slower.
|
Thu Dec 11, 2014 8:46 pm |
|
![](./styles/serenity/theme/images/spacer.gif) |
BigEd
Joined: Wed Jan 09, 2013 6:54 pm Posts: 1786
|
That's good - I would expect there'd be more interest if you pitched the project as supporting multiple platforms. The Acorn Atom might be a good choice - I think it's simpler than a Beeb. (Although a Beeb is more mainstream.)
(For the record, a poll on gplus' Retro Computing community got 10 "interested" votes.)
|
Fri Dec 12, 2014 7:18 am |
|
![](./styles/serenity/theme/images/spacer.gif) |
BitWise
Joined: Sun Aug 04, 2013 9:02 pm Posts: 23
|
Ok. So I re-jigged the board a little to so it has 2 jumpers. My thinking is that via the jumpers you can either enter a control panel allows new firmware to be loaded or select the emulation to be started or have it directly start in one of three emulation modes.
The question is which three retro devices to emulate:
- SC/MP with NIBL and a few other bits and pieces (44K RAM + 20K ROM) - 6502 with a BBC MOS operating (32K RAM + several ROMS - BASIC,FORTH,LISP?) - 65C02?? - 6800?? - CDP1802 with CamelForth? - 8080?
The big problem is finding ROM images for boot firmware/applications.
|
Fri Dec 12, 2014 10:08 pm |
|
![](./styles/serenity/theme/images/spacer.gif) |
BigEd
Joined: Wed Jan 09, 2013 6:54 pm Posts: 1786
|
I like the idea of being able to load new firmware - that leaves room for further expansion. The people over on Stardot are looking at multi-platform second processors: a 6809 features, but maybe it's not too hard to rewrite the code for a 6800. You only need 1k or 2k of code to boot a second processor. It's possible to drive that second processor over a serial connection from a PC. (There's a version of the necessary host code in perl: http://sweh.spuddy.org/Beeb/TubeHost/) BBC BASIC is nice because it includes the assembler. A good monitor would include a disassembler, but not sure how many include an assembler. The minimum needed is something to load code, whether srecords or zmodem or whatever. A Forth would be nice, for sure. Do you have an 1802 emulator, or do you believe it to be straightforward? Again, that would widen the appeal quite a lot. For the 6800, there's a SWTPC monitor apparently, and also this rewrite of the Apple 1 monitor: http://whats.all.this.brouhaha.com/2011/07/18/success/Edit: see also http://www.nj7p.info/Toys/Software/Moni ... n6800.html
|
Sat Dec 13, 2014 3:53 pm |
|
![](./styles/serenity/theme/images/spacer.gif) |
BitWise
Joined: Sun Aug 04, 2013 9:02 pm Posts: 23
|
I've restructured the code and tweaked the PCB a little before shipping it off to China for manufacture at http://dirtypcbs.com/The firmware will support four emulations with the default selectable by jumpers. There will be a SC/MP, M6800, 6502 and CDP1802. The SC/MP is fully working. I'm going to convert my 65C02 emulator into a straight 6502 (by putting all the bugs back in). The 6800 is mostly written and I'm making a start on the CDP1802. Resetting the board while pressing the input button will at some point invoke monitor mode and/or the boot loader, but I'll code that last.
|
Tue Dec 16, 2014 4:25 pm |
|
![](./styles/serenity/theme/images/spacer.gif) |
BigEd
Joined: Wed Jan 09, 2013 6:54 pm Posts: 1786
|
Nice choice of retro CPUs! And another potential PCB supplier to add to the list.
|
Thu Dec 18, 2014 11:23 am |
|
![](./styles/serenity/theme/images/spacer.gif) |
barrym95838
Joined: Tue Dec 31, 2013 2:01 am Posts: 116 Location: Sacramento, CA, United States
|
BitWise wrote: ... The SC/MP is fully working. I'm going to convert my 65C02 emulator into a straight 6502 (by putting all the bugs back in). The 6800 is mostly written and I'm making a start on the CDP1802. That sounds really cool, BitWise! I doubt that you'll have many issues finishing up the 6800 simulator ... it's about as complicated as a hammer, but still kind of fun. I think I might end up being one of your customers, if the stars align properly for me ... I have a lot on my plate, but I really want a new toy, and this looks like really good bang for the buck (he says, without knowing how much you plan to charge for it ![Uber Geek :ugeek:](./images/smilies/icon_e_ugeek.gif) ). Mike
|
Fri Dec 19, 2014 11:09 pm |
|