27C400/800/160/320 emulator/ROM switcher

classic non-acorn hardware, software & languages
cmorley
Posts: 1867
Joined: Sat Jul 30, 2016 8:11 pm
Location: Oxford
Contact:

27C400/800/160/320 emulator/ROM switcher

Post by cmorley »

I've been busy beavering away at my 27C400 EPROM emulator/ROM switcher.

There was a sneak peak in the "today I built" thread for those that saw. The prototype batch of boards are assembled and working now which is great.

It emulates EPROMs and is programmed by USB. ROM switching by way of active low input - e.g. connect to the reset line

27C400 - 256Kx16 or 512Kx8
27C800 - 512Kx16 or 1Mx8
27C160 - 1Mx16 or 2Mx8
27C320 - 2Mx16 or 4Mx8

With smaller ROM sizes you get more switch banks... so for the Master you get 8x 1Mbit (with half the FLASH chip wasted! :O )

It also supports the Commodore mask ROM pinout they used in rev 3 and rev 5 Amigas as well as JEDEC pinout.

I've got it working in Amigas now and just ordered some PCBs to use it in a Master :D Daniel has kindly offered to do some testing =D>

Boards:
Photo0736.jpg
With pins top:
Photo0732.jpg
With pins bottom:
Photo0733.jpg
Master MOS adapter:
Photo0731.jpg
Rev 5 Amiga 500 :O :
Photo0738.jpg
User avatar
danielj
Posts: 9900
Joined: Thu Oct 02, 2008 5:51 pm
Location: Manchester
Contact:

Re: 27C400/800/160/320 emulator/ROM switcher

Post by danielj »

:) :) =D>
cmorley
Posts: 1867
Joined: Sat Jul 30, 2016 8:11 pm
Location: Oxford
Contact:

Re: 27C400/800/160/320 emulator/ROM switcher

Post by cmorley »

Master MOS swticher adapter assembled. I will try it this weekend then if successful post one to a forum member for testing :D
Photo0796.jpg
edit: I just noticed the text on the 27C400 emulator is upside down compared to convention of notch on the left... added to the fix list
Last edited by cmorley on Fri Sep 06, 2019 8:23 am, edited 1 time in total.
User avatar
jgharston
Posts: 5321
Joined: Thu Sep 24, 2009 12:22 pm
Location: Whitby/Sheffield
Contact:

Re: 27C400/800/160/320 emulator/ROM switcher

Post by jgharston »

cmorley wrote: Sun Aug 18, 2019 3:49 pm Master MOS adapter:Photo0731.jpg
Won't fit with a GoMMC as it overlaps the next socket. :(

Code: Select all

$ bbcbasic
PDP11 BBC BASIC IV Version 0.45
(C) Copyright J.G.Harston 1989,2005-2024
>_
User avatar
Elminster
Posts: 4315
Joined: Wed Jun 20, 2012 9:09 am
Location: Essex, UK
Contact:

Re: 27C400/800/160/320 emulator/ROM switcher

Post by Elminster »

With the Retroclinic switcher and the GoSDC in a Master I had to add another 2 or 3 turned pin sockets to get enough height to clear goSDC. Isn't pretty but works. Although now I have a BeebSCSI and several gotek I am thinking of retiring the gosdc from my primary master. Although there are a couple of nice features on gosdc.
cmorley
Posts: 1867
Joined: Sat Jul 30, 2016 8:11 pm
Location: Oxford
Contact:

Re: 27C400/800/160/320 emulator/ROM switcher

Post by cmorley »

I'm not fussed about GoSDC/MMC clash. A narrower (harder to assemble) adapter could be made - like my B modules which are only 0.05" wider than the socket. This is really a test of the EPROM emulator. It clears the jumpers and ECONET so that is good enough for me for now.

Works though. Control-BREAK to switch ROMs 8)
Photo0797.jpg
Photo0798.jpg
Edit: Configured in 8x 256KB ROM mode... I used MOS320 & MOS350 from JGH's mdfs.net for this test.
Last edited by cmorley on Fri Sep 06, 2019 9:57 am, edited 1 time in total.
User avatar
danielj
Posts: 9900
Joined: Thu Oct 02, 2008 5:51 pm
Location: Manchester
Contact:

Re: 27C400/800/160/320 emulator/ROM switcher

Post by danielj »

Looking good. :)

d.
User avatar
Elminster
Posts: 4315
Joined: Wed Jun 20, 2012 9:09 am
Location: Essex, UK
Contact:

Re: 27C400/800/160/320 emulator/ROM switcher

Post by Elminster »

