post

Dr Dobbs

Volume 1 1976

A 6502 Disassembler from Apple Baum Wozniak
A string output routine for the 6502
Floating Point Routines for the 6502 Rankin Wozniak
Lunar Landler for the 6502 for TIM
Monitor for the 6502
Tiny Basic for the 6800 and 6502 from Tom Pittman
Breakpoint routine for 6502s
A Number game for the 6502 Steve Wozniak

Volume 2 1977

A high-speed Memory Test program for the 6502
A KIM-1 Disassembler
ASSMTED for 6502 editor and assembler
CGRS 6502 board S100
Decoding 650X opcodes
KIM-1 Breakpoint routines Plain and Fancy
MATHPAC A KIMATH supplement
Microchess
OPLEGL correction
RAP and Tiny Basic Jolt
Stringout mods
SWPT GT6144 to 6502

Dr Dobbs 1978

Memory Test for 6502
A KIM Binary Calculator
EDITHA KIM-1 editor program
High speed cassette interface for the KIM-1
Fast Cassette Interface for the KIM-1
6502 Program Exchange
LEDIP A KIM 6502 Text Editor
A curve-Fitting Program Using a Focal Interpreter on the KIM-1
PET Basic Renumber
KIM Basic Renumber adaptation of PET Renumber

Dr Dobbs 1979

Adapt Apple Disassembler for SYM-1
Add a Trap Vector for Unimplemented 6502 opcodes
An unusual Pseudoreandom Number Generator program
Common Instructions of the 6800 and the 6502
Complex Pseudorandom Sequences from Interlaced Simple Generators
EXOS A Software development kit for the 6500 Microprocessor family
OSI Basic for the KIM-1
Quick and Dirty Routines for the Sweet 16
Those all-important Extras Development toolkit

Dr Dobbs 1980

A Note on 6502 Indirect Addresssing
Thoughts on Small Systems and Monitors SYM-1
ZX65 Simulating a Micro

Dr Dobbs 1981

Analysis of the Use of the 6502’s Opcodes

Dr Dobbs 1982

Interfacing the 68000 to an AIM 65
Improvement upon a Division Program by Leventhal

183 1987

6502_hacks
ACTxx_Cross Assemblers
Decoding Efficiency and Speed Pros and Cons of Table Loo-up
Saving And Restoring Registers
SBC TSX TXS Instructions 6800 6502
Use of NOP Codes as Labels
post

Books for the 6502: KIM-1 and more

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!

Microprocessor Systems Engineering
R.C. Camp, T.A. Smay, C.J. Triska
AIM 65 System 65 parts
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
Best of MICRO 3, AIM 65 SYM-1 KIM-1 part June 1979 May 1980
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 Typewriter 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

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.

post

Apple 1 Manuals in high quality!

Apple 1 Manuals in high quality!

By Armin of Retroplace

For sale here!

Of course, you know about the Apple-1 computer. There have been replicas around for quite some time ,there are also reprints of the original manuals available. Most of them are just printed out copies on cheap laser printer paper, so Armin made a version on my own using a proper print job on high quality laminated paper and with binding to have it done properly.

But although the results really do look amazing, the quality is limited due to the fact that they are done using scans which are kinda okay but far from being perfect.

And then Armin did what a man has to do: In some painstaking, incredible painstaking weeks of work, Armin totally recreated the “Apple-1 Operation Manual” (incl. the schematics!) and the “Preliminary Basic User Manual” from scratch using the scans as the blue print. To understand this in full: This is a proper typeset job (Adobe Indesign) that is super “true” to the original.

1. Armin researched the typefaces that had been used in the original (including one that resembles the IBM “Electric” Typewriter that had been used for the main copy of one of the manuals – that was incredible hard to find)
2. Every single characters has been manually placed, so its position on the page resembles its original location down to the fraction of an inch

Have a look at this video (time-lapse) to see this process in action:

And here are pictures of the finished products, for sale here or on ebay.
Operation manual. Basic Manual, Cassette Manual, Advertising page.

