Junior Computer II

Written by 2021 by Joerg Walke, visit his webiste for the most actual version!
The Junior Computer ][ is an expanded version of the original Junior Computer. To make it more useful, I’ve equipped it with 32KB RAM, 8KB ROM and an onboard RS232 serial interface for connecting a terminal or a printer. For the use with a terminal, I also wrote an extended monitor program thats included in the bigger ROM. The development of the Junior Computer ][ is still in progress, so some other features will find its way to the mainboard.On the picture above, you can see the actual rev. 2 board of the Junior Computer ][.The new revision 3 board has arrived!…all components assembled and soldered…and it works fine!

post

Junior Computer ][

Junior Computer ][

Written by 2021 by Joerg Walke, visit his webiste for the most actual version!
The Junior Computer ][ is an expanded version of the original Junior Computer. To make it more useful, I’ve equipped it with 32KB RAM, 8KB ROM and an onboard RS232 serial interface for connecting a terminal or a printer. For the use with a terminal, I also wrote an extended monitor program thats included in the bigger ROM. The development of the Junior Computer ][ is still in progress, so some other features will find its way to the mainboard.

On the picture above, you can see the actual rev. 2 board of the Junior Computer ][.
The new revision 3 board has arrived!


…all components assembled and soldered

…and it works fine!
Its new features are: Up to 128KB RAM chips installable. 3 DIP switches to configure three additional 8KB RAM banks. Maximum of 51712 Bytes usable with 64KB RAM chip. Auto reset at power on. A power switch (oh yeah). Usable Memory for string buffers in the address area of the ACIA.

Edit August 2022: there is now also a I/O card and a bus card!

The Computer is divided into two parts. On the left side are the main computer components. The 6502 CPU, 6532 RIOT (RAM, Input/Output and Timer), ROM (8 KB EPROM), RAM (32 KB SRAM), the 1MHz quarz cristal and some 74LSxx logic chips for address decoding and clock generation. There is also a double timer chip on the lower left corner for debouncing the Reset (R) and Stop (S) keys. On the top lies the (in the picture not populated) expansions connector. And on the bottom side there is a connector for the two 8 Bit I/O ports coming from the 6532 RIOT. A small transistor amplifier on port B0 can be used to drive a loudspeaker, to make some simple noise.
The input/output components of the Junior are on the right side of the PCB. There is the hexadecimal keyboard, for entering the program addresses and data. And there are also some control keys. Above the keyboard is the six-digit, 7-segment display for showing the addresses and the data bytes as hexadecimal coded numbers. The display can also be switched off, if not needed. Keyboard and display is controlled by the two 8-bit I/O ports of the RIOT, by alternately polling the keyboard and repeatedly writing each single digit of the data to be shown on the display. On the top of the I/O side is the 6551 ACIA (Asynchronous Communications Interface Adapter) chip and a level shifter for the RS232 serial interface signals. The little quarts aside the ACIA is for the baud rate generation, which ranges from 50 to 19200 Baud.
I built the first prototype in July 2020 on a breadboard, followed by the rev. 1 PCB in August 2021.

The rev. 2 board was necessary, because unfortunately the distances between the input keys were a little bit too narrow. Also the rev. 2 board had some issues. But it worked fine for me. After publishing the JC][ on the Classic Computing forum (www.classic-computing.de), I found some people who were interested in it. That charged me to make some further expansions and to make it a little bit more useful for others. The revision 3 board with some improvements is now on the way, as is new software.
The schematics and Gerber files for the PCB and of course the ROM images and the 6502 Assembler source code files are freely available on the download section. So feel free, to make your own Junior ][ and have some fun with 8 bits.

Programming the Junior Computer ][

Programming the Junior is quite simple:
Apply power and press the (R)eset switch. The display turns on and shows a random memory address (four digits) and its content (two digits). The Junior Computer ][ and its predecessor are both programmed in raw 6502 machine language. That is, each CPU command is entered in its numeric representation as a hexadecimal number. For example, 4c 00 F8 means: Jump (4C) to absolute location F800. 16-bit values such as memory addresses are written as the lowest byte first, so the byte representation 34 12 in memory represents the 16-bit value 1234 in hexadecimal.
To enter some data, you first have to type the address, were the data should be located. To do so, press the (AD)dress key and type in the four hexadecimal digits (16 bits) of the memory address location. Then press the (DA)ta key and type the two hexadecimal digits (8 bits) of the data. If you make a mistake, simply type in the new value. To enter data in the immediately following address, press the + Key (in my picture above, this is the down arrow key – because I just hadn’t a + keycap) and enter the new data.
To examine any address, you just have to press the (AD)dress key again and type in the address you want to visit. By pressing the + key, the direct successor address is displayed. Pressing the GO key executes the program at the currently displayed memory address. There is also a Edit mode where you can insert and delete data, and automatically calculate branch and jump addresses. To use this mode, please refer to the Junior Computer Book 2.
Another way to enter programs is, to use the extended (terminal) print monitor program. First you have to connect a VT100 compatible terminal to the RS232 interface and set it to

9600 Baud, 8 data bits, no parity, 1 stop bit

To start the monitor program, press the (AD)dress key, type in the address F800 and press GO. On the terminal display, you should now see something like this:

                                  Junior Computer ][

Print Monitor
2021 by Joerg Walke

(M)onitor  (L)oad  (S)ave  (A)ssembler  (B)asic ?

For now Monitor is the only selectable choice (but the rest will come soon, hopefully), so type M on the terminal keyboard to enter the Hex Monitor. The Display is cleared and a * prompt is shown. All input is non case sensitive, so typeing M or m is the same.
To examine the content of a single address, just type in the address as a hexadecimal number and press the Return key. The address and its current content is then shown.

*F800

F800- 4C

To view a hole block of data, enter the start-address and the end-address of the block to be shown, divided by a . (dot).

*F800.F808

F800- 4C DC F8 A4 F8 B1 F6 E6 
F808- F8

To enter new data, type in the address where the data should be written, followed by a : (colon), followed by the single data bytes.

*200: 4C 00 F8

0200- 03

Execute a program by typing the start address followed by a G

*0200G

0200- 4C

To exit the Monitor and to go back to the main screen of the monitor type

*X

and then press the Return key.
If you want to go back to the standard Junior Monitor just enter

*1C1DG

(followed by Return) which leaves the terminal screen as a Zombie without a function and enables the 7-segment display and the hex keyboard.
That’s it. If you are interested in learning more about programming the 6502 and the Junior Computer, please refer to the MOS 6502 Datasheet and the Junior Computer books.

Downloads Junior Computer ][

Downloads Junior Computer ][

New SBC: SYM-1

I have acquired a SYM-1 Rev 1.1. Again a historical milestone back in my collection.

It works, so much more advanced software than a KIM-1, with more I/O and 4K memory.

No Basic or RAE ROMs alas.

See the Synertek SYM-1 pages for more info.

 

The Computerist PLUS page updated

Thanks to Friedrich Hofmann I have added information on the Video PLUS II and DRAM PLUS borads to The Computerist page.

65XX MICROMAG

A German magazine devoted to the 65XX SBC’s like KIM-1, SYM-1 and mostly AIM 65. June 1978 to 1978, 49 issues.Complete scans thanks to the German forum Verein zum Erhalt klassischer Computer e.V. (forum classic-computing.org)

65XX MICROMAG


2708 programmer
EPROM-Programmierer KIM-1: 2708, Ingo Dohman, 65XX MICROMAG
Data exchange between KIM-1 and TRS-80
Datenaustausch zwischen KIM und TRS-80,
Claus Wunsche, 65XX Micromag

Diese erste Deutsche Fachzeitschrift für die kleinen Computer wurde von Roland Löhr, Ahrensburg, in den Jahren 1978-1985 herausgegeben.

65xx Micro Mag 1
65xx Micro Mag 2
65xx Micro Mag 3
65xx Micro Mag 4
65xx Micro Mag 5
65xx Micro Mag 6
65xx Micro Mag 7
65xx Micro Mag 8
65xx Micro Mag 9
65xx Micro Mag 10
65xx Micro Mag 11
65xx Micro Mag 12
65xx Micro Mag 13
65xx Micro Mag 14
65xx Micro Mag 15
65xx Micro Mag 16
65xx Micro Mag 17
65xx Micro Mag 18
65xx Micro Mag 19
65xx Micro Mag 20
65xx Micro Mag 21
65xx Micro Mag 22
65xx Micro Mag 23
65xx Micro Mag 24
65xx Micro Mag 25
65xx Micro Mag 26
65xx Micro Mag 27
65xx Micro Mag 28
65xx Micro Mag 29
65xx Micro Mag 30
65xx Micro Mag 31
65xx Micro Mag 32

65xx MicroMag Inhalt 1-32 (also listed here after)

65xx Micro Mag 33
65xx Micro Mag 34
65xx Micro Mag 35
65xx Micro Mag 36

The name changed after Issue 36, the 65XX was dropped to represent the wider nature of the magazine.

Micro Mag 37
Micro Mag 38
Micro Mag 39
Micro Mag 40
Micro Mag 41
Micro Mag 42
Micro Mag 43
Micro Mag 44
Micro Mag 45
Micro Mag 46
Micro Mag 47
Micro Mag 48
Micro Mag 49

Contents of Nr. 1 1978 to Nr 32 1983
Numbers are either the Issue number (pointing to one of the PDF’s above) or a B1 Buch 1: Issue 1-6, B2 Buch 2: Issue7-13

Allgemeine Themen
-Wie soll man Arbeitsspeicher bereitstellen? B1-77
-Adreßkonstante vs. Verschieblichkeit B1-78
-Formate und Kompatibilität bei der Magnetbandaufzeichnung B1-82
-Datenaustausch zwischen KIM-1 und TRS 80 7-28*
-Erzeugung quasistatischen Rauschens durch Zufallszahlenfolgen 7-43*
-Zufallszahlengenerator 8-35*
-Magnetbandbetrieb 9-32*
-Umbau eines Cassettenrecorders 9-35*
-Anschluß von numerischer Anzeige und Tastatur (1) 11-31*
-Interruptgetriebene Cassettenein- und Ausgabe 12-23*
-Anschluß von numerischer Anzeige und Tastatur (2) 12-32*
-Wie liest man ein Programm-Listing? 13- 8*
-Anschluß von numerischer Anzeige und Tastatur (3) 13-20*
-Basic DATA-Generator 13-33*
-Interruptgetriebene Cassettenein- und Ausgabe (2) 13-43*
-Rechtsbündige Zahlenausgabe 14-41
-Datenaustausch zwischen zwei Mikroprozessorsystemen (1) 15-53
-Steuerung – elegant per Assembler 16-16
-Datenaustausch zwischen zwei Mikroprozessorsystemen (2) 16-55
-Datenaustausch zwischen zwei Mikroprozessorsystemen (3) 17-27
-Rechnerkopplung mit Interrupt 17-31
-Die (Un-)Zuverlässigkeit von Kassettenspeichern 17-32
-Hannover-Messe 1981 18-47
-Einkommensteuerberechnung 1980 19-71
-PRINT-Formatierung 19-35
-Prozeßtechnik mit Mikro-Computern (1) 20- 3
-Einkommensteuerberechnung 1981 21-46
-Feedback 21-47
-Prozeßtechnik mit Mikro-Computern (2)
-BASIC-Formatierungen 22-57
-Prozeßtechnik mit Mikro-Computern (4) 23-23
-Lösung der kubischen Gleichung 23-26
-Formatierte Zahlenausgabe 23-27
-SHAKE (Permutationen) 23-30
-RAM-EPROM-Karte 4 kB g 4 kB 23-36
-BASIC mit Struktur 23-39
-Geisterzeilen im Microsoft-BASIC 23-42
-Low Cost Typenraddrucker 24-41
-Prozeßtechnik mit Mikro-Computern (3) 24-50
-Hinweise für Autoren 24-57
-Prozeßtechnik mit Mikro-Computern (4a) 25-54
-SHAKER 25-60
-Low Cost Typenraddrucker (2) 26-32
-Timesharing 26-44
-Prozeßtechnik mit Mikro-Computern (5) 27- 7
-LISP – eine Sprache wird wiederentdeckt 27-50
-Lesen typ-verschiedener EPROMs 27-59
-Code-Wandler 28-20
-Prozeßtechnik mit Mikro-Computern (6) 28-28
-Parser und Entscheider 29- 3
-Symbolisches Differenzieren (BASIC) 29-33
-Symbolisches Differenzieren (LISP) 29-41
-Multi-TASK bei Mikrocomputern 29-50
-Einkommensteuerberechnung 1982 29-56
-MOVE und RELOCATE 30-31
-Spätlese 30-61
-32 kB CMOS-RAM 31-46
-Supertape – Kassettenaufzeichnung mit 600 Byte/Sek. 32-52
-Hi-Plot 32-37

6502
-Ein Leitfaden ein die Programmierung B1- 1
-ASP – Advanced Subroutine Package B1-35
-Makros für 65xx B1-67
-SWEET 16 B1-20
-Neue Intelligente Peripheriebausteine B1-81
-Die VIA 6521 7- 3*
-ASP – Advanced Subroutine Package (6) 9-22*
-Align für ALPHA-SORT 9-28*
-Ein Leitfaden für die Programmierung (4) 9-41*
-Interrupt-Demonstrationsprogramm für die VIA 6522 10-24*
-Ein Leitfaden für die Programmierung (5) 10-30*
-Geschachtelte Interrupts 12-28*
-Pseudo 16-Bit CPU 18-18
-APPLE II emuliert AIM 65 20-31
-VNITEX – Universale Textausgabe 21-30
-Binär-BCD-Wandlung 22-2)
-Druckerausgabe auf parallele Schnittstelle 22-30
-6502 Multiplikation, Division 22-31