Just a random thought as I was trying to think of uses of the parallel port the other day. Rather than control-Break could you somehow hook into the parallel port to provide the signal for which MOS to select? I have given no thought to how that might work.
tom_seddon
Posts: 889
Joined: Tue Aug 30, 2005 12:42 am
Contact:

Re: 27C400/800/160/320 emulator/ROM switcher

Post by tom_seddon »

What's the programming procedure? Can it be reprogrammed in situ?

I'd be very interested in a straightforwardly re-programmable mega rom replacement!

--Tom
cmorley
Posts: 1867
Joined: Sat Jul 30, 2016 8:11 pm
Location: Oxford
Contact:

Re: 27C400/800/160/320 emulator/ROM switcher

Post by cmorley »

tom_seddon wrote: Fri Sep 06, 2019 12:14 pm What's the programming procedure? Can it be reprogrammed in situ?

I'd be very interested in a straightforwardly re-programmable mega rom replacement!
USB serial (virtual com port) programming. Yes in situ programming.

On the firmware todo list is to allow one of the GPIO outputs to be controlled by serial command. So makefile build, program & reset of target machine is possible 8)
User avatar
myelin
Posts: 1068
Joined: Tue Apr 26, 2016 10:17 pm
Location: Mountain View, CA, USA
Contact:

Re: 27C400/800/160/320 emulator/ROM switcher

Post by myelin »

Nice work... that is one densely routed board! My attempt at something similar a while back was about twice the width. I take it that that's a USB micro next to C10?
SW/EE from New Zealand, now in Mountain View, CA, making Beeb/Elk/Arc hardware projects for fun.
Most interesting: Arcflash, POST Box, Ultimate Electron Upgrade
cmorley
Posts: 1867
Joined: Sat Jul 30, 2016 8:11 pm
Location: Oxford
Contact:

Re: 27C400/800/160/320 emulator/ROM switcher

Post by cmorley »

4mil/4mil and 4 layer board with 3 signal and 1 ground & power.

Yes I have used an STM32F042 which doesn't require a crystal for the USB. Only 32KB of FLASH and 6KB of RAM though.
User avatar
danielj
Posts: 9900
Joined: Thu Oct 02, 2008 5:51 pm
Location: Manchester
Contact:

Re: 27C400/800/160/320 emulator/ROM switcher

Post by danielj »

So, this thing is bloody brilliant. 8 configurations on the Master, ctrl-break to switch. Remembers last setting. No knobs, switches or holes. :) Upload images over USB from a serial terminal with minimal fuss. What's not to love?

d.
User avatar
Elminster
Posts: 4315
Joined: Wed Jun 20, 2012 9:09 am
Location: Essex, UK
Contact:

Re: 27C400/800/160/320 emulator/ROM switcher

Post by Elminster »

danielj wrote: Tue Sep 17, 2019 9:51 pm So, this thing is bloody brilliant. 8 configurations on the Master, ctrl-break to switch. Remembers last setting. No knobs, switches or holes. :) Upload images over USB from a serial terminal with minimal fuss. What's not to love?

