summaryrefslogtreecommitdiff
path: root/content/hardware
diff options
context:
space:
mode:
Diffstat (limited to 'content/hardware')
-rw-r--r--content/hardware/_index.md8
-rw-r--r--content/hardware/book8088-status-todos.md21
-rw-r--r--content/hardware/book8088.md18
-rw-r--r--content/hardware/imc-2001-chargen40.md90
-rw-r--r--content/hardware/imc-2001-documentation.md18
-rw-r--r--content/hardware/imc-2001-firmware.md185
-rw-r--r--content/hardware/imc-2001-images.md20
-rw-r--r--content/hardware/imc-2001-keyboard.md58
-rw-r--r--content/hardware/imc-2001-links.md19
-rw-r--r--content/hardware/imc-2001-power.md26
-rw-r--r--content/hardware/imc-2001-status-todos.md133
-rw-r--r--content/hardware/imc-2001.md18
12 files changed, 614 insertions, 0 deletions
diff --git a/content/hardware/_index.md b/content/hardware/_index.md
new file mode 100644
index 0000000..ef4be4e
--- /dev/null
+++ b/content/hardware/_index.md
@@ -0,0 +1,8 @@
++++
+title = "Hardware"
++++
+
+A (not so curated) list of "old" hardware I own:
+
+- [IMC-2001](/hardware/imc-2001): Taiwanese Apple \]\[ / CP/M clone
+- [Book8088](/hardware/book8088): Modern 8088 XT-style laptop PC
diff --git a/content/hardware/book8088-status-todos.md b/content/hardware/book8088-status-todos.md
new file mode 100644
index 0000000..b02ba5e
--- /dev/null
+++ b/content/hardware/book8088-status-todos.md
@@ -0,0 +1,21 @@
++++
+title = "Book8088 Status and Todo List"
++++
+
+# Todos
+
+Trying to fix several issues:
+
+- Minix 2.0.4: has some weird issues around IRQ handling. It gets stuck
+ in readclock (I suspect after every IRQ, because it happens also when
+ using sleep - which needs a hardware clock interrupt - and when printing
+ to serial). The CF uses _no_ interrupt, this explains why Minix 2 is
+ booting at all.
+
+# things known to work
+
+- DOS 6.22 with mTCP network stack and a NE2000 Kinston card
+- Mini 1.7 boots and runs just fine
+- Booting XT-IDE serially with DOS image
+- Booting Minix 2.0 over serial using the Linux version of serdrive
+ from XT-IDE
diff --git a/content/hardware/book8088.md b/content/hardware/book8088.md
new file mode 100644
index 0000000..ee06868
--- /dev/null
+++ b/content/hardware/book8088.md
@@ -0,0 +1,18 @@
++++
+title = "Book 8088"
++++
+
+{{< figure src="/images/hardware/book8088/book8088.jpg" alt="Book8088" >}}
+
+This is a modern clone of a IBM PC (XT), with a NEC V20 CPU, compact flash,
+VGA graphics, serial and parallel connector and a USB connector (which mainly
+serves as mass storage device). It has 640k of RAM (yes exactly 640k). It runs
+in 4 or 8 MHz speed (turbo mode). You can also connect 8-bit ISA-cards over
+an ISA-bus extender with 3 slots (though this renders the laptop much less
+portable).
+
+It runs the [8088 BIOS](https://github.com/skiselev/8088_bios) not the Chinese
+pirated one. This one also includes the [XT-IDE](https://www.xtideuniversalbios.org/)
+disk BIOS for the compact flash or serial disk drive.
+
+- [Status and Todos](/hardware/book8088-status-todos)
diff --git a/content/hardware/imc-2001-chargen40.md b/content/hardware/imc-2001-chargen40.md
new file mode 100644
index 0000000..84bf54a
--- /dev/null
+++ b/content/hardware/imc-2001-chargen40.md
@@ -0,0 +1,90 @@
++++
+title = "IMC-2001 40 character mode"
++++
+
+{{< figure src="/images/hardware/imc-2001/chargen.png" alt="character in the 40-char ROM" >}}
+
+*A4-A6* on the schematics is the character ROM in a chip labelled
+UMC UM2316-J127 8432, it is Intel 2716 EPROM compatible chip it seems.
+
+It can be read with the TL866 and returns the following 2K dump:
+
+[chargen.rom](/hardware/imc-2001/chargen.rom): Chargen 40-column ROM
+
+The official ROM
+[3410036.BIN](http://www.applelogic.org/APPLEASICs.html) on
+http://www.applelogic.org/APPLEASICs.html doesn't match
+at all. The arangement of the characters is different and there are
+lowercase characters in the clone ROM.
+
+I wrote a small program to show the contents of chargen.rom:
+
+```
+#!/usr/bin/tcc -run -Werror -DSDL_DISABLE_IMMINTRIN_H -I/usr/include/SDL2 -lSDL2
+
+#include <stdio.h>
+#include <stdlib.h>
+#include <SDL.h>
+
+int main( int argc, char *argv[] )
+{
+ FILE *f = fopen( "./chargen.rom", "r" );
+ char *buf = malloc( 2 * 1024 );
+ fread( buf, 2 * 1024, 1, f );
+
+ SDL_Renderer *renderer;
+ SDL_Window *window;
+
+ SDL_Init( SDL_INIT_VIDEO );
+ SDL_CreateWindowAndRenderer( 300, 200, 0, &window, &renderer );
+ SDL_SetRenderDrawColor( renderer, 0, 0, 0, 0 );
+ SDL_RenderClear( renderer );
+ SDL_SetRenderDrawColor(renderer, 0xFF, 0xB0, 0, 255 );
+
+ int x = 0;
+ int y = 0;
+ for( int c = 0; c < 2 * 1024; c++ ) {
+ int v = buf[c] & 0x00ff;
+ for( int b = 0; b < 8; b++ ) {
+ if( v & 0x01 ) {
+ SDL_RenderDrawPoint( renderer, x, y );
+ }
+ v >>= 1;
+ x++;
+ }
+ x -= 8;
+ y += 1;
+ if( ( (c+1) % 128 ) == 0 ) {
+ x += 10;
+ y = 0;
+ }
+ }
+
+ SDL_RenderPresent( renderer );
+
+ int done = 0;
+ while( !done ) {
+ SDL_Event event;
+ SDL_PollEvent( &event );
+ switch( event.type ) {
+ case SDL_QUIT:
+ case SDL_KEYDOWN:
+ done = 1;
+ break;
+ }
+ }
+
+
+ SDL_DestroyRenderer( renderer );
+ SDL_DestroyWindow( window );
+ SDL_Quit( );
+
+ free( buf );
+ fclose( f );
+ return 0;
+}
+```
+
+And indeed I get:
+
+{{< figure src="/images/hardware/imc-2001/chargen.png" alt="character in the 40-char ROM" >}}
diff --git a/content/hardware/imc-2001-documentation.md b/content/hardware/imc-2001-documentation.md
new file mode 100644
index 0000000..20fce81
--- /dev/null
+++ b/content/hardware/imc-2001-documentation.md
@@ -0,0 +1,18 @@
++++
+title = "IMC-2001 Documentation"
++++
+
+# Operation Manual
+
+"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).
+
diff --git a/content/hardware/imc-2001-firmware.md b/content/hardware/imc-2001-firmware.md
new file mode 100644
index 0000000..8e4aabc
--- /dev/null
+++ b/content/hardware/imc-2001-firmware.md
@@ -0,0 +1,185 @@
++++
+title = "IMC-2001 Firmware"
++++
+
+{{< figure src="/images/hardware/imc-2001/romboard.jpg" alt="IMC-2001 ROM card" >}}
+
+# Intro
+
+The ROM consists of two ROM chips. The bigger chip labelled "ROM1" was
+broken (it got really hot) and could not be read (it returned all zeroes).
+It has no markings on it, so one can only guess it is something AT28C256
+compatible.
+
+The ROMs sit in the special "slot 0". The board has two other
+unused ROM sockets and an arrow pointing to an additional ROM socket on
+the motherboard itself.
+
+On the schematics the slot is not labelled "slot 0" but "ROM" and this
+gives away it's special purpose for the machine.
+
+# ROM 2
+
+ROM 2 (sticker with hand-written red 2 on top) is a Mitsubishi M5L2732K,
+32k-bit, 4k-ROM, seems very ok during operation (the carvings say
+"M5L2732K, 83080L, JAPAN").
+
+## lower-case patch
+
+Comparing ROM2 to the standard Apple autostart ROM
+(https://6502disassembly.com/a2-rom/AutoF8ROM.html) we see only one difference at:
+
+```
+FD80 (F800+580)
+
+AutoF8ROM
+00000580 90 02 29 df 9d 00 02 c9 8d d0 b2 20 9c fc a9 8d |..)........ ....|
+monitor.rom:
+00000580 90 02 ea ea 9d 00 02 c9 8d d0 b2 20 9c fc a9 8d |........... ....|
+```
+
+```
+fd80: 90 02 bcc ADDINP
+fd82: 29 df and #$df ;shift to upper case
+fd84: 9d 00 02 ADDINP sta IN,x
+fd87: c9 8d cmp #$8d
+fd89: d0 b2 bne NOTCR
+fd8b: 20 9c fc CROUT1 jsr CLREOL
+fd8e: a9 8d CROUT lda #$8d
+fd90: d0 5b bne COUT
+```
+
+*EA EA* are 2 nops where the *and #$df* is. This seems to do away with
+uppercasing the byte coming from the keyboard, so that lower-case character
+work.
+
+# ROM 1
+
+ROM 1 is hard to guess, what it originally contained (as mine got fried).
+
+# addressing mode
+
+I put back the original Autostart ROM, the addressing on the PCB is a little
+bit weird. As the monitor was working I could write a test ROM with
+
+```
+#!/usr/bin/tcc -run -Werror
+
+#include <stdio.h>
+#include <stdlib.h>
+#include <string.h>
+
+int main( int argc, char *argv[] )
+{
+ FILE *f = fopen( "./pattern.rom", "w" );
+ char *buf = malloc( 1024 );
+ for( int i = 0; i < 32; i++ ) {
+ memset( buf, i, 1024 );
+ fwrite( buf, 1024, 1, f );
+ }
+ fclose( f );
+ free( buf );
+ return 0;
+}
+```
+
+and get the following pattern in the monitor:
+
+```
+D000 1C
+D400 1D
+D800 1E
+DC00 1F
+E000 18
+E400 19
+E800 1A
+EC00 1B
+```
+
+So the replacement AT28C256 is arranged as follows:
+
+```
+0x6000 18 must contain the second 4k of the apple rom starting with e000 (24k)
+0x7000 1c must contain the first 4k of the apple rom d000
+```
+
+So I ended up doing this:
+
+```
+dd if=/dev/zero of=zero1 bs=1 count=24576
+dd if=Applesoft of=apple1 bs=1 skip=4096 count=4096
+dd if=Applesoft of=apple2 bs=1 count=4096
+cat zero1 apple1 apple2 > newrom1.rom
+```
+
+## Unkown difference
+
+When I watched the series on the Apple clone from Adrian's Digital Basement
+(he has a nice 3 part mini-series on the fixing of an Apple clone of unknown
+origin) I noticed the following difference:
+
+ROMS he published 'Apple\ II\ Clone\ ROM\ E0\ 300854cc.bin' which
+has one single difference in the E000 ROM:
+
+```
+ ; Convert FAC to integer. Must be -32767 <= FAC <= 32767.
+e10c: a5 9d AYINT lda FAC ;exponent of value in FAC
+e10e: c9 90 cmp #$90 ;abs(value) < 32768?
+e110: 90 09 bcc MI2 ;yes, okay for integer
+e112: a9 fe lda #<NEG32768 ;no; next few lines are supposed
+e114: a0 e0 ldy #>NEG32768 ;to allow -32768 ($8000), but do not!
+e116: 20 b2 eb jsr FCOMP ;because compared to -32768.00049
+ ; <<< BUG: A=-32768.00049:A%=A is accepted, but PRINT A,A% shows that A=-
+ ; 32768.0005 (ok), A%=32767 (wrong!) >>>
+```
+
+instead of *a0e0* it has *a0e5*
+
+```
+ ; <<< meant to be -32768, which would be 9080000000 >>>
+ ; <<< 1 byte short, so picks up $20 from next instruction >>>
+e0fe: 90 80 00 00 NEG32768 .bulk $90,$80,$00,$00 ;-32768.00049 in floating point
+```
+
+maybe the variable got moved to *e5fe* for some reasons? hard to tell, especially
+as the other ROMs have no differences. I kept mine on the original autostart ROM.
+
+## PIN Layout
+
+Found on https://forum.classic-computing.de/forum/index.php?thread/11666-apple-clon-gtac-fragen/&postID=401752#post457130
+
+```
+Slot Rom1 Rom2 Slot Rom1 Rom2
+
+Pin Pin
+
+26 12 14-12 25 28 24
+27 20,18 24
+28 22 23
+29 22
+30 21
+31 20
+32 19
+33 18
+34 17
+35 16
+36 15
+37 14 2
+38 13 23
+39 12 20
+40 11 24
+41 10 25 23
+42 9 3 1
+43 8 4 2
+44 7 5 3
+45 6 6 4
+46 5 7 5
+47 4 8 6
+48 3 9 7
+49 2 PIN10 8
+50 1
+```
+
+## Links
+
+* https://forum.classic-computing.de/forum/index.php?thread/11666-apple-clon-gtac-fragen/&postID=401752#post457130
diff --git a/content/hardware/imc-2001-images.md b/content/hardware/imc-2001-images.md
new file mode 100644
index 0000000..f7d3bdb
--- /dev/null
+++ b/content/hardware/imc-2001-images.md
@@ -0,0 +1,20 @@
++++
+title = "IMC-2001 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" >}}
+
+The motherboard seems to be a CTAG-2 Taiwanese motherboard, so pretty standard.
+
+The floppy drives are standard TEAC-55A-U-00, with the short cable without the ground
+pins between data lines presumably.
diff --git a/content/hardware/imc-2001-keyboard.md b/content/hardware/imc-2001-keyboard.md
new file mode 100644
index 0000000..aaeea43
--- /dev/null
+++ b/content/hardware/imc-2001-keyboard.md
@@ -0,0 +1,58 @@
++++
+title = "IMC-2001 keyboard"
++++
+
+connector to machine (sort of a rubber version of a DB-9):
+
+The connector on the computer side 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|
+ +-----------+
+ | |
+```
+
+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" >}}
+
+The protocol is basically ASCII over 19200 baud serial, with an interesting end signal which
+IMHO triggers a latch on the motherboard or so (INTR white above).
+
+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" >}}
diff --git a/content/hardware/imc-2001-links.md b/content/hardware/imc-2001-links.md
new file mode 100644
index 0000000..2d8a421
--- /dev/null
+++ b/content/hardware/imc-2001-links.md
@@ -0,0 +1,19 @@
++++
+title = "IMC-2001 Links"
++++
+
+## Other IMC-2001
+
+* [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
+
+## Other Similar Clones
+
+* West PC 800:
+ - Pietro Filiberi: https://www.youtube.com/@dustylife/videos
+ - Retro Erik: https://www.youtube.com/watch?v=Kop7mHEmJyM
+* https://github.com/eyalabraham/apple2 or
+ https://github.com/pfiliberti/gtac-appleclone
+* http://john.ccac.rwth-aachen.de:8000/patrick/MEWA48.htm
diff --git a/content/hardware/imc-2001-power.md b/content/hardware/imc-2001-power.md
new file mode 100644
index 0000000..ee8e3a1
--- /dev/null
+++ b/content/hardware/imc-2001-power.md
@@ -0,0 +1,26 @@
++++
+title = "IMC-2001 Power and PSU"
++++
+
+Power connector on the motherboard:
+
+```
++-------------+
+| O O O O O O |
++-------------|
+ | | | | | +--- GND black
+ | | | | +----- +12V red
+ | | | +------- -5V blue
+ | | +--------- -12V brown
+ | +----------- +5V white
+ +------------- +5V white
+```
+
+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" >}}
diff --git a/content/hardware/imc-2001-status-todos.md b/content/hardware/imc-2001-status-todos.md
new file mode 100644
index 0000000..9ba7995
--- /dev/null
+++ b/content/hardware/imc-2001-status-todos.md
@@ -0,0 +1,133 @@
++++
+title = "IMC-2001 Status and Todo List"
++++
+
+# Todos
+
+Trying to fix several issues:
+
+- CPM65 works on the machine in 40-character mode (hacked), the
+ Videx card is the next goal. The 40-character mode still is quite
+ unreliable and crashes the machine, the screen TTY driver is still
+ to be done for apple2.
+- 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. There are two +5V lines on the original PSU and
+ only one on the replacement PSU, maybe that's a problem?
+- 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.
diff --git a/content/hardware/imc-2001.md b/content/hardware/imc-2001.md
new file mode 100644
index 0000000..608e455
--- /dev/null
+++ b/content/hardware/imc-2001.md
@@ -0,0 +1,18 @@
++++
+title = "IMC-2001"
++++
+
+{{< figure src="/images/hardware/imc-2001/computer_full.jpg" alt="IMC-2001" >}}
+
+This is an old Taiwanese Apple \]\[ / CP/M clone.
+
+- [Status and Todos](/hardware/imc-2001-status-todos)
+- [Keyboard](/hardware/imc-2001-keyboard): keyboard connector and protocol
+- [Power](/hardware/imc-2001-power): PSU and power
+- [Chargen40](/hardware/imc-2001-chargen40): 40-column character mode
+- [Firmware](/hardware/imc-2001-firmware): the monitor, Applesoft ROMs
+- [Documentation](/hardware/imc-2001-documentation): documentation about the machine
+ and peripherals
+- [Images](/hardware/imc-2001-images)
+- [Links](/hardware/imc-2001-links): links to other similar machines
+