27C400/27C800 EPROM emulator

Any 8bit repairs, images, cool things, upgrades etc.
Post Reply
cmorley
Posts: 291
Joined: Tue May 28, 2019 5:46 pm

Re: 27C400/27C800 EPROM emulator

Post by cmorley »

Squirrel61 wrote: Sat Jan 18, 2020 11:32 am I'm in for 1 or 2 too. I guess the PC SALES topic hasn't been opened yet, because I couldn't find it. Maybe you can link it here as soon as you open it?
Yes, I will do this weekend.

I added low/high word skipping so you can program a linked module from a combined ROM image without splitting the image on the PC (32 bit support). Supports Motorola and Intel depending on byte swap choice.
cmorley
Posts: 291
Joined: Tue May 28, 2019 5:46 pm

Re: 27C400/27C800 EPROM emulator

Post by cmorley »

Issue D beta unit sales thread.

If you buy a beta unit please do contribute bug reports and suggestions. Withough feedback I can't improve anything. There is some ROM space left so more features/tweaks can be added/made within reason. I can help with adapter PCBs (e.g. 27C1024) if anyone wants to use it in something other than an Amiga - I have a bunch of Acorn Master adapters PCB blanks.

Chris
cmorley
Posts: 291
Joined: Tue May 28, 2019 5:46 pm

Re: 27C400/27C800 EPROM emulator

Post by cmorley »

I just ordered one of these PC motherboard style USB adapters. It should be the correct pinout for my USB header.
https://www.ebay.co.uk/itm/USB-2-0-Type ... 2749.l2649

That or a flange mount one would be idea to route out of a computer case to program in situ with the lid on.

I will make pin 4 a ground as well on Issue 1... it was NC (not connected) because I used the cheap 5 pin USB micro PCB adapters and pin 4 is the ID pin - never did work out what that is for, something to do with USB OTG I think.
cmorley
Posts: 291
Joined: Tue May 28, 2019 5:46 pm

Re: 27C400/27C800 EPROM emulator

Post by cmorley »

Issue D modules are on their way far and wide. Documentation will follow! Next weekend I am going to an Acorn Users Group meetup and so it'll be next week before I can start on comprehensive instructions.

Here are some notes to get started.

Power
Power from USB to program or ROM socket. Power is fed through diodes so USB power and target power are not directly connected.

