Mercurial > hg > Members > kono > nitros9-code
diff level1/cmds/verify.asm @ 0:6641a883d6b0
Initial revision
author | boisy |
---|---|
date | Thu, 04 Apr 2002 16:34:12 +0000 |
parents | |
children | fed96c42e0b4 |
line wrap: on
line diff
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/level1/cmds/verify.asm Thu Apr 04 16:34:12 2002 +0000 @@ -0,0 +1,164 @@ +******************************************************************** +* Verify - Verify a module's CRC +* +* $Id$ +* +* Ed. Comments Who YY/MM/DD +* ------------------------------------------------------------------ +* 5 Original Tandy distribution version + + nam Verify + ttl Verify a module's CRC + +* Disassembled 98/09/15 00:03:43 by Disasm v1.6 (C) 1988 by RML + + ifp1 + use defsfile + endc + +tylg set Prgrm+Objct +atrv set ReEnt+rev +rev set $01 +edition set 5 + + mod eom,name,tylg,atrv,start,size + +u0000 rmb 1 +u0001 rmb 1 +u0002 rmb 1 +u0003 rmb 2 +u0005 rmb 1 +u0006 rmb 2 +u0008 rmb 2 +u000A rmb 57 +u0043 rmb 195 +u0106 rmb 1000 +size equ . + +name fcs /Verify/ + fcb edition + +start leas >u0106,u + sts <u0006 + tfr y,d + subd <u0006 + std <u0008 + clr <u0005 +L0023 lda ,x+ + cmpa #$20 + beq L0023 + anda #$5F + cmpa #$55 + bne L0031 + inc <u0005 +L0031 ldd #$0009 + std <u0003 + lbsr L00F6 + bcs L004D + cmpy #$0009 + bne L0055 + ldd ,x + cmpd #$87CD + bne L0055 + bsr L0059 + bra L0031 +L004D cmpb #$D3 + bne L0052 + clrb +L0052 os9 F$Exit +L0055 ldb #$CD + bra L0052 +L0059 clrb + lda #$08 +L005C eorb ,x+ + deca + bne L005C + lda <u0005 + bne L0079 + eorb ,x + incb + beq L0070 + leax >L012F,pcr + bra L0074 +L0070 leax >L0115,pcr +L0074 lbsr L010B + bra L007C +L0079 comb + stb ,x +L007C ldx <u0006 + ldy $02,x + leay -$03,y + sty <u0003 + ldd #$FFFF + std <u0000 + stb <u0002 + bsr L00D6 + lda <u0005 + bne L00B6 + ldd #$0003 + std <u0003 + bsr L00D6 + lda <u0000 + cmpa #$80 + bne L00A8 + ldd <u0001 + cmpd #$0FE3 + beq L00AE +L00A8 leax >L015C,pcr + bra L00B2 +L00AE leax >L014C,pcr +L00B2 bsr L010B + bra L00CF +L00B6 com <u0000 + com <u0001 + com <u0002 + lda #$01 + leax ,u + ldy #$0003 + os9 I$Write + bcs L0052 + clra + os9 I$Read + bcs L0052 +L00CF rts +L00D0 bsr L00F6 + lbcs L0052 +L00D6 ldy <u000A + beq L00D0 + os9 F$CRC + lda <u0005 + beq L00EB + lda #$01 + os9 I$Write + lbcs L0052 +L00EB ldd <u0003 + subd <u000A + std <u0003 + bne L00D0 + std <u000A + rts +L00F6 clra + ldx <u0006 + ldy <u0008 + cmpy <u0003 + bls L0104 + ldy <u0003 +L0104 os9 I$Read + sty <u000A + rts +L010B lda #$02 + ldy #$0050 + os9 I$WritLn + rts +L0115 fcc "Header parity is correct." + fcb C$CR +L012F fcc "Header parity is INCORRECT !" + fcb C$CR +L014C fcc "CRC is correct." + fcb C$CR +L015C fcc "CRC is INCORRECT !" + fcb C$CR + + emod +eom equ * + end