post

XKIM on the KIM-1 Simulator

XKIM is developed by Bob Applegate to support his SD-Shield.
By adding SD-Shield support to the KIM-1 Simulator by Eduardo Casino we can run XKIM there now!

KIM                                                                                              
0200 00                                                                                          
0201 48                                                                                          
E000 
E000 4C G

Extended KIM Monitor v1.8 by Corsham Technologies, LLC
www.corshamtech.com

>?
Available commands:

  ? ........... Show this help
  C ........... Show clock
  D ........... Disk directory
  E xxxx ...... Edit memory
  H xxxx xxxx . Hex dump memory
  J xxxx ...... Jump to address
  K ........... Go to KIM monitor
  L ........... Load HEX file
  M xxxx xxxx . Memory test
  O xxxx xxxx . Calculate branch offset
  P ........... Ping disk controller
  S xxxx xxxx . Save memory to file
  T ........... Type disk file
  K ........... Go to KIM monitor
  ! ........... Do a cold start


>C
Date: 03/25/2026, 15:16:47

>Disk Directory...
   bootsdshield-kimrom.bin
   bootsdshield.bin
   bootsdshield.pap
   CPM-BOOT.DSK
   kb9.ihex
   KIM-1 simulator start.jpg
   kim-1-sdshield.zip
   kimsimSETTINGS.jpg
   M2000.BIN
   newimage.dsk
   SD.cfg
   SDMP1.jpg
   SDMP2.jpg
   SDMP3.jpg
   SDMP4.jpg
   SDMP5.jpg

>T - Enter filename: SD.CFG
# SD Card Disk Configuration
# Format: drive:filename or driveR:filename (for read-only)
0:CPM-BOOT.DSK
1:newimage.dsk

>S 2000-2199
Enter filename, or Enter to display to console: K2000.BIN
..........................
>Disk Directory...
   bootsdshield-kimrom.bin
   bootsdshield.bin
   bootsdshield.pap
   CPM-BOOT.DSK
   K2000.BIN
   kb9.ihex
   KIM-1 simulator start.jpg
   kim-1-sdshield.zip
   kimsimSETTINGS.jpg
   M2000.BIN
   newimage.dsk
   SD.cfg
   SDMP1.jpg
   SDMP2.jpg
   SDMP3.jpg
   SDMP4.jpg
   SDMP5.jpg

>T - Enter filename: M2000.BIN
:102000001510922D4C000020902860A00CA900997A
:10201000922D8810FA4CD425A9FF8D942DA9008DFE
:102020009E2D60084898488A48AD942D3004A00041
:10203000911A68AA68A8682860A51A49FF2D952DED
:102040008D952DA51B49FF2D962D8D962D18602061
:10205000CD20A90F204325B02BA00CB11A8522A0BA
:102060001FB10E911A8810F920A923A00CB11AC52E
:1020700022F00AA9009002A980A00F911AA522A01F
:102080000C911A186020CD20206428A90F20432528
:102090009037A900A010911AC8C020D0F9A9E5A0D6
:1020A00000911AA901204325B01FA001B11A910E79
:1020B000C8C020D0F7ADB12DA000910E20AF26A949
:1020C0000120D22720A9231860A9FF3860A00EA9FB
:1020D00000911AA000B11A8D942D290FAACA1003DD
:1020E000AEB02DADB12D911A8A4CD42520D320202D
:1020F000A625206428A00EB11A10021860A90F208E
:01210000439B
:00000001FF
>
>L
Enter filename, or Enter to load from console: m2000.bin
.................
Success!

CP/M-65 on the KIM-1 and KIM-1 Simulator

Thanks to the work of David Given (who developed CP/M-65) and Eduardo Casino (who ported CP/M-65 to the KIM-1 with the SD-Shield (developed by Bob Applegate of Corsham Technology) and the addition of the SD-Shield simulation to the KIM-1 Simulator by Eduardo Casino I can run my Pascal-M compiler (written by Mark Rustad in 1977 and ported my Hans Otten to Lazarus and ported by david Given to CP/M-65)) on my PC in the KIM-1 Simulator (developed by me Hans Otten since 2019) compiling itself and showing it can compile ‘hello world’ program.

Pfff, long sentence showing that all this is made possible by many clever people!

Here a log of a session (captured by Teraterm connected to the KIM-1 Simulator).

[CODE]
KIM
0200 D8
KIM
0200 D8 G

CP/M-65 for the KIM-1