d.
I tell you is what not to love. I replaced my retro clinic 2 Rom switcher, with the 4 Rom Scsi version 2 weeks ago. :( Curses
tom_seddon
Posts: 889
Joined: Tue Aug 30, 2005 12:42 am
Contact:

Re: 27C400/800/160/320 emulator/ROM switcher

Post by tom_seddon »

I assume the flying lead means an ordinary switch or button would also be an option for switching configuration? I use CTRL+BREAK quite a lot when using the Beeb, and I'm not sure I want it doing an OS switch each time :)

--Tom
cmorley
Posts: 1867
Joined: Sat Jul 30, 2016 8:11 pm
Location: Oxford
Contact:

Re: 27C400/800/160/320 emulator/ROM switcher

Post by cmorley »

tom_seddon wrote: Wed Sep 18, 2019 12:05 am I assume the flying lead means an ordinary switch or button would also be an option for switching configuration? I use CTRL+BREAK quite a lot when using the Beeb, and I'm not sure I want it doing an OS switch each time :)
There is a timer in firmware on the switch input currently set to 1.5s which is a looong BREAK press for a human. You do have other options. You could put a dedicated switch there, you could fit a rotary switch or toggle switches... or hook it to the printer port/user port. The device is generic.
User avatar
danielj
Posts: 9900
Joined: Thu Oct 02, 2008 5:51 pm
Location: Manchester
Contact:

Re: 27C400/800/160/320 emulator/ROM switcher

Post by danielj »

It's fine in practice. It really does require a long press to flip images, you won't do it by mistake. It can be set to remember the last used image on switch-on, which is very handy.
tom_seddon
Posts: 889
Joined: Tue Aug 30, 2005 12:42 am
Contact:

Re: 27C400/800/160/320 emulator/ROM switcher

Post by tom_seddon »

Ah, excellent - that actually sounds like a very convenient arrangement!

Will definitely get one of these. It'll be great to finally be able to get rid of View and Viewsheet.

--Tom
cmorley
Posts: 1867
Joined: Sat Jul 30, 2016 8:11 pm
Location: Oxford
Contact:

Re: 27C400/800/160/320 emulator/ROM switcher

Post by cmorley »

I have been busy in meat space over the last 3 weeks. Today though I finished tidying up the PCB layout and have ordered more PCBs for these ROM emulators. I'll then hand assemble some for anyone interested in getting their hands on one. Adapter PCBs can be easily designed to fit these things in other equipment that needs mask ROMs or EPROMs or different shapes and sizes.

AFAIK the first prototypes are working fine for Tom and Daniel...
User avatar
danielj
Posts: 9900
Joined: Thu Oct 02, 2008 5:51 pm
Location: Manchester
Contact:

Re: 27C400/800/160/320 emulator/ROM switcher

Post by danielj »

They really are, very nifty! Only one internal wire!

d.
cmorley
Posts: 1867
Joined: Sat Jul 30, 2016 8:11 pm
Location: Oxford
Contact:

Re: 27C400/800/160/320 emulator/ROM switcher

Post by cmorley »

Issue D PCBs arrived today. £1.29 VAT... £8 Royal Mail handling fee :cry:
Photo0877.jpg
I will hand solder these but this is pretty much the design I hope to get assembled in bulk.
cmorley
Posts: 1867
Joined: Sat Jul 30, 2016 8:11 pm
Location: Oxford
Contact:

Re: 27C400/800/160/320 emulator/ROM switcher

Post by cmorley »

I am working on the firmware for this project. FLASH code space on the MCU is limited so I put a string table in the CPLD.

If I move most of the strings to this string table then it could be translated to other languages. Is there any point though? I won't go as far as to change the menu keypresses. Changing everything is a pain though...

Comments from people who's first language is not English will be appreciated.
User avatar
1024MAK
Posts: 12782
Joined: Mon Apr 18, 2011 5:46 pm
Location: Looking forward to summer in Somerset, UK...
Contact:

Re: 27C400/800/160/320 emulator/ROM switcher

Post by 1024MAK »

Looking good :D

Definitely interested in a couple (maybe three) of the production versions :mrgreen:

Mark
cmorley
Posts: 1867
Joined: Sat Jul 30, 2016 8:11 pm
Location: Oxford
Contact:

Re: 27C400/800/160/320 emulator/ROM switcher

Post by cmorley »

1024MAK wrote: Thu Dec 12, 2019 1:01 am Looking good :D

Definitely interested in a couple (maybe three) of the production versions :mrgreen:
Thanks Mark. I will bring some assembled modules to the January ABUG.

What kit might you put one in? They ought to work as a C64 Kernal switcher for example with an appropriate pinout adapter.
User avatar
1024MAK
Posts: 12782
Joined: Mon Apr 18, 2011 5:46 pm
Location: Looking forward to summer in Somerset, UK...
Contact:

Re: 27C400/800/160/320 emulator/ROM switcher

Post by 1024MAK »

cmorley wrote: Thu Dec 12, 2019 7:04 am
1024MAK wrote: Thu Dec 12, 2019 1:01 am Looking good :D

Definitely interested in a couple (maybe three) of the production versions :mrgreen:
Thanks Mark. I will bring some assembled modules to the January ABUG.

What kit might you put one in? They ought to work as a C64 Kernal switcher for example with an appropriate pinout adapter.
Two are intended to end up in Master 128s.

I do have a number of C64 machines, a mix of the bread bin type and the later C64C. One of the C64Cs definitely works okay (as that’s the one I use occasionally). I can’t remember about the others :oops:. The trouble I have with my Commodore computers, is that I can never often not find the correct mains PSU for the model I want to use #-o

But to actually answer your question, the third would be a spare to be used if/when needed for fault finding.

Mark
cmorley
Posts: 1867
Joined: Sat Jul 30, 2016 8:11 pm
Location: Oxford
Contact:

Re: 27C400/800/160/320 emulator/ROM switcher

Post by cmorley »

I've made some good progress on the firmware over the last few days. I had to recraft a few things because I ran out of space. The bulk of the strings did end up in the CPLD FLASH memory to save space - they are loaded at boot time.

Quite a lot has been tidied up and is more robust now. There are a few features left to add - the spare output pin control is one. I might be able to squeeze in an intel HEX file parser for programming - at the moment it supports binary only.

I did put in partial programming so you can replace say a 16K chunk in an existing 128K image - mainly for editing the Master MOS ROMs without having to build a new 128MB image if one ROM is changed.

Once Christmas is over I'll finish it and send it to Tom and Daniel for testing :)

Still stacks of space in the CPLD :shock:
space.png
Tons of space in the STM32 too... a whole 780 bytes 8)
space2.png
cmorley
Posts: 1867
Joined: Sat Jul 30, 2016 8:11 pm
Location: Oxford
Contact:

