Reverse Engineering an ImageWriter II LocalTalk Card
BOM
- CPU: California Micro Devices G65SC02P
- SCC: Zilog Z0853004PSC
- RAM: Hyundai 6264LP-10 (8kx8)
- ROM: Apple Mask ROM, (8kx8)
- Oscillator: 3.6864 MHz
- EEPROM: Xicor X2444P 16 bit x 16 SRAM/EEPROM
Memory Map
(Augmented with information from https://jbevren.wordpress.com/2016/06/01/a-simple-network-card/)
0x0000 - 0x1FFF SRAM
0x2000 - 0x3FFF ???
0x4000 - 0x5FFF u6:11 (74LS374 /load) (addressed as 0x4000) Bus Write
0x6000 - 0x7FFF u5:1 (74LS374 /oe) (addressed as 0x6000) Read Status bits
0x8000 - 0x9FFF u7:1 (74LS374 /oe) (addressed as 0x8000) Bus Read
0xA000 - 0xBFFF u2:33 (SCCD /cs) (addressed as 0xA000 - 0xA003)
0xC000 - 0xDFFF
0xE000 - 0xFFFF ROM
74LS138
0 RAM
1 ???
2
3
4
5
6
7 ROM
Connector
1 GND
2 GND
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25 +5V
26 +5V
Stuff
The SCC has two channels, but the connection to the printer is via a parallel interface, so that leaves one SCC channel unused. From preliminary examination of the firmware, the second channel appears to be in use, I suspect it’s being used in synchronous mode to talk to the X2444P.
Also, some of the unused flow control pins on the SCC might be getting used as GPIO; there is some code that appears to be checking the status of the CTS signal before writing out to the parallel port.