summaryrefslogtreecommitdiff
path: root/content/hardware/imc-2001.md
blob: bc890656bd3f47afa3077d98bd4b62ba4fe83b60 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
+++
title = "IMC-2001"
+++

# IMC-2001

This is an old Taiwanese Apple \]\[ / CP/M clone. 

# Status

Trying to fix several issues:

- the 5V rail is on 4.5V now, causing issues with the keyboard (the
  length of the cable) and with the paddles. Not clear, whether this
  is the PSU (which is also showing 4.7V without load) or something
  on the motherboard.
- the keyboard beeps and issues '=' and '/' characters when connected
  to a longer serial cable, no problems when connecting the botched
  wire from the old connector on the keyboard PCB directly to the
  computer. Some shielding or capacitance issue? It also appeared
  only after playing with the paddle connectors.
- the new paddle connector with DIN-5 connectors works somewhat with
  paddle 0, though the nob is not totally up when on 255. This indicates
  again a capacitance issue, probably with the cable itself?
- two new teac drives turned out to have the very wrong connector for
  an Apple \]\[ disk controller, some adapted has to be designed and
  a PCB has to be printed.
- strange issues with floppy images not working in LinApple or also
  not on the real computer, always bailing out in the monitor in strange
  locations. Used Fluxengine and ADTPro to get images, they are identical.
  Checked the RAM of the machine, no errors. Must investigate if boot
  addresses are the issue (48k floppy masters not working on 64 or similar
  issues)
- HGR shows a line on row 0 only partially. This could be an adjustment issue
  of the CRT image or also bad RAM.
- the CRT shows some flickering and diagonal effects. Testing on an old TV
  shows the same issue (so I suspect it's some grounding/shielding issue
  with the new PSU).
- the CRT is producing some flickering when turning the brightness nob,
  this should be fixable with some deoxit.
- the second floppy drive (the more used one) now sees floppies always as
  "write protected". Diagnostic tests show alignment issues of the drive, this
  could be true, or the clone always had a different alignment than a default
  Apple 2 drive?
- the paddle wire is self-made on paddle 1 and quit a mess. Doing a rewire
  with DIN-5 connectors which then lead to a 9-pin DSUB-Apple ][ standard
  joystick connector, which will go to the 16-pin DIP socket on the motherboard.
  The original joystick connector has a completely weird layout and is not usable
  (it has no Apple 2 layout)
- really bad design to connect DIP 2x8 cables of the joystick and the paddles
  directly on the motherboard, you pull the cable a little bit too much and
  you tar out half of the motherboard.
- possibly much more

Fixed issues:

- ~~the paddle and the joystick connectors miss some legs for putting them into
  the sockets on the motherboard~~. No essential pins are missing, will
  rework this anyway as a 8x2 DIP to 9-DSUB, from there to an adapter
  where you can connect 2 DIN-5 cables, needs rewiring of both paddles.
- ~~paddle 0 seems to be a little bit shacky (the button works unreliably)~~.
  DeOxit in the button helped. Works much better now.
- ~~the lever moving the contacts between 40-character and 80-character
  mode for the CRT output is corroded, doesn't always make contact
  and produces a flickering image~~. The box is heavily sealed and there
  is no easy way to fix it. Using an audio switch box for switching modes now
  (the cables are standard audio-like cinch connectors).
- ~~the floppy drives read floppies (both) but they don't write to floppies
  (when copying in CP/M or creating a file), they work when formatting
  a drive on CP/M though. ~~Could be a side-effect of the PSU not working properly.~~
  The PSU has been replaced, the voltages look ok, so I rule out the PSU.
  Could be some missing code in the Apple ROM (but that would be weird to
  call 6502 firmware code from the Z80 CPU). It could also be the write
  current being to low for writting (but why does formatting a drive work then?!)~~
  So, yes. DOS 3.3 and CP/M both use some ROM routines from ROM1 to write to disk.
  Works now.
- ~~floppies written read/written with Fluxengine don't really work either
  on the real hardware or the emulator. Suspecting a encoding/decoding issue.~~
  Updating Fluxengine solved the issue, also choosing 96dpi 5 1/4" for the real
  floppy drive. :-)
- ~~the keyboard reset line cannot be taken to ground on the keyboard, works
  with shrtening ground and reset though just fine. Must be a bug on the
  ICs of the keyboard controller or a broken trace.~~ Fixed with a botch
  to bridge the broken ribbon cable between keyboard matrix and the PCB with
  the controller logic.
- ~~ROM 1 with BASIC is broken (and gets really hot). This explains
  the booting issues.. (will be tricky to get a replacement). The
  board layout doesn't fit to the original ROM sizes too..~~
  Got an AT28C256, no more frying of chips, Apple Basic prompt appears,
  tested some commands and it seems fine. The 32k ROM has to be filled in
  starting from 0x6000 with #E000-$EFFF and from $7000 with $D000-$DFFF.
  If this ROM is ok we will see.
- Reseated and deoxied all ICs, some of them were quite corroded, at
  least 3 more turned out to be bad. ~~Sadly it didn't have an effect on
  ROM 1 not getting hot (must be something else).~~ The new replacement
  ROM works fine and doesn't get hot. So I actually blame it on the ROM
  itself causing the other ICs to fry and not vice-versa.
- ~~power switch made some hissing noises, it was not the switch, now
  the original power is dead (and some transformers are humming). Ordered
  a Apple 2 replacement PSU, waiting for it..~~
  The new replacement power supply works like a charm, also replaced
  the power switch, the old one was too unreliable.