A>dir
A: SCRVT100 COM : IMU COM
A: IMU TXT : SYS COM
A: PASC PAS : ASM TXT
A: HELLO ASM : DEMO SUB
A: ASM COM : ATTR COM
A: BEDIT COM : CAPSDRV COM
A: COPY COM : CPUINFO COM
A: DEVICES COM : DINFO COM
A: DUMP COM : LS COM
A: STAT COM : SUBMIT COM
A: MORE COM : BEDIT ASM
A: BEDIT TXT : DUMP ASM
A: LS ASM : CPM65 INC
A: DRIVERS INC : ATBASIC COM
A: ATBASIC TXT : OBJDUMP COM
A: MKFS COM : ADM3ADRV COM
A: ADM3ATST COM : CLS COM
A: LIFE COM : QE COM
A: SCRNTEST COM : VT52DRV COM
A: VT52TEST COM : KBDTEST COM
A: MBROT COM : DS COM
A: DS TXT : PINT COM
A: PASC OBB : PLOAD COM
A: HELLO PAS : IMU3 TXT
A: HELLO SYM

A>pint PASC.OBB PASC.PAS PASC.OBS
Pascal-M interpreter for CP/M-65: B66F bytes free
Pascal-M compiler V2k1 for CP/M-65
Processing: writeerr
Processing: beginlin
Processing: endline
Processing: error
Processing: stringsi
Processing: nextchar
Processing: insymbol
Processing: enterid
Processing: searchse
Processing: searchid
Processing: getbound
Processing: hexout
Processing: writeout
Processing: bytegen
Processing: wordgen
Processing: genujpen
Processing: plantwor
Processing: skip
Processing: test1
Processing: test2
Processing: intest
Processing: constant
Processing: comptype
Processing: isstring
Processing: simplety
Processing: fieldlis
Processing: typ
Processing: constdec
Processing: typedecl
Processing: vardecla
Processing: paramete
Processing: procdecl
Processing: ldcigen
Processing: ldagen
Processing: lodgen
Processing: condgen
Processing: loadsetc
Processing: cspgen
Processing: incgen
Processing: load
Processing: store
Processing: loadaddr
Processing: falsejum
Processing: calluser
Processing: selector
Processing: variable
Processing: processt
Processing: readproc
Processing: processt
Processing: writepro
Processing: newstate
Processing: releases
Processing: resetrew
Processing: closepro
Processing: assignpr
Processing: getcomma
Processing: ordfunc
Processing: succfunc
Processing: predfunc
Processing: chrfunc
Processing: oddfunc
Processing: eofeolns
Processing: callnons
Processing: call
Processing: opgen
Processing: setexpre
Processing: factor
Processing: term
Processing: simpleex
Processing: expressi
Processing: assignme
Processing: compound
Processing: ifstatem
Processing: casestat
Processing: repeatst
Processing: whilesta
Processing: forstate
Processing: statemen
Processing: body
Processing: block
Processing: stdnames
Processing: enterstd
Processing: enterstn
Processing: enterund
Processing: initiali
Processing: compileh
Processing: compilep
Processing: skipspac
Processing: getword
Processing: findend
Processing: openfile
Processing: closefil
Processing: dumperro
Processing: cpascalm
Compilation successful.
No compilation errors PASC.PAS

A>pload PASC.OBS PASC.OBB
Opening input file…
Opening output file…
Reading OBP…
Seen 94 procedures
Writing output file…
Closing output file…
Success.
A>type HELLO.PAS
program HelloWorld;

begin
writeln(‘Hello from Pascal!’)
end.

A>
A>pint PASC.OBB HELLO.PAS HELLO.OBS
Pascal-M interpreter for CP/M-65: B66F bytes free
Pascal-M compiler V2k1 for CP/M-65
Processing: hellowor
Compilation successful.
No compilation errors HELLO.PAS

B>A:pload A:HELLO.OBS HELLO.OBB
Opening input file…
Opening output file…
Reading OBP…
Seen 1 procedures
Writing output file…
Closing output file…
Success.
B>A:pint HELLO.OBB
Pascal-M interpreter for CP/M-65: B66F bytes free
Hello from Pascal!

B>
[code]

The White KIM-1

Recently I acquired a ‘white’ KIM-1. Most revisions were made of green PCB material.
Rev D and Rev E were also made in blue.

This one is a Rev D with a ‘white’ PCB. The KIM-1 is working as you can see.

The ‘white’ KIM-1 as received, working but awful to look at

