Books 6502

KIM-1, AIM-65, SYM-1 and other 6502/65C02/65C816 related books.

A mix of English, German and Dutch books.

On my bookshelf I have quite a collection of books on the 6502 family.

Note that manuals and books that come with systems are shown on the pages of the corresponding system!

1984 Rockwell Data Book
6502 Software Gourmet Guide and Cookbook
6502 Users Manual
AIM 65 Laboratory Manual And Study Guide
Anwendunsgbeispiele fûr den Microprozessor 6502
Microprocessor_Fundamentals KIM-1
Best of Micro Volume 1 1978
Best of Micro Volume 2 1979
Compute’s Machine Language for Beginners
Compute’s The Second Book of Machine Language
Programming a Microcomputer 6502
Programmieren von Mikrocomputern CPU 6502 (Skriptum)
How to Build a Microcomputer .. and really Understand It!
Mikrocomputer ohne Ballast
Micro Principles KIM-1 user guide chapter 8
Digitaalschakelen met de KIM-1
6502 Assembly Language Programming
6502 Programmieren in ASSEMBLER
Microcomputer Experimentation with the MOS Technology KIM-1
6502 Machinetaal Subroutines
6502 Assembly Language Subroutines
Microcomputer experimentation with the AIM 65
Machine Language Programming Cookbook part 1
Machine Code for Beginners
microcomputer systems principles featuring the 6502 KIM
Beyond Games: System Software for your 6502 Personal Computer
Assembly Language Programming
Using 6502 Assembly Language
6502 Machine Code for Humans
Programming the 65816 including the 6502, 65C02 and the 65802
Programming the 65816 including the 6502, 65C02 and the 65802
Forth Programming
Programming the 65816
Programming and Interfacing the 6502 with Experiments
Synertek 1981-1982 Data Catalog
Synertek DataBook 1983
Third Book of OSI
TSC 6502 Games Package 1
TV Typewrite Cookbook
Zaks 6502 Anwendungen
6502 Games
6502 Applications
Advanced 6502 Programming
Fortgeschrittene 6502 Programmierung
Programmierung des 6502
Programming the 6502
6502 Applications book
Programmeren van de 6502
Microprocessor Interfacing Techniques
Microprocessor Concepts and Applications
Publisher: Lab-Volt
6502 Assembler-Kurs für Beginner
6502 Machine Code For Beginners
A low-lvel language for use on the MOS 6502 Microcomputer
6502 Microcomputer Programmierung
Programmieren in Maschinensprache 6502
The Giant Handbook of Computer Projects
First Book of KIM
The First Book of KIM-1 in PDF format
The First Book of KIM-1, part in text format
The First Book of KIM-1 in HTML format
Sources of The First Book of KIM-1 in source and papertape format, Jeff Tranter
First Book of KIM-1 for SYM-1
Rockwell Produktübersicht in deutsch
Rockwell Microelectronic Data Devices Catalog 1979
1981 Rockwell Electronic Devices Division Data Book
1984 Rockwell Data Book
1985 Rockwell Data Book
1987 Rockwell Controller Products Databook

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.

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 (, 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- 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- 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


0200- 4C

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


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


(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 ][

Elektor Junior Paperware 3 in German!

Thanks to Martin Seine I have added the Paperware 3 in German book to the Junior book collection.

Convert hex formats new version

Bug fix release of the PC utility to convert MOS papertape, Intel hex, Motorola S record, Apple 1 hex etc. Windows and Linux. Source included.


Convert to Papertape V2.2

On the Utilities page I have two programs to convert to MOS Technology papertape format: KIMpaper, a command line utility, and ConvertHexFormat, a GUI app.

All in Freepascal/Lazarus source format, and tested on Linux (Raspberry PI OS) and Windows 10 64 bit. So the programs will run everywhere Lazarus is available (MS DOS, WIndows, Linux Mac OS).

KIMPAPER  is written at the time the Micro-KIM appeared. CLI utility.  Supports Binary to/from Papertape.  Still runs fine on all platforms supported by Freepascal (Windows, MS DOS, Linux etc) after a recompilation, source available.

ConvertHexFormat is a more recent GUI utilitilty with many more 8 bit hex formats as input and output.

There were some bugs of course in older versions. V2 added the ability for multipart hex formats, records having a non-consecutive load address. That seems to wok fine since V2.1
In 2.2 a bug in MOS Papertape format for bigger files is fixed, the end-of-file record (record type 00, total line count) had a bug in the checksum calculation. KIMPAPER is and was correct in the calculation.
But in ConvertHexFormat it was wrong (as it still  is in the well known srec utility in the Unix world!).


PC utilities updated

The PC utilities page has seen an update of th4 Conversion hex formats utility.

Programs to manipulate the binary and hex formatted files of interest for SBC owners. Intel hex, MOS papertape, Motorola S-record, binary, hex conversion fort eh 8 bit world.
Runs on Windows, Linux, Mac due to Lazarus and Freepascal. Source included.


VDU card for Junior with OS65D

Philippe Roehr has remade a VDU PCB as featured in the Elektor Junior articles and put it to work with his OS65D system.



In the Elektor Specials Elektor bus based systems were presented that could be used to build more advanced computers, based on the 6502, Z80 of 65816.

Several names were used for systems, like EC65 and Octopus and you see in these pages many references to these cards, like DOS65, Elektor articles and books

See below for the Elektor Specials with EC65 etc articles.

See also the Z80 Elektuur/Elektor pages

Download here the EC 65 Octopus ROMs, dumped from CPU cards

Elektor bus

From Martin Seine I have received the source of the EC65 ROM and the system disk of the EC65 system

Disassembled, sorted and and somehow aligned the original SAMSON EPROM. The assembler file is here. It will compile byte identical with ca65. All upper case labels match the documentation I have found. The lower case labels are made up by Martin, because they are needed in there. There is a disassembler in the monitor rom, which I did not analyze and hence the disassembly is just strong bytes in that section.

Martin has recovered some original EC65 disks. Here the original disk#5, which is the „System Disk Loys“ as HFE image, which will run on EC65 with Gotek FlashFloppy. Amrtin has now a running EC65 with original system disk. The HFE is the 80-track version and a double side image, but it works as one side as well.

Elektuur Computing 1
Dutch, Octopus/Samson 6502 computer
Sonderheft German
Elektuur Computing 2
Dutch, More 6502 computer
Elektuur Computing 3
Dutch, More 6502 computer
Elektuur Computing 4
Dutch, EC65K and more

Elektuur Computing 5
Dutch, Z80 and more 6502 hardware and software
Elektor Computing 5 German

Another Junior build by Philippe Roca

Another Junior build! By philippe Roca. Faithful reproductions, including EPROM 2708 and PROM 82S33 programmers.

Photos and gerbers of some PCB. Work in progress, I hope to see more photos and Gerbers!

Build an Elektor Junior

Page on building now an Elektor Junior.
Two designs complete with PCB design (Bram Prosman), reports of a complete build ( Philippe Roehr, Philippe Roca).