6805/68705
-1-Chip Mikroprozessor 6805 und 68705 27- 3

6809
-Ein fortschrittlicher Verwandter: MC 6809 15- 3
-MC 6809: Register, Signale, Befehle 18- 3
-MC 6809: Befehle (1) 19-20
-MC 6809: Befehle (2) 20-50
-Adressierungsarten des 6809 22-42
-BASIC-Disassembler für 6809 24-10

68000
-Wichtige Merkmale des MC 68000 30- 3
-Interfacebaustein PI/T 68230 30- 7

CBM und PET
-PET 6502-Assembler B1-212
-Der PET-Assembler 7-37*
-PET Video-Driver 7-38*
-Primfaktoren-Zerlegung 8- 3*
-Video-Edit (PET) 8-11*
-PET-Petits 8-14*
-TRACE (PET) 9- 3*
-VIEW (PET) 9- 5*
-Text-Editor (PET) 9- 6*
-PETROL (Bildschirm rollen) 9- 9*
-RESTORE Line Number (PET) 9-13*
-Datenverbund zwischen AIM 65 und PET 2001 9-14*
-CBM-VIEW, neue Befehle 10-20*
-Berechnetes GOTO für den CBM 10-21*
-Tape Catalog (CBM) 10-41*
-Disk Utility Program (CBM) 11- 6*
-6502 Direct Assembler (PET) 11-12*
-Schaufel Relocate, (PET) 11-16*
-VARLIST (Variablenausdruck, PET) 11-17*
-CBM schießt sich eigene EPROMs 11-24*
-ROM-Vergleichsliste CBM-PET 11-28*
-BASIC Keywords to Shifted Keys 12- 3*
-CBM UNIPLOTT 12-48*
-Der CBM-Assembler 13-78*
-Binäres Speichern von Zahlen 13-27*
-BLANK-DELETER 13-29*
-Automatische Zeilennumerierung PET/CBM 14-33
-Das Auffinden einer BASIC-Variablen 14-35
-Dekadischer Logarithmus per USER 14-36
-Garbage Collection Routine im CBM 14-38
-Sichern und Laden dimensionierter Variablen 14-42
-Programmveränderung (CBM) 15-15
-Zeitanzeige auf PET und CBM 15-21
-INPUT-Routine (PET) 15-57
-Ein Sortierprogramm ein CBM 3001 16- 3
-Tastentest ein CBM 3032 16-53
-PASCAL ein CBM 17- 3
-Kaufmännisches Rechnen auf dem CBM 17- 9
-Grafik-Zugriff beim CBM-Busy 17-14
-1/4-0rafik für CBM 3001 17-15
-CBM 3032: Benutzung arithmetischer Interpreterroutinen 17-44
-ON ERROR GO TO 18-16
-Garbage Collection Routinen im CBM-BASIC 18-27
-Assoziative Tabellen (CBM) 18-29
-Direktzugriff mit CBM 18-45
-Niitzliche Dokumentationen für PET und CBM 18-50
-SUPER LIST CBM/Centronics 18-51
-Schnelle Sortierroutine für CBM 3001 19- 3
-REPEAT für den CBM 3007 19-32
-Zeitanzeige PET/CBM 19-36
-1/4-Grafik (CBM) 19-47
-SCREENROLL (CBM) 19-52
-Cross-Reference List für BASIC-Variable (CBM) 20-10
-Zweidimensionale Felder sortieren (CBM) 20-12
-Der Datenverkehr Rechner und CBM-Floppy 4040 21-10
-PRINTUSING für CBM 21-19
-ROM-Test für CBM 3001 21-33
-Einfache Sprachausgabe mit Kleinrechner 21-43
-ERASE rechts vom Cursor 21-61
-Mischbilder vom PET und einer Video-Kamera 22-38
-Berechnung von Pi mit großer Genauigkeit 22-41
-CBM-Math 22-50
-Breite Monitorausgabe für CBM 8032 22-56
-Disk-APPEND 22-57
-ISAM, ein Dateityp 23-17
-CBM-FORTH 23-49
-CBM: Abschalten des Interrupts 24-40
-SWAP für BASIC 3 25-58
-PETARI (CBM) 26-34
-Compactor-Review 26-50
-Disassemblieren des CBM-DOS 26-59
-RENAME Disk 4040 27-51
-Graph/Text für CBM 3031 27-52
-Fernsteuerung eines Tonbandgerätes 27-53
-Vom Code zum Text: UNASS (CBM) 28-33
-Der UNASS, ein erster Test 29-44
-Drei Disk Utilities 29-47
-High Resolution Screen Dump, CBM auf EPSON 2/3 30-42
-PETAL, Precompiler ein die CBM-Serie 30-51
-INPUT-Window (CBM) 31-42
-BASIC 4: Die neuen Befehle 32- 6
-CROSSREF für BASIC-Programme 32-12
-Alpha-Korrelation 32-21
-VC-20 am IEEE48B-Bus 32-24
-Big Letters von CBM auf EPSON 32-54