PS: All of those recreations are 100 percent legal! This is due to US law: Material published before 1977 that does not feature a copyright notice is public domain under US law (see https://en.wikipedia.org/wiki/Public_domain_in_the_United_States ). All manuals have been published in 1976 and none of them features a copyright notice.

post

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!).

post

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.

Noise fix for Replica Ten

and perhaps other Replica’s with the Propeller IC. Report by Didier.

Didier has 2 replica, the Red one Ten, the older one green, both With a propelle which had the same problem but it occurred rarely

in fact apparently all the Replica 1 with the Propeller IC ten are affected more or less by this problem.

Issue

Users have reported every few seconds a “/” appears on their screen followed by a linefeed. This renders any data entry impossible.
The Replica 1 seems to act like an antenna, moving hands above the Replica can trigger it.
The problem is reported by Reactive Micro as Screen Noise Issue.

Fix by Reactive Micro

Try adding a 100k resistor to the USB module as pictured below. And if there is still noise then add a .1uF cap (100nF) to Pin28 of the Propelelr to either Ground or +5v.

As little as 10k can be used for +3.3v pullup, but anything smaller risks damage to the FTDI module. 100k is much safer in all regards. This helps hold the data line high. It seems the RX line is held high by default. And both lines are held high when connected to a USB data port, which is why the noise issue is not seen when connected to a PC. You can connect the resistor most simply to the USB module. Or to the rear of the PCB to pin 39 (Tx) and pin 12 or 32 (+3.3v) of the Propeller.

Fix by Didier

The Reactive Micro fix dows only reduce the noise but does not stop it completely.
But adding two 2 resistors definitively fix the problem.
The real problem is the floating lines STROBE and DA of the Propeller.

To really understand this noise bug you need to check at the same time:
the circuit diagram, the Wozmon initialization, and the Propeller code

the other modification are for a change from a PIA to a PIAT for my 6502 monitor
PIAT (6524) = PIA 6250 + TIMER (as it is mounted with my patch the PIAT replace totally the PIA
without any software change)

2 lines CA and STROBE are input at the same time…
they are acting like an antenna and capturing noise
for example, if I pass my hand 5 cm above the propeller
I start to see:
/
/

as if the replica was resetting.

In fact, when the replica received a full buffer of junk it jumps to reset code…
The problem comes from the propeller code…
STROBE is programmed sometimes as input and sometimes as output to permit both the PS/2 and ASCII keyboard
it is possible to fix the propeller code to avoid the parasite but in that case, you lose the ASCII keyboard

To fix that on the back of the board add a resistor of 10K between the STROBE PIN and GND
The same problem occurs for the DA line but it only happens during the time the machine was powered up but not yet reset… the same way a 10K resistor between DA PIN and GND fix the problem

The fix for STROBE and DA is therefore two resistors added on the back of the PIA.

Pocketerm

The PockeTerm is a 4″ X 2.5″ single board terminal that uses a VGA monitor and a PS/2 keyboard for its input and output. Dual serial ports gives the user the option of transferring data to/from a PC while still connected to the host device. This terminal was designed to work with vintage computers but is compatible with most systems including Unix and Linux systems. A low cost color choice terminal that has VT-100 compatible commands for controlling cursor and screen functions. Want to program the propeller microcontroller or install an update to the firmware? No problem, just connect the PockeTerm to your PC, run the Propeller Tools software and you can program it from your PC, no expensive Prop Plug required.

The PockeTerm has a full featured screen with Function key status at the bottom of the screen. Click on the image for a full size photograph of the screenshot.

CTRL-F1 Selects Baud Rate
CTRL-F2 Changes text color of the main display section
CTRL-F3 Turns on/off the 2nd serial port that connects to a PC.
CTRL-F4 Force incoming data to 7 bit ASCII. Strips the 8th bit, required for some systems
CTRL=F5 Change cursor type. Choose from underscore, solid block, or none. Also, choose from blinking or not.
CTRL-F6 Add line-feed to carriage returns

Documents

Pocketerm Setup and Users Manual 2009
Pocketerm Setup and Users Manual V3 2009
Pocketerm Circuit diagram
Pocketerm Bill Of Materials
Pocketerm Firmware
Pocketerm CD

PS/2 keyboards

