post

MACH-9 MMS Inc 6809 CPU Plug-in for AIM 65

Royce Taft has a MACH-9 MMS Inc 6809 CPU Plug-in for AIM 65 and reverse engineered it.

He sent me his design to be published here.

Downloads

Here the archive with circuit diagram, ROMs and design files for the 82S100 PROM and PAL10L8
The Kicad Design files for the MACH-9 PCB

AIM 65 updates: power supply, PL/65 cover, images AIM 65 to RM 65 MACH-9

A65-004-03 Power Supply
Input 110/115/215/230 V AC n47-63 Hz
Output 1 : 5V DC 3.0A
Output 2 : 24 V DC .5A, 1.5A Peak

AIM 65 PL/65 manual frontpage

AIM 65 to RM 65 hardware interface

Royce Taft has a MACH-9 MMS Inc 6809 CPU Plug-in for AIM 65 and reverse engineered it.
He sent me his design to be published here.

10 PRINT for KIM-1 and AIM 65

Michael Doornbos (of https://imapenguin.com/) posted two “10 PRINT” articles for our beloved small 6502 SBC’s.

The KIM-1 version displays on the seven segment LED displays. The AIM 65 prints it on the thermal printer.

KIM-1 version of 10 PRINT in BASIC and assember

10 PRINT CHR$(47+INT(RND(0)*2)*45);:GOTO 10
; BY MICHAEL DOORNBOS MIKE@IMAPENGUIN.COM; 2025 
; SOFT START AT $0200

; THIS PROGRAM GENERATES A RANDOM PATTERN OF SLASHES AND BACKSLASHES
; AND DISPLAYS IT ON THE KIM-1'S 7-SEGMENT DISPLAY.

; THE PATTERN SCROLLS TO THE LEFT, CREATING A CONTINUOUS EFFECT.

; A LOT OF THIS CODE IS BORROWED FROM:
; https://netzherpes.de/blog/index.php?entry=KIM-1-scrolltext
; kim_msg.asm
; testing lin2c64 6510 assembler
; using J. Butterfield's scan display from Wumpus
; 01/03/2013 ces



; CONSTANTS FOR 7-SEGMENT DISPLAY CHARACTERS
BACKSLASH  .EQU $64        ; BACKSLASH CHARACTER
SLASH      .EQU $52        ; FORWARD SLASH CHARACTER
SPC        .EQU $80        ; SPACE CHARACTER

; KIM-1 HARDWARE ADDRESSES
SAD     .EQU $1740      ; DATA PORT FOR PINS 1-4
SADD    .EQU $1741      ; DATA DIRECTION REGISTER A
SBD     .EQU $1742      ; DATA PORT FOR PINS 5-6
SBDD    .EQU $1743      ; DATA DIRECTION REGISTER B
TIMER2  .EQU $1747      ; OPTIONAL 2ND 6532 TIMER
LOUT    .EQU $7F        ; SET PINS AS OUTPUT TO LEFT 4 LEDS
ROUT    .EQU $1E        ; SET PINS AS OUTPUT TO RIGHT 2 LEDS

; ZERO PAGE VARIABLES
SEED    .EQU $00D0      ; RANDOM SEED LOCATION
TMR     .EQU $00DB      ; TIMER COUNTER
PTR     .EQU $00DC      ; POINTER
XFRHI   .EQU $00DD      ; USED FOR CHARACTER BUFFER HIGH BYTE
XFRLO   .EQU $00DE      ; USED FOR CHARACTER BUFFER LOW BYTE
TMP1    .EQU $00DF      ; TEMPORARY STORAGE
CBUFF   .EQU $00E8      ; CHARACTER BUFFER (6 BYTES)
MSGBUF  .EQU $0180      ; BUFFER FOR GENERATED PATTERNS (30 BYTES)

        .ORG $0200      ; START OF PROGRAM CODE

MAIN    
        ; CLEAR THE MESSAGE BUFFER FIRST TO PREVENT GLITCHES
        LDX #$00
CLRLOOP LDA #SPC        ; USE SPACE CHARACTER TO INITIALIZE
        STA MSGBUF,X
        INX
        CPX #$30        ; CLEAR THE ENTIRE BUFFER AREA
        BNE CLRLOOP
        
        LDA #$00        ; ADD NULL TERMINATOR AT THE END
        STA MSGBUF+23
        
        ; INITIALIZE THE TIMER
        LDA #$FF        ; LOAD MAXIMUM VALUE
        STA TIMER2      ; START TIMER
        
        ; USE TIMER VALUE AS SEED
        LDA TIMER2      ; READ CURRENT TIMER VALUE
        STA SEED        ; USE AS RANDOM SEED
        BNE SEEDOK      ; IF NOT ZERO, IT'S FINE
        INC SEED        ; OTHERWISE INCREMENT TO MAKE NON-ZERO
        
SEEDOK  JSR GENPAT      ; GENERATE INITIAL PATTERN
        
INFINIT LDY #>MSGBUF    ; LOAD BUFFER LOCATION
        LDA #<MSGBUF
        JSR SCAN        ; DISPLAY THE PATTERN
        
        ; GENERATE NEW RANDOM SLASH AT END OF BUFFER
        JSR RANDOM      ; GET RANDOM BIT
        BCC GENBACK     ; BRANCH IF CARRY CLEAR (50% CHANCE)
        
        LDA #SLASH      ; FORWARD SLASH
        JMP STORE
        
GENBACK LDA #BACKSLASH  ; BACKSLASH
        
STORE   STA MSGBUF+22   ; ADD NEW CHARACTER TO END OF BUFFER
        
        ; SHIFT BUFFER LEFT ONE POSITION (SCROLL EFFECT)
        LDX #$00        ; START AT FIRST POSITION
SHIFT   LDA MSGBUF+1,X  ; GET NEXT CHARACTER
        STA MSGBUF,X    ; STORE IN CURRENT POSITION
        INX             ; MOVE TO NEXT POSITION
        CPX #$22        ; CHECK IF WE&#39;RE AT END OF BUFFER
        BNE SHIFT       ; CONTINUE IF NOT AT END
        
        ; ENSURE NULL TERMINATOR IS ALWAYS PRESENT
        LDA #$00
        STA MSGBUF+23
        
        JMP INFINIT     ; LOOP FOREVER

; GENERATE INITIAL PATTERN BUFFER WITH RANDOM SLASHES
GENPAT  LDX #$00        ; START AT FIRST POSITION
GPLOOP  JSR RANDOM      ; GET RANDOM BIT
        BCC GBACK       ; BRANCH IF CARRY CLEAR
        
        LDA #SLASH      ; FORWARD SLASH
        JMP GSTORE
        
GBACK   LDA #BACKSLASH  ; BACKSLASH
        
GSTORE  STA MSGBUF,X    ; STORE IN BUFFER
        INX             ; NEXT POSITION
        CPX #$17        ; CHECK IF BUFFER IS FULL
        BNE GPLOOP      ; CONTINUE IF NOT FULL
        
        LDA #$00        ; ADD NULL TERMINATOR
        STA MSGBUF+23   ; AT END OF BUFFER
        RTS             ; RETURN

; RANDOM NUMBER GENERATOR (8-BIT LFSR)
RANDOM  LDA SEED        ; LOAD CURRENT SEED
        ASL             ; SHIFT LEFT (C GETS HIGH BIT)
        BCC NOEOR       ; SKIP EOR IF BIT 7 WAS 0
        EOR #$B4        ; APPLY FEEDBACK POLYNOMIAL
NOEOR   STA SEED        ; STORE UPDATED SEED
        RTS             ; RETURN WITH CARRY = RANDOM BIT

; SCANNING ROUTINE FROM ORIGINAL CODE
SCAN    STY XFRLO       ; Y AND A GET LOADED BEFORE JSR TO SCAN
        STA XFRHI
        LDA #$07        ; INIT SCAN FORWARD
        STA TMP1
        LDY #$05        ; INIT Y
CONT    LDX #$05        ; INIT X
CHAR    LDA (XFRHI),Y   ; GET CHARACTER
        CMP #$00        ; LAST CHARACTER?
        BNE MORE        ; IF NOT, CONTINUE
        RTS
MORE    STA CBUFF,X     ; STORE CHAR
        DEY             ; SET UP NEXT CHAR
        DEX             ; SET UP NEXT STORE LOC
        BPL CHAR        ; LOOP IF NOT 6TH CHAR
        CLD             ; BINARY MODE
        CLC             ; PREPARE TO ADD (CLEAR CARRY FLAG)
        TYA             ; GET CHAR POINTER
        ADC TMP1        ; UPDATE FOR 6 NEW CHARACTERS
        STA PTR         ; SAVE NEW POINTER
        JSR DSPDLY      ; DELAY DISPLAY
        LDY PTR         ; RESTORE POINTER
        JMP CONT        ; CONTINUE WITH REST OF MESSAGE

DSPDLY  LDX #$0A        ; SET THE DELAY RATE HERE
        STX TMR         ; PUT IN DECR. LOCATION
TIME    LDA #$52        ; LOAD TIMER
        STA TIMER2      ; START TIMER
LITE    JSR DISP        ; GOSUB DISPLAY RTN
        BIT TIMER2      ; TIMER DONE?
        BPL LITE        ; IF NOT, LOOP
        DEC TMR         ; DECREMENT TIMER COUNTER
        BNE TIME        ; NOT FINISHED
        RTS             ; NOW GET 6 NEW CHARACTERS

DISP    LDA #LOUT       ; CHANGE LEFT LED SEGMENTS
        STA SADD        ; TO OUTPUTS
        LDY #$00        ; INIT RECALL INDEX
        LDX #$09        ; INIT DIGIT NUMBER
SIX     LDA CBUFF,Y     ; GET CHARACTER
        STY $00FC       ; SAVE Y FOR MONITOR DISP ROUTINE
        JSR $1F4E       ; MONITOR ROUTINE - DISP CHAR, DELAY 500 CYCLES
        INY             ; SET UP FOR NEXT CHAR
        CPY #$06        ; 6 CHAR DISPLAYED?
        BCC SIX         ; NO
        RTS

AIM 65 version in BASIC

10 PRINTCHR$(47+(INT(RND(1)*2)*45));:GOTO 10

that print random ‘/’ or ‘\’

AIM 65 other hardware page added

For the AIM 65 it was not only Rockwell that produced hardware like video,serial and FDC cards, others also amde hardware for the AIM 65.

I have a page devoted to AIM 65 hardware with new photos, updated and cleaned up documents:

– Comelta S.A. Spain RAM and ROM cards
– Cubit
– Rhines and CRT2 Video
– MTU Micro Technology Unlimited expansions for the AIM 65

And some modern expansions:
SM Baker remakes of video and FDC and bus cards.

post

SM Baker AIM 65 projects

Scott Baker Rockwell AIM-65 Projects

A number of interesting AIM 65 projects found on SM Baker’s github page (thanks Scott for the latest updates)

Backplanes
Designs for 2 and 3 slot backplanes. Gerbers included.

AIM-65 display adapter board

This is a display board based on the RM65 display board.
Supports up to 512KB of onboard ROM, which will be addressed into the 24KB address space starting at 0x9000. The 0xA000 range is left
empty for onboard peripherals. The four-position dipswitch controls which 32KB segment of the 512KB ROM is mapped.

Multi-banked ROM file for display board
ROM image tools

tape-rs232-c1541
Application board for tape, RS232, and Commodore 1541 AH5050.

Speech board with SP0265A

FDC based upon RM65 FDC

Rockwell AIM 65 additions

The Rockwell pages on AIM 65 have had some updates.

There is a new page on AIM 65 hardware produced by others, like video cards, dataloggers and more.

post

Comelta S.A. Spain

Comelta S.A. Electronica de Tecnicas Aplicades , S.A.
Products for the AIM 65 made by this Spanish company, Barcelona.
Scans made by Jaume López, see his Comelta Resources website

Comeltasa brochure
Diotronic (1981) brochure
Price list of the next listed boards
List of manufacturers
Revistas (Recortes)
Señales bus standard S-64
CR-101 6502 SBC
CR-106 8K RAM
CR-107 2K RAM with battery backup
CR-108 EPROM programmer 2708 2716
CR-401 Adapter bus to AIM 65
post

Other AIM 65 Hardware

AB Computer AIM brochure
AIM EXORciser EMB-6 Expansion Board
CTR2 Video interface
VideoRAM baord for various microcomputers such as AIM 65. Made by Graf Elektronik Systeme GMBH Kempten
Complete description with PCB and Circuit diagram.
Video-1 Rines
Video-1 Rines schematics
Video-1 Rines schematics
6847 based video inetrface for AIM 65, complete with circuit diagrams
Notes on the Video-1
Aeolian Kinetics PD24 Logger

Aeolian Kinetics PD24 Logger


Aeolian Kinetics PD24 Logger

Aeolian Kinetics PD24 Logger

Aeolian Kinetics PD24 Logger

Multi-ROM adapters by Steve J.GRay

The PET/CBM MultiROM adapter is usable on the AIM 65 also. It gives a 4x DIP switch selectable choice of 16 ROMs. Handy in the B000 socket, where language ROMs are placed.
A 27512 EPROM holds the ROMs.

Kicad designs here.

post

The Rockwell KIM-1

Once in a while I hear a myth on the internet about Rockwell manufactured the KIM-1. That myth needs to be debunked.

Rockwell did sell KIM-1s as an OEM product around 1977. They bought the KIM-1 PCB, made in a Commodore factory and put a sticker on the right corner, covering the Commodore MOS logo and text, as you can see in the image below.

The documentation such as KIM-1 User Manual and the Circuit Poster were given a new front and back, the contents of the User Manual were 99% coming verbatim from MOS Technology/Commodore. The Programming and Hardware Manual were later (and better) versions of the MOS Technology documents, no trace of the 6501!

I can proof this, in 1978 I bought a KIM-1 from a Dutch distributor Famatra and still have it. It was a Rockwell package. Here you see photos of my Rockwell KIM-1 package labeled as Rockwell but it really is a Commodore MOS Technology product rebranded. It did not take long before Rockwell started to sell the AIM 65 as replacement and I never saw advertisements not a Databook with a Rockwell KIM-1 in it.

The Rockwell KIM-1 User Manual is scanned by me and available on the KIM-1 and MOS Technology manuals page, as are (later versions of) the Rockwell Hardware and Programming manual. I might scan these Rev 0 versions one day also.

See the page of me and my KIM-1 for my first KIM-1 and its history.

You can see the text Commodore and MOS logo shining trough underneath the Rockwell sticker. And the number SC1276 gives away it was manufactured in the Santa Clara Commdore factory.

>


Click here for a large version.

post

MICRO

MICRO The 6502 Journal

Published by Robert M. Tripp, The Computerist
Published from 1977 tot 1983. The first years many KIM-1/SYM-1/AIM-65 articles, slowly faded to Apple Atari etc in later years, and ended in 1984.
The whole archive is here.

Best of MICRO 1

Best of MICRO 1, 1978

Best of MICRO 2

Best of MICRO 2 1979

Best of MICRO 3

Best of MICRO 3, AIM 65 SYM-1 KIM-1 part June 1979 May 1980