AIM 65 – PC 100
-AIM 65 – ein erster Anwenderbericht B1-170
-Der Monitor des AIM 65 B1-178
-AIM 65 User’s Guide B1-179
-AIMPLOT – Meßwerte plotten B1-180
-AIMGRAPH – Graphics Capability for the AIM Printer B1-182
-LOKIM – AIM Loads to New Location B1-184
-The Hamming Way (Tape with 3150 Baud) B1-186
-AIM Spezial B1-193
-QREAD B1-194
-AIM 65 – Monitor Cross Reference List B1-197
-Der AIM-Assembler 7-14*
-AIM-BASIC 7-20*
-MOVE and RELOCATE 7-24*
-AIM 65 als Terminal 7-33*
-AIM Spezial (2) 7-34*
-Gedanken zum Video-AIM 8-16*
-Oszillograph als Bildschirm ein den AIM 65 8-36*
-Auskunftssystem mit dem AIM 65 8-36*
-AIM-Tastatur mit Kleinschreibung 8-39*
-AIM Spezial (3) 8-41*
-AIM Spezial (4) 9- 8*
-Datenverbund zwischen AIM 65 und PET 2001 9-14*
-Assembler-Listing für den AIM 65 9-17*
-KOORD. Plotten mit dem AIM-Printer 9-29*
-Auskunftssystem mit dem AIM 65 (2) 9-37*
-AIM Spezial (5) 10- 3*
-MTEST, Speicherpriifung mit Zufallszahlen 10-11*
-Binärdisplay-Programm 10-15*
-Listing der Assembler-Symboltafe1 10-16*
-PRINT in 60 Spalten 10-22*
-TVINT – Systeminitialisierung 10-29*
-Erzeugung eines ‘kalten’ RESETs beim AIM 10-38*
-BASIC-Erweiterung ein AIM 65/PC 100 10-40*
-MLIST 11- 3*
-AIM Spezial (6) 11-22*
-Ein Printer für den AIM 11-23*
-USCOM – User Defined BASIC-Commands 11-37*
-Erweiterung des AIM 65 auf den S-700-8us 11-39*
-Cross-Reterence Table für den AIM 65-Assembler 12- 9*
-AIM Spezial (7) 12-43*
-NUMBR 12-45″
-Datenein- und -ausgabe ein das AIM-BASIC 13- 3*
-User Defined BASIC-Commands V2.1 13- 8*
-AIM Spezial (8) 13-52*
-Ein- und Ausgabe am AIM 65 (1) 14- 3
-BASXT – BASIC-Erweiterung 14-17
-Generelle Dumpprogramme für breite Drucker 14-23
-Ein- und Ausgabe am AIM 65 (2) 15- 7
-Disassemblierung in den Text-Editor 15-23
-NRINS – AIM-Editor mit Zeilennummern 15-38
-AIM 65 als Simplexfernschreiser am KIM-7 15-45
-Musikerzeugung mit dem AIM 65 15-50
-Assembler Cross Reference Map – AIM 65 16- 9
-Ein- und Ausgabe am AIM 65 (3) 16-27
-Schnelles und sicheres 8andformat ein AIM 65 16-33
-AIM 65 mit ‘fremder’ Systemsoftware 17-77
-FASTLINK 17-24
-Komplette BASIC-Statements durch CTRL und Tastendruck 17-35
-LMR. LOAD, MOVE, RELOCATE 17-38
-Laufzeitmessung ein Programme 18- 9
-SEARCH 18-34
-Assembler Object Deplacer 18-36
-Change to End 18-38
-Tape-Dupe 18-40
-NEW Single Step 19-30
-Plotten mit dem AIM 65 19-33
-AIM 65 am IEEE488-Bus 19-38
-EPROM-Programmiereinheit ein AIM 65 20-18
-Softuareentwicklung ein AIM 65 auf PDP 71 20-26
-Object Code Editor 20-47
-AIM Spezial (9) 20-61
-AIM mit Floppy Disk CBM 4040 21- 3
-Uhr und Kalender 21-36
-Ein- und Ausgabe am AIM 65 (4) 21-51
-Monitor-Erweiterung AIM 65 21-53
-AIM Spezial (10) 21-58
-Sortieren mit dem AIM 22- 3
-LINED (Editor-Erweiterung) 22-11
-AIM Spezial (71) 22-54
-Was bietet ‘Instant PASCAL’ ? (AIM) 23-16
-HISTO (Histogramme) 23-29
-Druckerausgabe auf TTY 23-32
-Assembler-Reformattor mit TTY-Ausgang 23-33
-Graphik-Plot am AIM 65/PC 100 23-43
-Fast Assembler 24-18
-Strukturiert und schnell: PL/65 24-25
-Graphik-Plot (2) 24-30
-Der AIM 65 PL/65-Compiler 25-41
-BASIC-Compactor 25-48
-AIM Spezial (12) 25-62
-Das AIM 65 Math-Package 26-30
-Textrettung 26-59
-AIM User Keyboard 27-13
-AIM mit Floppy CBM 8050 27-20
-Decodierung des Axxx-Bereiches im AIM 65 27-57
-REMON -Redigierter Monitor 28- 3
-AIM Spezial (13) 28-16
-Erweiterter Befehlssatz: CMOS-CPV R65C02 28-16
-Speichererweiterung für AIM 65 28-18
-SCREEN – Bildschirmeditor ein AIM 65 30-10
-Editor mit Steuerzeichen – AIM steuert Seikosha GM 250 30-23
-64K-DRAM am AIM 65 30-61
-EXEDIT – Extended Editor für AIM 65 31- 3
-Erweiterung des EXEDIT 31-18
-AIM Spezial (14) 31-22
-Schnelles Replace ein AIM 65 32-44
-User Output-Arbiter 32-48
-Assembler-Formatierer für AIM 65 32-49

