The GO command allows to run a program.
– Load a program via the LH load papertape command. End the load with typing ;00
– set breakpoints with the BRK ($00) instruction.
– Set the TIM to Registermode with R
– Set the current address with ‘:’ followed by the address in four hex bytes
– Type G
Inspect and alter registers with the M and R and : commands
Remove breakpoints by inserting the original instruction code
0065 0000 ; SETTING AND RESETTING PROGRAM BREAKPOINTS 0066 0000 ; ----------------------------------------- 0067 0000 ; 0068 0000 ; BREAKPOINTS ARE SET AND RESET USING THE MEMORY DISPLAY 0069 0000 ; AND ALTER COMMANDS. BRK HAS A '00' OPERATION CODE. 0070 0000 ; TO SET A BREAKPOINT SIMPLY DISPLAY THE MEMORY LOCATION 0071 0000 ; (FIRST INSTRUCTION BYTE) AT WHICH THE BREAKPOINT IS 0072 0000 ; TO BE PLACED THEN ALTER THE LOCATION TO '00'. THERE IS 0073 0000 ; NO LIMIT TO THE NUMBER OF BREAKPOINTS THAT CAN BE 0074 0000 ; ACTIVE AT ONE TIME. 0075 0000 ; TO RESET A BREAKPOINT, RESTORE THE ALTERED MEMORY LOCATION 0076 0000 ; TO ITS ORIGINAL VALUE. 0077 0000 ; WHEN AND IF A BREAKPOINT IS ENCOUNTERED DURING EXECUTION, 0078 0000 ; THE BREAKPOINT DATA PRECEDEC BY AN ':' IS DISPLAYED. 0079 0000 ; THE PROGRAM COUNTER VALUE DISPLAYED IS THE BRK 0080 0000 ; INSTRUCTION LOCATION + 1.
Example program
0001 0000 ;
0002 0000 ; TIM checkout program
0003 0000 ; TIM manual page 17
0004 0000 ;
0005 0000 ; .R 0117 3F 6C 0D FD FF
0006 0000 ; .: 0100
0007 0000 ;
0008 0000 ; .R 0100 B0 10 0D 05 FF
;.G
; !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmno
0009 0000 ; pqrstuvwxyz{|}
0010 0000 ; * 0116 3F 7E 0D FD FF
0011 0000 ; .
0012 0000
0013 0000
0014 0000 ;
0015 0000 CRLF = $728A ; CRLF
0016 0000 WRT = $72C6 ; write a character to console
0017 0000 ;
0018 0000 ; zeropage
0019 0000 CHAR = $00 ; storage for character
0020 0000 ;
0021 0100 .ORG $0100 ; start at $0100
0022 0100 ;
0023 0100 20 8A 72 CHSET JSR CRLF
0024 0103 A9 20 LDA #$20 ; Start with space
0025 0105 85 00 STA CHAR ;
0026 0107 ;
0027 0107 A5 00 LOOP LDA CHAR ; get character
0028 0109 C9 7E CMP #$7E
0029 010B F0 08 BEQ DONE
0030 010D 20 C6 72 JSR WRT ; print character
0031 0110 E6 00 INC CHAR
0032 0112 4C 07 01 JMP LOOP ; next char
0033 0115 ;
0034 0115 00 DONE BRK
0035 0116 ;
0036 0116 .END
0037 0116
0038 0116
tasm: Number of errors = 0
.LH
;160100208A72A9208500A500C97EF00820C672E6004C07010007F7
;00
.R CE05 35 55 DB 00 DB
.: 0100
.R 0100 35 55 DB 00 DB
.G
!"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmno
pqrstuvwxyz{|}
* 0116 33 7E 0D 05 FF
.
See also:
Jolt with 4K and power supply
With thanks to Jonathan Chapman of Glitchworks who found a Jolt system, here images of a Jolt with 4K memory, an experim...
TERC KIM-1 Interface set
A recent acquisition, the TERC (Technical Education Research Centers) KIM-1 Interface set. An educational tool to work w...
6502 tester NMOS CMOS 1-8MHz
The 6502 W65C02 6502C CPU tester NMOS / CMOS 1-8MHz is a CPU tester for 40 pin 6502/65C02 and WD65C02 and Sally.
The...
680x/650x Test system
The 680x/650x Test system allows to test, with the CPU itself performing the test, the MC680X and MCS650X families.
T...