USB
Pinout as per PC type motherboard connectors. Solder headers/wires or poke in pins on a cable (I think there is a photo of me doing that on here or stardot can't remember...). The module is in-system programmable via the USB. I use SmarTTY v3 on the PC. It is a lot faster than TeraTerm (which is a bit buggy with USB serial it seems). Not sure what my Mac testers have been using...

Connections
Default is JEDEC 27C400 style pinout. If using a Commodore Amiga 500 rev 3/5 then blob the /JEDEC jumper. A18 and A19 are on pads for 27C800/160 solder a wire to a pin and poke it in the socket (pin 1 A18, pin 42 A19 IIRC) - or poke the wire in! R is the ROM switch. Connect to /RST on most systems. If you want to use a switch then connect one to ground and enable the pull-up in the software config. SP is spare GPIO you can connect a LED (or power LED). Open drain output (active low) so 5v feeds the LED & choose a suitable series resistor for 20mA max. A17 pad also connects to the A17 pin. Don't enable pull-ups on pins connected to 5v supplies.
Data outputs are 5v CMOS so no need for pull ups on machines that normally need them with an EPROM (e.g. rev 5 Amiga 500)

32 bit
Link A18 & A19 (for 27C400 mode) between the two modules. Set one as Master and one as Slave in the menu options. Hook /RST to the Master. Master will manage the ROM switching.

Installation
Pin 1 is marked with a 1 and is the opposite end to the USB. Remember if installing in a 42 pin socket that pin 1 & 42 will be empty in the ROM socket. Try not to push on the ICs when you insert it. I put some foam under my thumbs and push on the pins (sharp without the foam!).

Removal
Carefully pry it out against the socket. I use two super cheap plastic spudgers. Lift each end 0.5mm at a time until it is free.

Menu
Fire up a terminal and press H. Module has byte swap program modes most files for emulators etc are Intel order so you'll need byteswap on 68K platforms usually. You must commit the options in the options menu after changing them - this writes them to FLASH.
Be careful in the service menu - there be dragons that could brick your module!

Config
Use the preset wizard in the option menu as this will set the correct settings for 95% of users. Commit the options to FLASH when happy (or it will forget them :|)

Speed
Should be <90ns so faster than the BITD EPROMs. The modules with the 55ns FLASH chips are faster still.

ROM switch
I've connected this to the RESET line on my machines.
>1.5s NEXT ROM image
>3s GOTO ROM 0, tap RESET n times for ROM n
>5s oops... didn't mean to change
If a LED is attached then intensity changes at the time thresholds.
Note some machines (e.g.Amiga) have a monostable on the reset so you get a 0.5s minimum reset - if tap n times doesn't seem to work try a bit slower.
You can switch from the USB menu with "w". You can set the cold boot ROM image # in the menu. You can set it to autosave the ROM number so next power on will be as per last power off.

Warning
Do NOT put it in an EPROM programmer. The A9 ID voltage and Vpp will do damage.

Adapters
So far I've done 1 adapter for an Acorn Master. Will do one for a 27C1024 pinout. I plan on making all adapters open source.
User avatar
PaulJ
Posts: 1568
Joined: Sun Apr 08, 2018 1:14 am
Location: USA

Re: 27C400/27C800 EPROM emulator

Post by PaulJ »

Hi Chris @cmorley

Question, Needing to know if the device is really programmed since the verify fails can I put the device in a programmer if I don't attempt to program it... just read it. I'm assuming that will be fine but just checking.
cmorley
Posts: 291
Joined: Tue May 28, 2019 5:46 pm

Re: 27C400/27C800 EPROM emulator

Post by cmorley »

PaulJ wrote: Mon Jan 27, 2020 5:30 pm Hi Chris

Question, Needing to know if the device is really programmed since the verify fails can I put the device in a programmer if I don't attempt to program it... just read it. I'm assuming that will be fine but just checking.
Don't do this. If you programmer tries to read the device ID it will put 12V on pin A9.

Read it out and compare the HEX.

It might be a bug or it might be my soldering. Do both modules behave identically?
PaulJ_2.0
Posts: 571
Joined: Sat May 11, 2019 11:32 pm

Re: 27C400/27C800 EPROM emulator

Post by PaulJ_2.0 »

I can confirm you can read it as a normal eprom.
I set Minipro software to AM27C4096, turned off 'Check device ID' and it was all fine.
The verifying was playing up for me too while using a long cable on USB3 and I read the contents and it was all garbled, so I would change cable/port if the same is occuring.
User avatar
PaulJ
Posts: 1568
Joined: Sun Apr 08, 2018 1:14 am
Location: USA

Re: 27C400/27C800 EPROM emulator

Post by PaulJ »

cmorley wrote: Mon Jan 27, 2020 5:36 pm
PaulJ wrote: Mon Jan 27, 2020 5:30 pm Hi Chris

Question, Needing to know if the device is really programmed since the verify fails can I put the device in a programmer if I don't attempt to program it... just read it. I'm assuming that will be fine but just checking.
Don't do this. If you programmer tries to read the device ID it will put 12V on pin A9.

Read it out and compare the HEX.

It might be a bug or it might be my soldering. Do both modules behave identically?
Don't have a second set of connector pins for second. I was assuming view command read out binary but it hangs. Is there a command to read binary out and display as hex?
cmorley
Posts: 291
Joined: Tue May 28, 2019 5:46 pm

Re: 27C400/27C800 EPROM emulator

Post by cmorley »

PaulJ wrote: Mon Jan 27, 2020 5:44 pm Don't have a second set of connector pins for second. I was assuming view command read out binary but it hangs. Is there a command to read binary out and display as hex?
Yes that is what view should do. The number is terminated with a carriage return as I read it with fgets. e.g. i0<CR>

e.g.
Command: view 27C160 (2048KB)
Offset into ROM? [0x]digits[K|M]
000000 11 11 4e f9 00 fc 00 d2 ..N.....
000008 00 00 ff ff 00 22 00 05 ....."..
000010 00 22 00 02 ff ff ff ff ."......
000018 65 78 65 63 20 33 34 2e exec 34.
000020 32 20 28 32 38 20 4f 63 2 (28 Oc
000028 74 20 31 39 38 37 29 0d t 1987).
000030 0a 00 00 00 ff ff ff ff ........
000038 0d 0a 0a 41 4d 49 47 41 ...AMIGA
000040 20 52 4f 4d 20 4f 70 65 ROM Ope
000048 72 61 74 69 6e 67 20 53 rating S
000050 79 73 74 65 6d 20 61 6e ystem an
000058 64 20 4c 69 62 72 61 72 d Librar
000060 69 65 73 0d 0a 43 6f 70 ies..Cop
000068 79 72 69 67 68 74 20 28 yright (
000070 43 29 20 31 39 38 35 2c C) 1985,
000078 20 43 6f 6d 6d 6f 64 6f Commodo
000080 72 65 2d 41 6d 69 67 61 re-Amiga
000088 2c 20 49 6e 63 2e 0d 0a , Inc...
000090 41 6c 6c 20 52 69 67 68 All Righ
000098 74 73 20 52 65 73 65 72 ts Reser
0000a0 76 65 64 2e 0d 0a 00 00 ved.....
0000a8 65 78 65 63 2e 6c 69 62 exec.lib
0000b0 72 61 72 79 00 00 4a fc rary..J.
0000b8 00 fc 00 b6 00 fc 32 76 ......2v
0000c0 00 22 09 78 00 fc 00 a8 .".x....
space for more

You can use DUMP to dump the whole hex file as well. I suspect that module is damaged.
User avatar
PaulJ
Posts: 1568
Joined: Sun Apr 08, 2018 1:14 am
Location: USA

Re: 27C400/27C800 EPROM emulator

Post by PaulJ »

I believe it maybe bad.. it thinks its writing an image and immediately fails on verify saying the rom has 0xff.
Command: program 27C160 (2048KB)
Size? 1=128KB? 2=256KB? 5=512KB? 4=1024KB? 0=2048KB
Byte swap? y/n
slot 0, filesize 262144, byteswap 0
Erase, done
Address=000000,1fffff
Send binary
262144/262144
Took 12.633s

OK
Command: verify 27C160 (2048KB)
Size? 1=128KB? 2=256KB? 5=512KB? 4=1024KB? 0=2048KB
Byte swap? y/n
slot 0, filesize 262144, byteswap 0
Address=000000,1fffff
Send binary

Mismatch offset=000000, file=60 ROM=ff

FAILED -1

Command: dump as Intel HEX 27C160 (2048KB)
Size? 8=8KB? s=16KB? 3=32KB? 6=64KB? 1=128KB? 2=256KB? 5=512KB? 4=1024KB? 0=2048KB
:020000040000FA
:10000000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF00
:10001000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0
:10002000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE0
:10003000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFD0
:10004000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC0
:10005000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFB0


Unless there is something else Needed it maybe bad. Still looks like an erased device.
Post Reply

Return to “8 BIT CORNER”