KIM-1
-Display- Blink- und Rollroutinen B1-86
-MRA. Modify Return Address after JSR B1-90
-RAM-Test with Random Patterns B1-93
-ROLDIS – Scrolling Disassembler B1-96
-Alpha-Sort B1-704
-Zahlenwandlung B1-170
-HEADHUNTER B1-122
-STATISTICIAN B1-123
-SUMMARY B1-126
-STRINGHUNTER B1-131
-RALOAD – Relocate after Load B1-133
-Relocate Programs with Header B1-740
-Universal Timer B1-143
-The Lovely Couple of OUICKDUMP and VERSALOAD B1-146
-Transscribe HYPERTAPE to quickDUMP B1-157
-OUICKLOAD Mini B1-758
-EPROM-Programmierer KIM-1/2708 B1-760
-Printerprogramm ein Mini-Dot B1-763
-HEXDOT B1-765
-TYDUMP B1-166
-KIM-7 als Störungsanalysator B1-167

SYM-I
-SYM-I HYPERTAPE-Loader B1-217
-SYM-I, ein Anwenderbericht B1-227

FORTH
-AIM 65 FORTH 16-22
-AIM FORTH V7.3 19-78
-FORTH-Disassembler 19-24
-CBM-FORTH 23-49
-FORTH (1) 24- 3
-Strings für FORTH 25- 3
-FORTH (2) 25-75
-Mengen in FORTH 25-24
-FORTH im Eigenhau (1) 25-30
-FORTH: Befehle für 32-Bit-Zahlen 26- 3
-FORTH (3) 26- 8
-Dynamische Speicherverwaltung in FORTH 26-27
-FORTH im Eigenbau (2) 26-32
-FORTH (4) 27-29
-Cross-Assembler unter FORTH 27-35
-FORTH Turtle-Grafik ein GDP EF 9365 27-37
-FORTH im Eigenbau (3) 27-42
-Ausdruck von Kalendern 28-40
-Multiplikation und Division im FIG-FORTH 28-45
-Makro-Assembler unter FORTH 28-46
-FORTH (5) 28-49
-FORTH mit Fließkomma-Arithmetik 28-57
-FORTH-Splitter (1) 28-52
-Disk-Interface ein FIG-FORTH (CBM) 29-17
-FORTH-Editor 29-19
-FORTH mit Fließkomma-Arithmetik (2) 29-26
-FORTH-Splitter (2) 29-28
-FORTH mit JSR 29-30
-FORTH (6) 29-31
-Gerundete Integer-Quadratwurze1 IS9R 30-60
-FORTH (7) 31-25
-FORTH-Mnemonics? 31-28
-Adreßkartei unter FORTH 31-31
-FORTH-Disassembler 31-35
-FORTH-Splitter (3) 32-57

