home *** CD-ROM | disk | FTP | other *** search
- ;
- ; 256 KB RAM TEST FOR COMMODORE 64
- ;
- ;
- .OPT NOL
- INDEX =$22
- INDEX1 =$24
- HIBASE =648
- PA =$DFC0
- PAS =$DFC1
- PB =$DFC2
- PBS =$DFC3
- TESTP0 =$A000
- VIC =$D000
- VICBNK =$DD00
- BUFFER =$4100
- ;
- AT=255
- RPT=254
- ;
- CHROUT =$FFD2
- CLALL =$FFE7
- ;
- ; BASIC PROGRAM
- *=$0801
- .WORD EOP,1986
- .BYTE $9E,' 2062',0
- EOP .WORD 0
- ;
- JSR CLALL
- LDA #3
- STA VIC+33
- LDA #6
- STA VIC+32
- JSR STRING
- .BYT 144,147,8,14
- .BYT AT,2,5,'256K',194,32,210,193,205,' TESTI ',195,'OMMODORE 64'
- .BYT AT,6,5,193,'LUSTUS'
- .BYT AT,16,5,210,193,205,' LOHKO '
- .BYT AT,8,0,0
- ;
- LDX #0
- TEST00 JSR STRING
- .BYT ' ',207,'SOITEKOODAUS LOHKO ',0
- TXA
- ORA #'0'
- JSR CHROUT
- JSR STRING
- .BYT 13,13,0
- INX
- CPX #4
- BCC TEST00
- ;
- ; ENSIMM[INEN TESTI: ALUSTUS
- JSR STRING
- .BYT AT,6,14,0
- ;
- ; EP[ALUSTUS
- LDA #0
- STA PAS
- STA PBS
- STA PA
- STA PB
- ;
- ; VARSINAINEN ALUSTUSTESTI
- LDA #%00000100
- STA PAS
- STA PBS
- LDA PA
- CMP #$DC
- BNE TEST01
- LDX #IDSTR1-IDSTR0-1
- TEST03 LDA IDSTR0,X
- STA $8000,X
- LDA IDSTR1,X
- STA $C000,X
- DEX
- BPL TEST03
- ; CA2 ON TESTATTU JA HYV[KSI
- ; HAVAITTU, JATKETAAN
- LDX #11
- TEST02 LDA INIT,X
- STA PA,X
- DEX
- BPL TEST02
- ;
- LDX #IDSTR1-IDSTR0-1
- TEST04 LDA IDSTR0,X
- CMP $8000,X
- BNE TEST01
- LDA IDSTR1,X
- CMP $C000,X
- BNE TEST01
- DEX
- BPL TEST04
- BMI CODE00
- TEST01 JMP FAULT
- ;
- ; TESTAA OSOITEKOODAUS LOHKOSSA 0
- ;
- CODE00 JSR OK
- JSR STRING
- .BYT AT,8,29,0
- LDX #0
- CODE01 LDA CODE03,X
- STA BUFFER,X
- INX
- CPX #CODE99-CODE03
- BCC CODE01
- SEI
- JMP BUFFER
- ;
- ; VARSINAINEN TESTI
- ; TALLENTAA JOKA LOHKON TOISEKSI
- ; TAVUKSI KO. LOHKON NUMERON
- ; (NMI T[M[N AIKANA SEKOITTAA
- ; TIETOKONEEN)
- CODE03 LDX #0
- CODE04 TXA
- ORA #$D0
- STA PA
- STX 2
- INX
- CPX #16
- BCC CODE04
- ;
- DEX
- CODE05 TXA
- ORA #$D0
- STA PA
- CPX 2
- SEC
- BNE CODE06
- DEX
- BPL CODE05
- CLC
- CODE06 LDA #$DC
- STA PA
- JMP CODE99
- ;
- CODE99 BCC CODE07
- JMP FAULT
- ;
- CODE07 JSR OK
- ;
- ; TESTAA OSOITEKOODAUS LOHKOSSA 1
- ;
- JSR STRING
- .BYT AT,10,29,0
- LDX #0
- CODE10 TXA
- ASL A
- ASL A
- ASL A
- ASL A
- ORA #$0C
- STA PA
- CPX $4002
- BNE CODE11
- INX
- CPX #16
- BCC CODE10
- LDA #$DC
- STA PA
- ;
- JSR OK
- ;
- ; TESTAA OSOITEKOODAUS LOHKOSSA 2
- ;
- JSR STRING
- .BYT AT,12,29,0
- LDX #0
- CODE20 TXA
- ORA #$F0
- STA PB
- CPX $8002
- BNE CODE11
- INX
- CPX #16
- BCC CODE20
- ;
- JSR OK
- ;
- ; TESTAA OSOITEKOODAUS LOHKOSSA 3
- ;
- JSR STRING
- .BYT AT,14,29,0
- LDX #0
- CODE30 TXA
- ASL A
- ASL A
- ASL A
- ASL A
- ORA #$0E
- STA PB
- CPX $C002
- BNE CODE11
- INX
- CPX #16
- BCC CODE30
- LDA #$FE
- STA PB
- JSR OK
- JMP BITTST
- ;
- CODE11 JMP FAULT
- ;
- ;
- ; TESTAA RAMIN KAIKKIEN BITTIEN
- ; TOIMIVUUS - KOPIOI ENSIN ITSENS[
- ; LOHKOON 15
- ;
- BITTST LDA #$FC
- STA PA
- LDY #0
- STY INDEX
- STY INDEX+1
- STY INDEX1
- LDA #$40
- STA INDEX1+1
- BITT00 LDA (INDEX),Y
- STA (INDEX1),Y
- INY
- BNE BITT00
- INC INDEX+1
- INC INDEX1+1
- BPL BITT00
- ; SIIRR[ MERKKIGENERAATTORI
- LDY #0
- STY INDEX
- STY INDEX1
- LDA #$F8
- STA INDEX+1
- LDA #$D8
- STA INDEX1+1
- SEI
- LDA #%00110011
- STA 1
- BITT01 LDA (INDEX1),Y
- STA (INDEX),Y
- INY
- BNE BITT01
- INC INDEX1+1
- INC INDEX+1
- BNE BITT01
- LDA #%00110111
- STA 1
- CLI
- ;
- ; MUUTA VICIN ARVOT
- LDA #%00011110
- STA VIC+24
- LDA VICBNK
- AND #%11111100
- STA VICBNK
- ; VAIHDA LOHKOA
- LDA #$DF
- STA PA
- ; OHJELMAN TOIMII NYT $3F000:SSA
- ;
- LDA #0
- STA INDEX1
- LDA #$0F
- STA INDEX1+1
- BITT02 JSR BITT10
- INC INDEX1
- LDA INDEX1
- CMP #15
- BCC BITT02
- ;
- ; SIIRR[ LOHKO TAKAISIN
- LDA #$CF
- STA PA
- LDY #0
- STY INDEX
- STY INDEX+1
- STY INDEX1
- LDA #$40
- STA INDEX1+1
- BITT09 LDA (INDEX),Y
- STA (INDEX1),Y
- INY
- BNE BITT09
- INC INDEX+1
- INC INDEX1+1
- BPL BITT09
- ;
- LDA #%00010110
- STA VIC+24
- LDA VICBNK
- ORA #%00000011
- STA VICBNK
- ; VAIHDA LOHKOA
- LDA #$DC
- STA PA
- ; OHJELMAN TOIMII NYT $3C000:SSA
- ; KUTEN NORMAALISTI
- LDA #15
- STA INDEX1
- LDA #$0C
- STA INDEX1+1
- JSR BITT10
- ;
- ; TESTIN L[P[ISY
- ;
- JSR STRING
- .BYT AT,19,5,212,'ESTI L[P[ISTY.',0
- PASS JMP PASS
- ;
- BITT10 LDA INDEX1
- ASL A
- ASL A
- ASL A
- ASL A
- ORA INDEX1+1
- STA PA
- JSR STRING
- .BYT AT,16,15,0
- LDA INDEX1
- ORA #'0'
- CMP #':'
- BCC BITT12
- ADC #134
- BITT12 JSR CHROUT
- JSR STRING
- .BYT AT,16,19,0
- LDA #$40
- STA INDEX+1
- LDY #0
- STY INDEX
- BITT03 LDA INDEX+1
- BITT04 STA (INDEX),Y
- INY
- BNE BITT04
- INC INDEX+1
- BPL BITT03
- ;
- LDA #$40
- STA INDEX+1
- BITT05 LDA INDEX+1
- BITT06 CMP (INDEX),Y
- BNE BITT11
- INY
- BNE BITT06
- INC INDEX+1
- BPL BITT05
- ;
- LDA #$40
- STA INDEX+1
- LDA #%10101010
- BITT07 STA (INDEX),Y
- CMP (INDEX),Y
- BNE BITT11
- INY
- BNE BITT07
- INC INDEX+1
- BPL BITT07
- ;
- LDA #$40
- STA INDEX+1
- LDA #%01010101
- BITT08 STA (INDEX),Y
- CMP (INDEX),Y
- BNE BITT11
- INY
- BNE BITT08
- INC INDEX+1
- BPL BITT08
- ;
- JMP OK
- ;
- BITT11
- ;
- ; TULOSTA VIRHEILMOITUS JA JUMIUDU
- FAULT JSR STRING
- .BYT 'VIKA.',0
- FAUL00 JMP FAUL00
- ;
- ; TULOSTA OK.
- OK JSR STRING
- .BYT 207,'K.',0
- RTS
- ;
- ; ALUSTUSTIEDOT
- INIT .BYT $DC,%00110100
- .BYT $FE,%00000100
- .BYT $FF,0,$FF,0
- .BYT $DC,%00000100
- .BYT $FE,%00000100
- ;
- ; TUNNISTUSTEKSTIT
- ;
- IDSTR0 .BYT 'CBM256:38'
- IDSTR1 .BYT 'CBM256:3C'
- ;
- .LIB STRING.A
- ;
- .END
-