I have succesfully assembled the kit, the manual guided me just fine through the steps. Took me just over an hour.
The PockeTerm worked right away. Thanks to mfortuna’s tip, put jumpers in 1&2 and 5&6, and testing is independent of cables and computers to connect.

A standard keyboard with PS/2 worked. What did not work was my mini-USB keyboard (standard PC keyboard without numerical pad, and smaller size, like notebook keyboards) connected via an USB to PS/2 converter. The USB keyboard is ok, works with the PC’s and the Apple 1 kits via the USB-PS/2 dongle. I bought it because the smaller size looks better with the small computers and takes less desk space With the scope I found the PS/2 clock/data line (cant remember which one), to be open, as if nothing connected. So something is missing to make the USB device come alive. I googled around and found this: http://www.parallax.com/Portals/0/Downloads/docs/prod/edu/28060-PS2Adapter-v1.0.pdf
In it I saw a schematic how to connect a Parallax mini PS/2 keyboard, and it was different from the PockeTerm PS/2 interface. It has additional 10k pull-ups connected to the PS/2 clock and data. I soldered in the two 10k’s and the mini keyboard came alive!

Program the Propeller Notes by Vince Briel

  1. Go download propeller tools from parallax here: http://www.parallax.com/Portals/0/Downloads/sw/propeller/Setup-Propeller-Tool-v1.2.7-(R2).exe
  2. Install propeller tools
  3. Place the firmware directory from your PockeTerm CD onto your hard drive here:
    C:\program files\parallax inc\propeller tool v1.2.7 (r2)\
  4. Connect your PockeTerm to the RS232 port labled PC and turn on your PockeTerm.
  5. Under the propeller tools program click on the section File and find the firmware directory you just copied onto your hard drive and select the file
    PockeTermV.905.spin
  6. Press F11 on your PC keyboard and the propeller tools will compile and attempt to find a Propeller chip connected to a serial port on your PC. If your
    connection is good it will program the RAM first on your Propeller chip then program the EEPROM.

The PockeTerm makes a really good development board for learning how to program the Propeller chip. For more information on programming the Propeller,
please visit the Parallax forums here: http://forums.parallax.com/forums/default.aspx?f=25
The above steps will program the Propeller with the code that is now resident on the EEPROM onboard the PockeTerm. Change step 3 to the location of the program you wish to insert onto the PockeTerm.








Replica 1 software and hardware articles

A collection of articles and projects around the Replica 1.

Rebus

REBUS Replica 1 Hardware Extensions
ACIA, Flash, Apple II sound
Ken Wessen
Apple II sound circuit
Replica Quick reference by Jeff Trenter
Krusader Ken Wessen’s assember IDE
Archive with many variants, sources, versions
Krusader 1.2.1 source for use with an ACIA
Applesoft Lite archive
EWoz extended WOZ monitor with hex file upload
Jeff Tranter’s large collection of 6502 articles
Micro-KIM, Replica 1, and much more. A real treasure collection, original here!

EEPROM programmer circuit (as featured on the Multi I/O board)
EEPROM circuit
Here’s a 1 chip EEPROM programmer for somebody wishing to copy their EEPROM or create their own data. In keeping with the replica 1 theme, it is a down and dirty solution requiring few connections. All the connections listed on the EEPROM go to their listed connections. A 74LS00 is all that is required to program an EEPROM.

This attaches to address A000-BFFF and is direct addressing. Simply write to the address to store the data. You should give a slight delay after your write since it takes 200ns to write a byte into an EEPROM. I do a short loop in basic

FOR I=1 TO 2:NEXT I

That does the trick. I tested this circuit out and had 0 errors when writing.

Replica 1 Cassette Interface

In 2007 Vince Briel tried to get a replica of the Cassette board, as designed by Steve Wozniak, operational. Another example of the genius Steve Wozniak, minimal hardware, 256 byte program. Two revisions, he did not have much luck with this. Reports indicate this has to do with insufficient quality of the power supply lines.

Original Apple 1 Cassette Interface Manual
A real userguide as can be found at the site of San Bergmans
Mimeo Cassette Interface and Operations Guide

Software
Archive with disassembly and source files of the Apple 1 Cassette Interface.