Produktbesprechungen
-Das VIDEO+ 11-41*
-Vorstellung des Siemens PC 100 10-18*
-Superboard CHALLENGER 1I 11-44*
-Die Challengers von OSI 11-16*
-NEWTIM-S ein CBM 13-26*
-Die neue CBM-Serie 8000 13-41*
-Der AIM 65/40 16-25
-Junior-Computer 16-52
-Video-Interface der Fa. Neudecker 16-49
-Hofer-Drucker 16-49
-Ein g(0)-System 18-43
-DAIM Floppy Disk-System für den AIM 65 18-46
-MatrixdruCker EPSON MX80 F/T 19-49
-12K Basic ein AIM 65/PC 700 19-50
-SM-Kit für CBM 20-59
-Rockwell’s AIM 65/40 23- 3
-Der TRS-80 Color-Computer 23- 9
-Commodore VC-20 23-73
-ISAM ein CBM 23-55
-NEC PC-8023 B-C: ein universeller Drucker 28-53
-FORCE SYS 68K/CPU 1: VMEbus-System mit MC 68000 30-48
-Commodore CBM 710 32- 3
-Heimcomputer: LASER und Aquarius 32-52

MC Die Mikrocomputer Zeitschrift

MC Die Microcomputer Zeitschrift, 1981 – 1987, 6502 related articles, AIM 65 and EMUF 6504/6502/Z80.