But the previous owner did some horrible work on it. Most IC’s were unsoldered and placed in some kind of IC sockets. The desoldering did quite some damage to print traces.
Many traces were covered with solder. Solder remains everywhere, very dirty brown spots of solder resin. Wires soldered on the connector, and the A-K wire on the board itself.

The biggest crime is the keyboard that was handmade on experimenters board. With quality switches, but with an awful appearance. It works, but it had to go.

With the DIY keypad method, based upon the work of Eduardo Casino and Pete (peo2000) I replaced the keyboard with an acceptable replica. Not too easy and tidy since the print traces were damaged

With a replica keyboard, wires and excessive solder removed and a good clean with alcohol and a brush the white KIM-1 may join my collection.

KIM-1 replica keypad

A spare KIM-1 keypad is even rarer than a KIM-1 itself. With this guide you can build a reasonable replica of the keypad.

Thanks to the work of Eduardo Casino (the PCB) and Pete (peo2000 on forum64.org) I have published a DIY guide for a good looking KIM-1 keypad replica.

A-ONE Apple 1 replica family 2025

In 2025 Franz Achatz revived the A-ONE Apple 1 replica. The excellent design is refreshed, a new family member added: the A-ONE PLUS.

I now have the 2025 standard board, the 2025 PLUS and the 2006 EXTENDED. With the prototype boards with and without breadboard and the 2025 cassette interface.

Read all about the A-ONE here.

My Apple 1 Replica and the A-ONE PLUS

Proton Electronics

The Dutch based firm Post Electronics produced and sold lots of electronic components and computer systems.
Like the 6502 based PC-1, PC-2, PC-3, and PIM-1 and the Z80 based CB80. They also created Ultiboard, the PCB design software that became their future in the USA.

On the PROTON pages you find images, scans and software for some of these systems.With thanks to Dirk Prins for most of the material.

PIM-1 Proton 6502 system

Gerben Voort acquired a microprocessor development system PIM-1 developed by Proton, of PC-1 fame.

Here his photos of the system after the cleanup, operational again.


In the future I hope to scan the documentation.

KEMPAC system eurocards and microcomputers

Under the name KEMPAC SYSTEM Eurocards and Microcomputers for Industrial Automation a 19 inch rack system was developed in the 80ties around the 6502 by the (of TMX fame) Kuipers Electronic Engineering B.V., Zwijndrecht

Gerben Voort has acquired such a system and has shared the se photos. In the future I hope to scan the documentaion.

Kempas was developed by Kuipers Electronic Engineering bv. te Zwijndrecht

A linkedin link:

Michiel Cornelissen
Afstudeeropdracht bij Kuipers Electronic Engineering bv. te Zwijndrecht: ”Van KEMPAC tot Applicatie; Opzetten van de workshop voor het ontwikkelen van applicaties met behulp van het KEMPAC systeem. Naast de technische ook de didactische aspecten onderzocht.

Directeur Peter-Paul Kuipers van Kuipers Electronic Engineering (TMX) overleed onverwachts op 24 juni 2022. Nu heeft het bedrijf surseance van betaling aangevraagd. © Kuipers Electronic Engineering (TMX)
Directeur Peter-Paul Kuipers van Kuipers Electronic Engineering (TMX) overleed onverwachts op 24 juni 2022. Nu heeft het bedrijf surseance van betaling aangevraagd.
Dubbel drama voor bedrijf: directeur overleden en nu ook financiële problemen
De dertig medewerkers van Kuipers Electronic Engineering (TMX) in Zwijndrecht maken in korte tijd twee drama’s mee.

André Oerlemans
In juni overleed onverwachts hun directeur Peter-Paul Kuipers. Nu heeft zijn broer Robert surseance van betaling moeten aanvragen. Bewindvoerder Jeroen Schras heeft tot november de tijd om het bedrijf te redden. Ondertussen wordt er doorgewerkt.

Het bedrijf aan de Houtkoperstraat bestaat sinds 1976 en levert tele-monitoring voor installaties, waterlopen, bruggen en tunnels.

EMUF 6504 remake

A remake by Klaus Loy of the 6504 based EMUF 6504 as published in MC, see for the many original articles about the EMUF SBCs.
Here the announcement.
Here a local copy of the work by Klaus.

See his github archive for the original.

KIM-1 Rev D White

New project, cleanup and restore this KIM-1 . Poor thing still works but had a rough life. KIM-1 collection complete now, this one was the one I was waiting for.