94 lines
1.6 KiB
NASM
94 lines
1.6 KiB
NASM
*
|
||
*SECURITY EXERCISE TABLE
|
||
*
|
||
SECBTAB
|
||
.BYTE >B ;CLEAR THE SUCKER
|
||
.BYTE >B ;CLEAR THE SUCKER
|
||
.BYTE >B ;CLEAR THE SUCKER
|
||
.BYTE >F ;CLOCK IT
|
||
.BYTE >14 ;READ A 1
|
||
.BYTE >7 ;NOP
|
||
.BYTE >F ;CLOCK IT
|
||
.BYTE >24 ;READ
|
||
.BYTE >F ;CLOCK IT
|
||
.BYTE >24 ;READ
|
||
.BYTE >F ;CLOCK IT
|
||
.BYTE >04 ;READ
|
||
.BYTE >F ;CLOCK IT
|
||
.BYTE >34 ;READ
|
||
.BYTE >F ;CLOCK IT
|
||
.BYTE >34 ;READ
|
||
.BYTE >F ;CLOCK IT
|
||
.BYTE >14 ;READ A 1
|
||
|
||
.BYTE >F ;CLOCK IT
|
||
.BYTE >24 ;READ A 1
|
||
|
||
; .BYTE >B ;CLEAR THE SUCKER
|
||
|
||
.BYTE >E ;ROR IT
|
||
.BYTE >14 ;READ A 1
|
||
.BYTE >E ;ROR IT
|
||
.BYTE >24 ;READ
|
||
.BYTE >E ;ROR IT
|
||
.BYTE >14 ;READ A 1
|
||
.BYTE >E ;ROR IT
|
||
.BYTE >04 ;READ
|
||
.BYTE >E ;ROR IT
|
||
.BYTE >24 ;READ
|
||
.BYTE >E ;ROR IT
|
||
.BYTE >34 ;READ
|
||
.BYTE >7 ;NOP
|
||
.BYTE >7 ;NOP
|
||
.BYTE >7 ;NOP
|
||
.BYTE >E ;ROR IT
|
||
.BYTE >14 ;READ A 1
|
||
.BYTE >FF ;ITS ALL OVER
|
||
.EVEN
|
||
; .BSS SCDATA,64*16,1
|
||
*
|
||
*SECURITY CHIP JIVE
|
||
*A0=TABLE
|
||
*LOCKS UP IF THINGS ARE UNCOOL
|
||
*
|
||
SECBUST
|
||
MOVI SECBTAB,A0
|
||
GETST A6
|
||
DINT
|
||
; MOVI SCDATA,A5
|
||
SECLOOP
|
||
MOVB *A0,A1
|
||
ADDK 8,A0
|
||
SLL 24,A1 ; STRIP OUT THE CRUD
|
||
SRL 24,A1
|
||
CMPI >FF,A1
|
||
JREQ SECCHX ; WE ARE DONE
|
||
MOVE A1,A2
|
||
SLL 8,A1
|
||
MOVI SECCHIP/2,A3
|
||
SLL 1,A3
|
||
ANDI >0F00,A1
|
||
MOVE A1,*A3,W
|
||
CMPI >0400,A1 ;READ IT ?
|
||
JRNE SECLOOP ;NO READ CYCLE
|
||
|
||
MOVE *A3,A4,W ;CHECK OUT READ DATA
|
||
SLL 17,A4
|
||
SRL 30,A4
|
||
SRL 4,A2
|
||
CMP A4,A2
|
||
; MOVE A4,*A5+,W
|
||
; JRUC SECLOOP
|
||
JREQ SECLOOP
|
||
SECERR ;BOGUS SHIT = ERROR
|
||
MOVI >9456,A1
|
||
MOVI >FFE00000,A0
|
||
SECERL
|
||
MOVE *A0+,A2,W
|
||
DSJS A1,SECERL
|
||
JRUC SECERR
|
||
SECCHX
|
||
PUTST A6
|
||
JUMP B0
|
||
|
||
|