MC 1981 01 Große Sprünge mit dem 6502.pdf
MC 1981 02 Disassemblieren in den AIM 65 text-editor
MC 1981 02 Mädchen für alles EMUF 6504 6504
Programmier Tips
MC 1981 03 EMUF bringt strichcode zum IEC bus
MC 1981 03 Focal auf dem Vormarsch
MC 1981 03 Fourier analyse mit AIM 65 und PC100.pdf
MC 1981 03 So entsteht eine EMUF applikation
MC 1981 04 AIM 65 Erweiterungen
MC 1981 04 Focal auf dem Vormarsch teil 2
MC 1981 04 Tonerkennung per Software
MC 1981 04 V24 interface EMUF
MC 1982 01 AIM-65 decodiert DCF 77
MC 1982 01 Ein würdiger Nachfolger AIM 65/40
MC 1982 01 EMUFZ80 Minimal computer mit Z80 CPU
MC 1982 02 AIM 65 macht Musik
MC 1982 02 emuf mit erweiterte adressierung
MC 1982 02 Strichcode lesen met AIM 65 und PC100
MC 1982 02 Universelle platine für 6502-systeme
MC 1982 03 65XX-Befehls-satz
MC 1982 03 AIM liest CBM-Kassetten
MC 1982 04 IEC routinen für den 6502
MC 1982 05 Der AIM 65 im Physikunterrricht
MC 1982 05 AIM als Speicher-Oszilloskop
MC 1982 05 Mehrfach Plotten mit AIM 65 und PC100
MC 1982 06 Kompatible EMUF Erweiterung
MC 1982 06 6809 Einplatinen computer
MC 1982 07 6802 Europa platine mit 6502 Universal platine
MC 1982 08 AIM programmiert EPROMs
MC 1982 08 Variablen-liste mit AIM und CBM
MC 1982 08 RAM erweiterung für die Universal 6502 platine
MC 1982 10 EMUF als Schaltuhr,
Thermometer,Stoppuhr, Frequenzmesser
MC 1982 10 AIM 65 treibt Drucker
MC 1982 10 6502 simuliert I4500
MC 1982 11 Betrachtungen zum 6502 Microsoft Basic
MC 1982 11 Relokatible 6502 Programme
MC 1982 11 Erweiterete EMUF
MC 1982 11 Ausgabe Umleitung beim AIM Basic
MC 1982 12 Pascal und Forth fur den AIM 65
MC 1982 12 CBM mit RIOT Baustein 6532
MC 1983 01 IEC Centronics Interface EMUF
MC 1983 01 AIM 65 druckt symbol tabelle
MC 1983 02 AIM programmiert EPROMs
MC 1983 03 AIM 65 druckt Barcode
MC 1983 03 EMUF lernt sprechen
MC 1983 03 Speicher zu Band Disassembler
MC 1983 04 Der Z80 EMUF
MC 1983 04 Made in Germany: CT-65
MC 1983 04 EMUF in Senegal
MC 1983 05 Der Eier EMUF
MC 1983 06 Schneller und komfortabler 65C02
MC 1983 06 AIM verbesserte disassembler
MC 1983 07 Speichern mit Konzept
MC 1983 07 Modifikationen beim AIM Basic
MC 1983 09 AIM Disassembler met Code offset
MC 1983 09 Nicht nur zum Lernen gut: CT-65
MC 1983 10 Z80 EMUF als Spooler
MC 1983 10 EMUF in CMOS Technik
MC 1983 11 Bildschirm Editor fur AIM 65
MC 1983 11 EMUF als Morse Tutor
MC 1983 12 6502 Text Editor
MC 1983-1984 Computer fur Anfanger.pdf
MC 1984 MC-65 AIM kompatibler computer
MC 1984 01 EMUF mal Zwei
MC 1984 01 CBM und EMUF in der Ausbildung
MC 1984 01 RAM test nebenbei
MC 1984 02 Z80 EMUF steuert Selbstbau Plotter
MC 1984 02 Ein Tiny Pascal Compiler Teil 1
MC 1984 03 Ein Tiny Pascal Compiler Teil 2
MC 1984 05 Z80 EMUF mit Komfort
MC 1984 06 Datenaustausch AIM Apple
MC 1984 06 Der Pillen EMUF
MC 1984 07 Software Single Step
EMUF mal Zwei, error 1984 01
MC 1984 08 Multitasking mit dem Z80 EMUF
MC 1984 09 Z80 EMUF mit Display und Tastatur
MC 1984 10 Bildschirm Editor fur AIM 65 und PC100
MC 1984 11 Z80 EMUF als Telefon Vermittlung
MC 1984 12 Z80 EMUF als Telefon Vermittlung teil 2/a>
MC 1984 12 Die EMUF Familie
MC 1985 01 6502 Programme verschiebbar
MC 1985 01 Forth auf einem Einchip Mikro R65F11
MC 1985 01 Z80 EMUF mißt Spannung und pH Wert
MC 1985 02 Telefon EMUF
MC 1985 05 Mehr Speicher – mehr anwendungen 6502 EMUF
MC 1985 06 Modem am AIM 65
MC 1985 11 EMU als Serielles Interface
MC 1986 02 Centronics Interface EMUF Commodore Bus
MC 1986 02 EMUF als Bordcomputer
MC 1986 05 Centronics Schnittstelle fur den MC Plotter EMUF
MC 1986 10 Z80 EMUF als universele Fernbediening
MC 1986 10 Entwicklungshilfde 6502 EMUF
MC 1987 01 Die MC EPROM Ubersicht
MC 1987 02 Der EMUF08
MC 1987 03 Basic EMUF mit LCD und Tasten
MC 1987 10 Der EMUF86
MC 1987 12 Pascal auf dem EMUF08