- ~~sometimes I get into the monitor~~
- ~~lower-nibble bit 3 of the key
  being pressed is missing, unclear where it is lost, I suspect a
  bad register on the motherboard holding the current ASCII value of
  the key pressed or something similar~~. Replaced a bad 74LS257N,
  works now just fine.

Not fixed issues:

- ~~The 220V fan no longer works.~~
  I just disconected it, I don't think, it really helps to cool the system.

Known things to work:

- The keyboard works electronically (8039 MCS-48 like CPU with a 2K EPROM),
  has a new serial cable now and is fully functional
- the Rockwell R6502 CPU has a phase 0 clock and seems to go through
  address lines and output data (another strong indicator is the 'Apple \]\['
  sign on the monitor when switching on which indicates 6502, 40-character
  ROM, video circuit seems to be just fine).
- Monitor is working just fine (which is sort of amazing for such an old
  CRT monitor).
- I can boot from a Apple \]\[ CP/M 56k floppy and I get a prompt, now
  as the keyboard works and the CP/M on the 80-character card I can also
  assume the Z80 is working just fine.
- the 80-columns card (a Videx Videoterm or rather a clone of it) works just fine.
- the highres graphic mode works just fine, I can run "Peter Anvin Chess" and play it.
- Applesoft BASIC works fine
- the new Super Serial Card II I got works fine, though it looses characters
  (without parity and adding some delay in minicom). Definitely usable.
  
# Images

From the outside:

{{< figure src="/images/hardware/imc-2001/computer_full.jpg" alt="IMC-2001" >}}

Booting into Apple \]\[ CP/M 56k:

{{< figure src="/images/hardware/imc-2001/cpm_40chars.jpg" alt="IMC-2001" >}}

The motherboard and floppy drives:

{{< figure src="/images/hardware/imc-2001/motherboard_internal.jpg" alt="IMC-2001" >}}

Keyboard layout:

{{< figure src="/images/hardware/imc-2001/keyboard_front.jpg" alt="keyboard layout" >}}

Keyboard has a 8039 CPU inside and a 2K EPROM:

{{< figure src="/images/hardware/imc-2001/keyboard_pcb_controller_prom.jpg" alt="PCB and controller" >}}

On the oscilloscope:

{{< figure src="/images/hardware/imc-2001/oscilloscope_serial_keyboard.jpg" alt="serial keyboard signal" >}}

Broken keyboard cable (the black pins are just connectors added by me to test connectivity,
both connector are female per default):

{{< figure src="/images/hardware/imc-2001/keyboard_cable.jpg" alt="PCB and controller" >}}

Old PSU:

{{< figure src="/images/hardware/imc-2001/old_psu.jpg" alt="New PSU" >}}

New PSU replacing the old crusty one (this is a standard replacement PSU for
Apple \]\[ from [Reactive Micro](https://wiki.reactivemicro.com/Universal_PSU_Kit)):

{{< figure src="/images/hardware/imc-2001/new_psu.jpg" alt="New PSU" >}}

# Documentation

This is the "Operation Manual for IMC-2001, version 2.01":

{{< figure src="/images/hardware/imc-2001/manual_frontpage.jpg" alt="manual frontpage" >}}

[The complete scanned manual](/hardware/imc-2001/manual_imc_2001_2.01.pdf)
(also on archive.org, see [https://archive.org/details/manual_imc_2001_2.01](https://archive.org/details/manual_imc_2001_2.01))

# Super Serial Card

I got a super serial card from Ebay, the documentation of it can be
found here [https://archive.org/details/Apple_II_Super_Serial_Card_1981_Apple](https://archive.org/details/Apple_II_Super_Serial_Card_1981_Apple).

# Schematics

Power connector on the motherboard:

```
O O O O O O
| | | | | +--- GND   black
| | | | +----- +12V  red
| | | +------- -5V   blue
| | +--------- -12V  brown
| +----------- +5V   white
+------------- +5V   white
```

keyboard cable connectors:

connector to machine (sort of a gummy version of a DB-9):

computer has a 9-pin DSUB connector male:

```
  +-----------    white  INTR
  | +---------    black  GND
  | | +-------    green  DATA
  | | | +-----    blue   RESET
  | | | | +---    Yellow CLOCK
-------------
\ O O O O O /
 \ O O O O /
  ---------
   | | | +----    red    5V
   | | +------    n.c.
   | +--------    n.c.
   +----------    n.c.
```   

On the keyboard PCB there is a strange white connector with the following layout:

```
    +------------- white   INTR (active low, after last clock tick)
    | +----------- black   GND
    | | +--------- blue    RESET (active low)
    | | | +------- green   DATA
    | | | | +----- yellow  CLOCK
    | | | | | +--- red     +5V
   +-----------+
   |o o o o o o|
   +-----------+
   |           |
```

# Links

* [Mention of the IMC-2001](http://www.epocalc.net/php/liste_models.php?texte=&look=All+fields&yearmax=2018&nocomp=pc&cat=Apple+2+clone):
  mentions it on the list of Apple clones
* [Youtube video of similar machine](https://www.youtube.com/watch?v=c7crlJg80Zg):
  "APPLE II CLONE + CP/M ------- IMC 2001 made in taiwan.--------", Retro Computacion Argentina Jorge E. Nuviola