mirror of
https://github.com/zellyn/goapple2.git
synced 2024-06-26 05:29:30 +00:00
143 lines
2.8 KiB
NASM
143 lines
2.8 KiB
NASM
|
***************************
|
||
|
* *
|
||
|
* RAMTEST: *
|
||
|
* *
|
||
|
* BY WOZ *
|
||
|
* 6/77 *
|
||
|
* *
|
||
|
* COPYRIGHT 1987 BY: *
|
||
|
* APPLE COMPUTER INC *
|
||
|
* *
|
||
|
***************************
|
||
|
|
||
|
*
|
||
|
* EQUATES
|
||
|
*
|
||
|
DATA EQU $0 TEST DATA $00 OR $FF
|
||
|
NDATA EQU $1 INVERSE TEST DATA.
|
||
|
TESTD EQU $2 GALLOP DATA.
|
||
|
R3L EQU $6 AUX ADR POINTER.
|
||
|
R3H EQU $7
|
||
|
R4L EQU $8 AUX ADR POINTER.
|
||
|
R4H EQU $9
|
||
|
R5L EQU $A AUX ADR POINTER.
|
||
|
R5H EQU $B
|
||
|
R6L EQU $C GALLOP BIT MASK.
|
||
|
R6H EQU $D ($0001 TO 2^N)
|
||
|
YSAV EQU $34 MONITOR SCAN INDEX.
|
||
|
A1H EQU $3D BEGIN TEST BLOCK ADR.
|
||
|
A2L EQU $3E LEN (PAGES) FROM MON.
|
||
|
SETCTLY EQU $D5B0 ;SET UP CNTRL-Y LOCATION
|
||
|
PRBYTE EQU $FDDA BYTE PRINT SUBR.
|
||
|
COUT EQU $FDED CHAR OUT SUBR.
|
||
|
PRERR EQU $FF2D PRINTS 'ERR-BELL'
|
||
|
BELL EQU $FF3A
|
||
|
|
||
|
*
|
||
|
* RAMTEST:
|
||
|
*
|
||
|
ORG $D5BC
|
||
|
OBJ $A5BC
|
||
|
SETUP LDA #$C3
|
||
|
LDY #$D5
|
||
|
JMP SETCTLY
|
||
|
RAMTST LDA #$0
|
||
|
JSR TEST
|
||
|
LDA #$FF
|
||
|
JSR TEST
|
||
|
JMP BELL
|
||
|
TEST STA DATA
|
||
|
EOR #$FF
|
||
|
STA NDATA
|
||
|
LDA A1H
|
||
|
STA R3H
|
||
|
STA R4H
|
||
|
STA R5H
|
||
|
LDY #$0
|
||
|
STY R3L
|
||
|
STY R4L
|
||
|
STY R5L
|
||
|
LDX A2L
|
||
|
LDA DATA
|
||
|
TEST01 STA (R4L),Y
|
||
|
INY
|
||
|
BNE TEST01
|
||
|
INC R4H
|
||
|
DEX
|
||
|
BNE TEST01
|
||
|
LDX A2L
|
||
|
TEST02 LDA (R3L),Y
|
||
|
CMP DATA
|
||
|
BEQ TEST03
|
||
|
PHA
|
||
|
LDA R3H
|
||
|
JSR PRBYTE
|
||
|
TYA
|
||
|
JSR PRBYSP
|
||
|
LDA DATA
|
||
|
JSR PRBYSP
|
||
|
PLA
|
||
|
JSR $D692 !!! Diverges - PRBYCR in listing. d692 is right after listing
|
||
|
TEST03 INY
|
||
|
BNE TEST02
|
||
|
INC R3H
|
||
|
DEX
|
||
|
BNE TEST02
|
||
|
LDX A2L
|
||
|
TEST04 LDA NDATA
|
||
|
STA (R5L),Y
|
||
|
STY R6H
|
||
|
STY R6L
|
||
|
INC R6L
|
||
|
TEST05 LDA NDATA
|
||
|
JSR TEST6
|
||
|
LDA DATA
|
||
|
JSR TEST6
|
||
|
ASL R6L
|
||
|
ROL R6H
|
||
|
LDA R6H
|
||
|
CMP A2L
|
||
|
BCC TEST05
|
||
|
LDA DATA
|
||
|
STA (R5L),Y
|
||
|
INC R5L
|
||
|
BNE TEST04
|
||
|
INC R5H
|
||
|
DEX
|
||
|
BNE TEST04
|
||
|
RTS1 RTS
|
||
|
TEST6 STA TESTD
|
||
|
LDA R5L
|
||
|
EOR R6L
|
||
|
STA R4L
|
||
|
LDA R5H
|
||
|
EOR R6H
|
||
|
STA R4H
|
||
|
LDA TESTD
|
||
|
STA (R4L),Y
|
||
|
LDA (R5L),Y
|
||
|
CMP NDATA
|
||
|
BEQ RTS1
|
||
|
PHA
|
||
|
LDA R5H
|
||
|
JSR PRBYTE
|
||
|
LDA R5L
|
||
|
JSR PRBYSP
|
||
|
LDA NDATA
|
||
|
STA (R5L),Y
|
||
|
JSR PRBYSP
|
||
|
PLA
|
||
|
JMP $02CB --- diverges. JSR PRBYSP in listing
|
||
|
LDA R4H
|
||
|
JSR PRBYTE
|
||
|
LDA R4L
|
||
|
JSR PRBYSP
|
||
|
LDA TESTD
|
||
|
PRBYCR JSR PRBYSP
|
||
|
JSR PRERR
|
||
|
LDA #$8D
|
||
|
JMP COUT
|
||
|
PRBYSP JSR PRBYTE
|
||
|
LDA #$A0
|
||
|
JMP COUT
|