Scans from MC Microcomputer Zeitschrift by Dietrich Lausberg, 6502 related.

MC 1 1982: CBM, PET, AIM 65 DCF 77, AIM 65/40
MC 1 1982 Minimal Z80 computer
MC 2 1982: Universal 6502 PCB, EMUF
MC 2 1982: CBM 3022 Graphik, AIM-65 Barcode, AIM 65 Music
MC 3 1982: Appple II Fernschreiber, CBM SSTV Ausgabe, AIM liest CBM
MC 4 1982: IEC Wiederstandsmessung, 16-Kanal PET CBM, 6532 Timer interrupts
MC 4 1982: CBM Assembler/Disassembler, CBM Oszilloskop, IEC 6502
MC 1 1986: MC-65 graphik, C64 EPROM
MC 1 1987: Apple II
MC 2 1987: Apple sprites
MC 3 1987: C-64 Videodat
MC 4 1987: Apple Grafik, Symbolischer Disassembler Apple II
MC 5 1987: Apple CP/M

KIM-1 related page update

Recently on Ebay a KIM-1 lookalike showed up. The PCB is inspired but clearly newly designed. It is called ‘Scandinavian’ because another identical ‘clone’ had a scandinavian businness sticker on it. Armin Hierstetter bought it and send me photos shown on the “KIM-1 related’ page.

The Data Handler is a SBC (actually two boards!) built in 1975 by Western Data Systems Corporation.One of the first computers based upon the then new 6502, as the KIM-1. Jolt, OSI 300.

post

Data Handler

The Data Handler is a SBC (actually two boards!) built in 1975 by Western Data Systems Corporation.
One of the first computers based upon the then new 6502, as the KIM-1. Jolt, OSI 300.

Photos and blog about this SBC by Armin Zink, who owns a Data handler.

The following text and scans of the manual are by Armin Zink on his blog.

The Data Handler Owner’s Manual Rev. B
The Data Handler Owner’s Manual Rev. C
Data Handler Order Form

To my current knowledge, the first „Data Handler“ Press can be found around June 1976.
The „B“ Manual shows „-2.8-77“. The „C“ Manual said „(c)1976“. While the (c)1975 indicates that it was developed and released much earlier
The „Data Handler“ is a Single Board Computer built in 1975 by „Western Design Systems“ Corporation. The Manual and further Literature name Mr. C.A. Indihar as the founder of Western Design Systems in Santa Clara, California .
Built around the MOS 6502 CPU, it has 1KB static RAM of Type 2102 and a „Front Panel“ with 16 Keys for Hex Entry and 10 Keys to control operation. Data „output“ is realized by 16 LEDS for Address and 8 LEDS for DATA.

  • CL Clear : Clears the Adress or Data Value
  • SC Single Cycle : Executes a single CPU Cycle
  • SI Single Instruction : Runs one operation
  • HT Halt : Stop CPU
  • INT Interrupt/Reset : Start from Reset Vector
  • AD Adress : Change to Modify Adress
  • DA Data : Change to Modify Data
  • EX Examine : Examine Data in an Address
  • RN Run : CPU Run
  • DP Deposit : Store Data

Data Entry into Ram is done via the Front Panel. This may be much easier than operating an MiTS or Altair, but not as comfortable as other SBC with a ROM-Monitor.

There are two I/O Ports on the upper right of the board. One Port for 8-Bit Input and one Port for 8-Bit Data output.

This is the Data Handlers Block Diagram from the REV „C“ Manual. In comparison to the „B“ Version it has an additional Cassette Interface Option. On the RAM Memory there are S-T-R Pins, which are used to split the Memory in 4 Pages.


The board has a Altair compatible BUS Connector, allowing to use one of the many Expansion Cards available for Altair Systems.
Three unpopulated spare sockets are provided for system modification.
To increase system stability, the RC oscillator can be replaced by a Crystal. The SBC needs only one single 5V Supply.
An optional Regulator can be soldered on the back of the board, converting 8V power provided through the Altair Bus or an Altair Power supply to the necessary 5V.

The Manual covers the building and the operation of the Data Handler and also contains the complete Opcode description of the 6502 and the schematics of the board. In the 70s buying a manual for a chip was expensive, so having the 6502 opcodes at hand was convinient. Additionally there is also a section with a instruction lookup table.
A “program section“ contains very few simple programs to start programming.

The bare board was offered for $79, the kit with all parts for $179, so it was half the price of a KIM-1.
The „Data Handler“ was a nice tool to be populated by hobbyists and to learn the Basics of 6502 machine language, but its operation requires some phantasy: Compared to the KIM-1 SBC the Data Handler has NO onboard ROM, PIA or TIA and no Monitor Program.

