Sample session
* 7052 B0 00 FF 00 FF .M 0200 00 00 00 00 00 00 00 00 .: 0200 33 44 55 .M 0200 33 44 55 00 00 00 00 00 .R 7052 B0 00 FF 00 FF .: 3455 55 55 55 55 55 .R 3455 55 55 55 55 55 .M 00F6 55 34 55 55 55 55 55 02 .M 7000 85 F9 A9 23 D0 55 A9 16 .: 7000 77? .? .
The ‘:’ command reacts different upon previous actions:
- if the previous command was M, the current address types in with M is printed and bytes can be typed in that will be placed at the current PC. The current address is incremented and the next byte can be entered, till maximum 8 are entered 85
- if the previous command was R the program counter has to be typed and the 5 registers PS A X Y Z (or less by pressing ENTER).
- after a ‘:’ command, the next ‘:’ will behave the same as following the M command
Note the current address and the Program Counter are not the same. The GO command requires the Program Counter to be set to the desired address.
0282 70E0 ; 0283 70E0 ; READ AND STORE BYTE. NO STORE IF SPACE OR RCNT=0. 0284 70E0 ; 0285 70E0 20 B3 73 BYTE JSR RDOB ; CHAR IN A, CY=0 IF SP 0286 70E3 90 10 BCC BY3 ; SPACE 0287 70E5 ; 0288 70E5 A2 00 LDX #0 ; STORE BYTE 0289 70E7 81 EE STA (TMP0,X) 0290 70E9 ; 0291 70E9 C1 EE CMP (TMP0,X) ; TEST FOR VALID WRITE (RAM) 0292 70EB F0 05 BEQ BY2 0293 70ED 68 PLA ; ERR, CLEAR JSR ADR IN STACK 0294 70EE 68 PLA 0295 70EF 4C BA 70 JMP ERROPR 0296 70F2 ; 0297 70F2 20 7C 72 BY2 JSR CADD ; INCR CKSUM 0298 70F5 20 97 73 BY3 JSR INCTMP ; GO INCR TMPO ADR 0299 70F8 C6 FE DEC RCNT 0300 70FA 60 RTS
BYTE
What is happening here?
- Read a byte (two hex characters) (285)
- if space skip writing databyte (286, 289)
- store as binary in current address and increment current address (289)
- if databyte read back is not equal databyte then error out of caller also (291-295)
- add to checksum (checksum is part of L command) (297)
- increment address to store into (298)
- decrement number of bytes to write (299)
0272 70D0 A5 EE PUTP LDA TMP0 ; MOVE TMP0 TO PCH,PCL 0273 70D2 85 F6 STA PCL 0274 70D4 A5 EF LDA TMP0+1 0275 70D6 85 F7 STA PCH 0276 70D8 60 RTS 0302 70FB A9 F8 SETR LDA #FLGS ; SET TO ACCESS REGS 0303 70FD 85 EE STA TMP0 0304 70FF A9 00 LDA #0 0305 7101 85 EF STA TMP0+1 0306 7103 A9 05 LDA #5 0307 7105 60 RTS
PUTP
Move current address in TMP0 to Program Counter PCL
SETR
- The address of the saved registers is loaded in TMP0, TMP0+1
- A is laoded with 5, to let DSPLYM show the registers SP A X Y Z
0349 713A ; ALTER LAST DISPLAYED ITEM (ADR IN TMPC) 0350 713A ; 0351 713A C6 E9 ALTER DEC PREVC ; R INDEX = 1 0352 713C D0 0D BNE A3 0353 713E ; 0354 713E 20 A4 73 JSR RDOA ; CY=0 IF SP 0355 7141 90 03 BCC A2 ; SPACE 0356 7143 20 D0 70 JSR PUTP ; ALTER PC 0357 7146 20 FB 70 A2 JSR SETR ; ALTER R*S 0358 7149 D0 05 BNE A4 ; JMP A4 (SETR RETURNS ACC = 5) 0359 714B 20 9A 72 A3 JSR WROA ; ALTER M, TYPE ADR 0360 714E A9 08 LDA #8 ; SET CNT=8 0361 7150 ; 0362 7150 85 FE A4 STA RCNT 0363 7152 20 77 73 A5 JSR SPACE ; PRESERVES Y 0364 7155 20 E0 70 JSR BYTE 0365 7158 D0 F8 BNE A5 0366 715A F0 D8 A9 BEQ BEQS1 0345 7134 4C 86 70 BEQS1 JMP START
What is happening here?
- decrement previous command index(set in START) :=1 R=2 M=3 (351-352)
- if > 0 then M command, also resets R command mode (358)
- else previous was R command: read address and put in Program counter (354-358, 362)
- set current address to registers (FLGS) and 5 bytes to write (357)
- M command: show address, 8 bytes to write (360-361
- loop bytes to write
- print space (363)
- read and store byte (if not space) (364)
- if error entering byte then error out via BYTE
- until all bytes to write are done(365)
- back to START for next command 366, 345)
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...