FLASH 23C1000: Difference between revisions
(33 intermediate revisions by the same user not shown) | |||
Line 1: | Line 1: | ||
=Summary= | =Summary= | ||
Adapter board to use a flash chip for the system rom in a NEC PC-8300. | Adapter board to use a flash chip for the system rom in a NEC PC-8300, PC-8401, PC-8500, or anything else that has a 23C1000 mask rom. | ||
<gallery> | <gallery> | ||
FLASH_23C1000_01.jpg | |||
<!-- | FLASH_23C1000_02.jpg | ||
<!-- | FLASH_23C1000_03.jpg | ||
FLASH_23C1000_04.jpg | |||
<!-- FLASH_23C1000_05.jpg --> | |||
<!-- FLASH_23C1000_06.jpg --> | |||
FlashROM_8300_04.jpg | FlashROM_8300_04.jpg | ||
FlashROM_8300_05.jpg | FlashROM_8300_05.jpg | ||
Line 21: | Line 24: | ||
</gallery> | </gallery> | ||
PCB: https://oshpark.com/shared_projects/ | PCB: [https://oshpark.com/shared_projects/sD1Clmi9 OSHPark] or [https://www.pcbway.com/project/shareproject/FlashROM_8300.html PCBWAY] | ||
<!-- 28-pin version | <!-- 28-pin version | ||
Line 29: | Line 32: | ||
Source: https://github.com/bkw777/aDIPters | Source: https://github.com/bkw777/aDIPters | ||
=ROM images= | |||
:NEC PC-8300 system rom: [[File:831000-438.bin]] | |||
:NEC PC-8300 system rom, Y2K patched: [[File:831000-438-y2k.bin]] (See [[Model_T_Y2K]]) | |||
<!-- | |||
:NEC PC-8401 system rom: [[File:PC-8401_IC24.bin]] --> | |||
:NEC PC-8500 system rom: [[File:PC-8500_IC9.bin]] | |||
=Directions= | |||
==Build== | |||
See [[FlexROM_100]] to see how to do the dip legs.<br> | |||
Search youtube for "drag solder" to see how to solder the TSOP legs with an ordinary soldering iron. | |||
Suggest installing parts in this order: | |||
# Legs - The holes for the the legs are intentionally small and a fairly close fit on the legs. The legs should be installed first to avoid the problem where if you accidentally get solder in some of the holes while soldering the other parts near by, it can be difficult to wick the holes clean enough to insert the legs after that without vacuum. | |||
# R1, R2 | |||
# TSOP or PLCC chip | |||
# Jumper pins - Flush-cut the posts on the bottom of the board after soldering. | |||
You don't install R3 usually. It is for VPP on pin 1, to support EEPROM/EPROM devices that have a VPP pin. These are all old devices that aren't made any more, but you can still buy used and new-old-stock. Don't install R3 if you're using the SST39SF010A part in the BOM linked above, or any 29 or 39 series flash chip. But if you happen to already have a 28F010, 28SF010, 27SF010, 27C010 etc, you can use it instead of the 39SF010, and if so, you need to install R3. 47K the same as the others. | |||
==Program== | |||
Requirements: | |||
* eprom programmer, such as TL-866 | |||
<!-- No matter which chip or which package type you use on the board, when the jumper is in the PRG position the board provides a pinout on the DIP legs that matches the PLCC version of the chip. --> | |||
To program the chip, | |||
* Move the jumper to PRG | |||
* Put the board into a programmers' ZIF socket | |||
minipro -p "SST39SF010A" -w 831000-438-y2k.bin | |||
==Install== | |||
Move the jumper to RUN | |||
Put the board in the 23C1000 socket, with pins 3-30 in the socket, and pins 1,2,31,32 hanging off the end of the socket. | |||
:ROM0 in PC-8300, IC24 in PC-8401, IC9 in PC-8500 | |||
:for PC-8401, cut pin 1 a little short so that it doesn't touch R65, or use the DIP-28 version of the board (see FLASH_23C1000_DIP28 from github.com/bkw777/aDIPters) | |||
For PC-8300, press Shift-CTRL-Reset to hard-reset the PC-8300 to force it to load the new rom, including re-reading the one-time power-on defaults. If the date says 2000, then you got it. If the date says 1983 or 2083, then you didn't do a full reset (assuming the y2k-patched rom image). | |||
=References= | =References= | ||
Datasheet for the 23C1000 mask rom: | |||
:[[File:UPD23C1000A.pdf | :[[File:UPD23C1000A.pdf]] | ||
:[[File:MX23C1000.pdf]] | |||
NEC PC-8300, PC-8401, and PC-8500 computers use a 23C1000 mask rom for the system rom. | |||
23C1000 is an unusual 128K mask rom in a DIP-28 package. A 128K device usually requires 32 pins. 23C1000 fits into a 28 pin package by using the Vpp and /OE pins for A15 and A16 instead. A mask rom is not writable so the Vpp pin is usually NC on other mask roms, and this chip has a single /CE pin instead of both /CE and /OE. | |||
NEC 27C1000 / Hitachi HN27C301 are writable 32-pin devices that are almost fully pin-compatible with 23C1000. Pins 3-30 are almost the the same as pins 1-28 on the 23C1000. To use NEC 27C1000 or HN27C301 in place of 23C1000: Plug in place of a 23C1000, leaving pins 1,2,31,32 hanging off the end of the DIP-28 socket. Bodge-wire pin 2 (/OE) to either GND or pin 22 (/CE). Bodge-wire pin 32 to pin 30 (Deliver VCC from socket pin 28 to chip pin 32. Chip pin 30 is NC inside the chip, so it's ok to be connected to VCC). But these parts are no longer made and not easy to find today. | |||
This adapter board allows to use a wide range of more common and even still manufactured parts in place of the 23C1000. | |||
Pinout comparison between 23C1000 and some other devices:<br> | |||
''' | |||
+-----------------------------------------+------ MX27C1000 / 27C010 / 28F010 / *(29F010) | |||
| +------------------------------+---- | ----- NEC 27C1000 / Hitachi HN27C301 | |||
| | +------------+------- | --- | ----- 23C1000 (NEC uPD23C1000, NEC D23C1000C, Macronix MX23C1000) | |||
| | | | | | | |||
| | | | | | | |||
| | | |||
*(NC) VPP 1 | | 32 VCC | |||
A16 OE/ 2 31 PGM/ | |||
3 A15 1 28 VCC 30 NC | |||
4 A12 2 27 A14 29 | |||
5 A7 3 26 A13 28 | |||
6 A6 4 25 A8 27 | |||
7 A5 5 24 A9 26 | |||
8 A4 6 23 A11 25 | |||
9 A3 7 22 A16 24 OE/ | |||
10 A2 8 21 A10 23 | |||
11 A1 9 20 CE/ 22 | |||
12 A0 10 19 D7 21 | |||
13 D0 11 18 D6 20 | |||
14 D1 12 17 D5 19 | |||
15 D2 13 16 D4 18 | |||
16 GND 14 15 D3 17 | |||
''' | |||
* MX27C1000, 27C010, 28F010, pin 1 is Vpp | |||
:29F010 (SST39SF010A, GLS29EE010, AM29F010, AM29EE010, ...) pin 1 is NC | |||
:Otherwise same pinout between all. | |||
Macronix MX27C1000 is standard jedec 27C010 pinout, not like NEC 27C1000 | |||
<!-- | |||
Old reference about pin-compatible parts: | Old reference about pin-compatible parts: | ||
:https://www.web8201.net/Files/LIBRARY_web8201/NECPC8300_System_ROM_EPROM_Replacement.html | :https://www.web8201.net/Files/LIBRARY_web8201/NECPC8300_System_ROM_EPROM_Replacement.html | ||
--> | |||
Compatible flash chips that can be used on this board | Compatible flash/eeprom/eprom chips that can be used on this board: | ||
: | |||
: | Without R3 installed: | ||
: | :39SF010 https://www.digikey.com/short/z88hb8 | ||
:29SF010 | |||
:29EE010 https://mou.sr/39tR5zu | |||
:29F010 | |||
:28C010 | |||
With R3 installed (10k-47K): | |||
:28F010 | |||
:27SF010 | |||
:27C010 | |||
Any speed and any temperature range is ok. | Any speed and any temperature range is ok. | ||
Line 54: | Line 146: | ||
Any TSOP32 or PLCC32(7x9) package is ok. | Any TSOP32 or PLCC32(7x9) package is ok. | ||
=ROM | ==TO READ A 23C1000 MASK ROM in a TL-866 programmer== | ||
Minipro does not recognize 23C100, nor either of the pin-compatible NEC 27C1000 or Hitachi HN27C301.<br> | |||
It does know about several 27C010 devices.<br> | |||
It's only a small change to convert the 23C1000 mask rom pinout to a generic 27C010 pinout. | |||
Parts: 28 female-female dupont jumper wires. 2 single row male pin headers, 18 to 20 pins each. | |||
1: Clamp the male pin headers in the programmer zif socket and connect all 28 chip pins to the zif socket 1-to-1 like normal, except shifted down 2 positions, so that chip pin 1 goes to to zif pin 3, chip pin 28 goes to zif pin 38, etc. | |||
2: At the zif socket, move the wire for chip pin 28 (VCC) from zif pin 38 (DIP-32 pin 30) to zif pin 40 (DIP-32 pin 32) | |||
3: At the zif socket, move the wire for chip pin 22 (A16) from zif pin 28 (DIP-32 pin 24) to zif pin 2 (DIP-32 pin 2) | |||
4: Tell minipro to read a generic 27C010 eprom. | |||
minipro -y -p "27C010@DIP32" -r rom.bin | |||
Latest revision as of 19:31, 10 May 2021
Summary
Adapter board to use a flash chip for the system rom in a NEC PC-8300, PC-8401, PC-8500, or anything else that has a 23C1000 mask rom.
BOM: https://www.digikey.com/short/z8293n
Source: https://github.com/bkw777/aDIPters
ROM images
- NEC PC-8300 system rom: File:831000-438.bin
- NEC PC-8300 system rom, Y2K patched: File:831000-438-y2k.bin (See Model_T_Y2K)
- NEC PC-8500 system rom: File:PC-8500 IC9.bin
Directions
Build
See FlexROM_100 to see how to do the dip legs.
Search youtube for "drag solder" to see how to solder the TSOP legs with an ordinary soldering iron.
Suggest installing parts in this order:
- Legs - The holes for the the legs are intentionally small and a fairly close fit on the legs. The legs should be installed first to avoid the problem where if you accidentally get solder in some of the holes while soldering the other parts near by, it can be difficult to wick the holes clean enough to insert the legs after that without vacuum.
- R1, R2
- TSOP or PLCC chip
- Jumper pins - Flush-cut the posts on the bottom of the board after soldering.
You don't install R3 usually. It is for VPP on pin 1, to support EEPROM/EPROM devices that have a VPP pin. These are all old devices that aren't made any more, but you can still buy used and new-old-stock. Don't install R3 if you're using the SST39SF010A part in the BOM linked above, or any 29 or 39 series flash chip. But if you happen to already have a 28F010, 28SF010, 27SF010, 27C010 etc, you can use it instead of the 39SF010, and if so, you need to install R3. 47K the same as the others.
Program
Requirements:
- eprom programmer, such as TL-866
To program the chip,
- Move the jumper to PRG
- Put the board into a programmers' ZIF socket
minipro -p "SST39SF010A" -w 831000-438-y2k.bin
Install
Move the jumper to RUN
Put the board in the 23C1000 socket, with pins 3-30 in the socket, and pins 1,2,31,32 hanging off the end of the socket.
- ROM0 in PC-8300, IC24 in PC-8401, IC9 in PC-8500
- for PC-8401, cut pin 1 a little short so that it doesn't touch R65, or use the DIP-28 version of the board (see FLASH_23C1000_DIP28 from github.com/bkw777/aDIPters)
For PC-8300, press Shift-CTRL-Reset to hard-reset the PC-8300 to force it to load the new rom, including re-reading the one-time power-on defaults. If the date says 2000, then you got it. If the date says 1983 or 2083, then you didn't do a full reset (assuming the y2k-patched rom image).
References
Datasheet for the 23C1000 mask rom:
NEC PC-8300, PC-8401, and PC-8500 computers use a 23C1000 mask rom for the system rom.
23C1000 is an unusual 128K mask rom in a DIP-28 package. A 128K device usually requires 32 pins. 23C1000 fits into a 28 pin package by using the Vpp and /OE pins for A15 and A16 instead. A mask rom is not writable so the Vpp pin is usually NC on other mask roms, and this chip has a single /CE pin instead of both /CE and /OE.
NEC 27C1000 / Hitachi HN27C301 are writable 32-pin devices that are almost fully pin-compatible with 23C1000. Pins 3-30 are almost the the same as pins 1-28 on the 23C1000. To use NEC 27C1000 or HN27C301 in place of 23C1000: Plug in place of a 23C1000, leaving pins 1,2,31,32 hanging off the end of the DIP-28 socket. Bodge-wire pin 2 (/OE) to either GND or pin 22 (/CE). Bodge-wire pin 32 to pin 30 (Deliver VCC from socket pin 28 to chip pin 32. Chip pin 30 is NC inside the chip, so it's ok to be connected to VCC). But these parts are no longer made and not easy to find today.
This adapter board allows to use a wide range of more common and even still manufactured parts in place of the 23C1000.
Pinout comparison between 23C1000 and some other devices:
+-----------------------------------------+------ MX27C1000 / 27C010 / 28F010 / *(29F010) | +------------------------------+---- | ----- NEC 27C1000 / Hitachi HN27C301 | | +------------+------- | --- | ----- 23C1000 (NEC uPD23C1000, NEC D23C1000C, Macronix MX23C1000) | | | | | | | | | | | | | | *(NC) VPP 1 | | 32 VCC A16 OE/ 2 31 PGM/ 3 A15 1 28 VCC 30 NC 4 A12 2 27 A14 29 5 A7 3 26 A13 28 6 A6 4 25 A8 27 7 A5 5 24 A9 26 8 A4 6 23 A11 25 9 A3 7 22 A16 24 OE/ 10 A2 8 21 A10 23 11 A1 9 20 CE/ 22 12 A0 10 19 D7 21 13 D0 11 18 D6 20 14 D1 12 17 D5 19 15 D2 13 16 D4 18 16 GND 14 15 D3 17
- MX27C1000, 27C010, 28F010, pin 1 is Vpp
- 29F010 (SST39SF010A, GLS29EE010, AM29F010, AM29EE010, ...) pin 1 is NC
- Otherwise same pinout between all.
Macronix MX27C1000 is standard jedec 27C010 pinout, not like NEC 27C1000
Compatible flash/eeprom/eprom chips that can be used on this board:
Without R3 installed:
- 39SF010 https://www.digikey.com/short/z88hb8
- 29SF010
- 29EE010 https://mou.sr/39tR5zu
- 29F010
- 28C010
With R3 installed (10k-47K):
- 28F010
- 27SF010
- 27C010
Any speed and any temperature range is ok.
Any TSOP32 or PLCC32(7x9) package is ok.
TO READ A 23C1000 MASK ROM in a TL-866 programmer
Minipro does not recognize 23C100, nor either of the pin-compatible NEC 27C1000 or Hitachi HN27C301.
It does know about several 27C010 devices.
It's only a small change to convert the 23C1000 mask rom pinout to a generic 27C010 pinout.
Parts: 28 female-female dupont jumper wires. 2 single row male pin headers, 18 to 20 pins each.
1: Clamp the male pin headers in the programmer zif socket and connect all 28 chip pins to the zif socket 1-to-1 like normal, except shifted down 2 positions, so that chip pin 1 goes to to zif pin 3, chip pin 28 goes to zif pin 38, etc.
2: At the zif socket, move the wire for chip pin 28 (VCC) from zif pin 38 (DIP-32 pin 30) to zif pin 40 (DIP-32 pin 32)
3: At the zif socket, move the wire for chip pin 22 (A16) from zif pin 28 (DIP-32 pin 24) to zif pin 2 (DIP-32 pin 2)
4: Tell minipro to read a generic 27C010 eprom.
minipro -y -p "27C010@DIP32" -r rom.bin