The „Front Panel“ is a hard wired system to enter data into Ram and start/stop and reset the CPU.
At first the CPU is Reset, then halted, and all inputs have to be cleared.
Then the program is entered in the static RAM locations. If the computation requires input data, these values have to be written in specified memory addresses. Finally you specify the start address of the program in reset vector address $FFFC and $FFFD.
The program execution is started by resetting the CPU. Manual stepping through the instructions allows to verify that the CPU jumps to program start address and runs the program.
If the calculation is finished, the CPU has to be manually halted by pressing „HT“. If there has been results of a computation, these could be viewed by examination of the corresponding memory locations.

In the rear right the we can find the I/O-Section of the SBC. It holds a strobed 8-Bit output and 8-Bit input port. Bytes written at Address 0x7FFE appear at the output port, and input data could be read from 0x7FFF. If attached some LEDS, as instructed in the Manual output could be directly controlled.
Interesting detail: output not necessarily need to be generated by program control , Data entered via the front panel could be stored at 0x7FFE directly and the result could be instantly controlled, giving a very direct response of the system.

The Board is made of 47 TTL Chips plus 8x 1kx1 RAM.
The onboard Ram is located at 0xFC00 and not 0x0000 . To my knowledge (Armin) this disables the use of any Zero Page features like POP/PUSH and indirect Addressing of the CPU. In the manual it is suggested to map RAM expansions to Address 0x0000 to enable all CPU features like Stack.
Since Address decode is done via some Gates, it seems pretty simple to modify the Address Decoder to additionally Map the existing Ram to Adresse $000x and $001x to add these features.

Operation

At first the CPU is Reset and the SI Button should be pressed four times to execute the Reset Sequence.
The program is entered in the static RAM locations. If the computation requires input data, these values have to be written in memory addresses. Additionally the start address of the program has to be stored in reset vector address $FFFC and $FFFD.

The program execution is then started by resetting the CPU. To debug the program, simply press SI-Button to follow the code. The Adress and Data LEDs show the current Program-Step. Additionally you can Cycle through an instruction with the SC-Button, follwing the CPU While fetching or storing Data from or to RAM.

By pressing the (run) RN-Button, the program executes ad maximum speed and preferrably it terminates in an endless loop.

When the calculation is finished, the CPU has to be manually halted by pressing „HT“. If there has been results, these could be viewed by pressing EX-Button and EXamination of the corresponding memory locations.

A FIRST EXAMPLE

Armin tried the 8 Bit Multipy Example from the „Programmes“ Section of the Manual

To Enter the Program, I Pressed HT, CL, AD 0xFFFC, DA 0x00, and DP. So the First Byte of the Reset Vector is entered. The second byte only requires entering 0xFC and DP-Button.

To change the Adress simply Type AD 0xFC00, then DA-Button 0xA2 DP-Button to enter the first Program Byte. Next Byte is 0x08 which is entered via DP-Button. Adress increases automatically after DP-Button is pressed. During the programming process i it is possible to check the entered values via the LEDs. I was astonished how fast i get used to the simple binary display! If you misstyped the DATA, simply reenter, before pressing DP-Button. If i was not sure if the data was entered correctly, i simply retype the adress and start over a bit earlier. After i finished the program we have to deposit the two values required by the test program „Multiplicand“ and „Multiplier“ in 0xFD00 and 0xFD01. Simply Type AD 0xFD00, AD 0x02, and DP. In my test i used 0x02 for Multiplier and Multiplicand 0xFD01. This simply represents Multiply 2 by 2, and we expect 4 as a result. To verify the entered data, I used the sequence HT-SI-EX-AD 0xFD00.

To start the CPU, I pressed INT, and single-stepped through it with the single Instruction SI-Key. After some cycles the programm halted in the endless loop in 0xFC1F. By pressing HT EX 0xFD02 I could examine the result: The data LEDs „Display“ showed 0x04 ! Yippie. First Program Run Completed..!

EXPANSION

In the rear right the we can find the I/O-Section of the SBC. It holds a strobed 8-Bit output and 8-Bit input port. Bytes written at Address 0x7FFE appear at the output port, and input data could be read from 0x7FFF. If attached some LEDS, as instructed in the Manual, output could be directly controlled.

Interesting Detail: Output not necessarily need to be generated by program control: Data entered via the front panel could be stored at 0x7FFE and the result could be instantly controlled at the PIA Port without CPU Control, giving a very direct system response.

The Board is made of #47 TTL Chips plus 8x1k-RAM. The onboard Ram is located at 0xFC00 not 0x0000 to allow modification of the RESET and Interrupt Vectors.
To my knowledge this disables the use of Zero Page features like Stack (POP/PUSH), Subroutines JSR/RET, Complete Zero Page Storage and all indirect Addressing of the CPU. Only to set the Reset Vectors in Ram…Strange.

In the manual it is strongly suggested to map RAM expansions to Address 0x0000 to enable all CPU features.
Work-Around: Since Address decode is done via some Gates, it seems pretty simple to modify the Address Decoder to additionally Map the existing Ram to Adresse $00xx and $01xx to add Stack and Zero Page features.

Update August 2022: In the REV C Manual, the Manufacturer describes a Modification of the Board, which separates the 1k Memory in 4 Pages. A Jumper R,S,T, is installed which allows to Map parts of the Memory to Page 0x00,0x01 and 0xFE and 0xFF. So the System can use the Zero Page Features of the CPU.

Original MOS CPU Card
The unit came with an original MOS 6500 CPU Instruction Set Summary Card, attached is a WDS Stamp.


People’s Computers 1976

Articles in People’s Computers about the Data Handler
Original advertisement Data Handler