Re: 27C400/800/160/320 emulator/ROM switcher

Post by cmorley »

More features in....

the advanced programming is in so you can program/erase etc parts of a ROM image with ease. Should be good for the Master where you want to swap one ROM without resorting to the console or hex editors to create a new complete image.

LED control is in.

GPIO to reset the machine from terminal is in - from both the ROM switch input (OK if machine is open collector ~RESET line) or the spare pin if you need to go inline. I need to check the schematic for the Master to know if Tom can use this straight away.

Programmed pull-ups now work - I'd forgotten about that then saw the //TODO:

I have 800 bytes free so I am going to see if I can fit an intel HEX parser into that.... just because I can :|

Edit: a quick look at the Master schematic and putting the reset clip on IC19 input pin 13 would appear to do the trick for resetting the Master from the terminal... otherwise you'd short the RESET buffer output to ground - wouldn't do much harm probably but don't need to risk it even
cmorley
Posts: 1867
Joined: Sat Jul 30, 2016 8:11 pm
Location: Oxford
Contact:

Re: 27C400/800/160/320 emulator/ROM switcher

Post by cmorley »

The software is now on v0.5 and I've sent links to all the testers.

The Intel HEX parser fit :)

I've done some cosmetic tidy up and behind the scenes tidy up so short of bug reports and cosmetic suggestions this is pretty much ready to go.

I assembled 10 modules and am just waiting on some 1uF caps to be delivered to finish them. I'll put up a sales thread in a few days if you want to get your hands on a pre-production issue D "beta" unit. Feedback from users would be good. I have some code space so can change some things it isn't set in stone yet.

Hopefully the hardware is good. This issue D is basically the finished device - there are a couple of minor things I am going to modify. The firmware is easily programmable over USB.

Production wise.... I intend to get these made by an assembly house. Not sure what the price will be yet. I need to design and build an automated test for them first. So for now there are only the hand soldered issue D PCBs.
cmorley
Posts: 1867
Joined: Sat Jul 30, 2016 8:11 pm
Location: Oxford
Contact:

Re: 27C400/800/160/320 emulator/ROM switcher

Post by cmorley »

I have checked the A3010 & A3020 schematics. They both use 27C800 (27C160 but A21 not used) pinout so these modules should work.

Probably worth a test at ABUG... not sure how useful OS switching is on an Archie but it is worth confirming it works.

I think you can rebuild RiscOS with other files/modules in can't you? Without switching you'd have 4MB to put extra stuff in. Or 2x 2MB images with switching...
User avatar
myelin
Posts: 1068
Joined: Tue Apr 26, 2016 10:17 pm
Location: Mountain View, CA, USA
Contact:

Re: 27C400/800/160/320 emulator/ROM switcher

Post by myelin »

cmorley wrote: Mon Jan 20, 2020 11:19 am Probably worth a test at ABUG... not sure how useful OS switching is on an Archie but it is worth confirming it works.

I think you can rebuild RiscOS with other files/modules in can't you? Without switching you'd have 4MB to put extra stuff in. Or 2x 2MB images with switching...
I can confirm that OS switching on an Archie is possible: I have OS switching working with Arcflash; haven't tried it out on an A3010/A3020/A4000, but I can boot my Risc PC with it (+ adapter board). sirbod's RISC OS 3.20 uses 4MB; technically I think it should be possible to get 8MB working, although that'll require soldering wires to the motherboard to buffer A22 -> LA22...
Last edited by myelin on Sun Feb 23, 2020 6:16 pm, edited 1 time in total.
SW/EE from New Zealand, now in Mountain View, CA, making Beeb/Elk/Arc hardware projects for fun.
Most interesting: Arcflash, POST Box, Ultimate Electron Upgrade
Post Reply

Return to “other vintage hardware, software and languages”