home *** CD-ROM | disk | FTP | other *** search
- utilities1-src
- prg FORMATTED geos FILE v1.0
- wRITE iMAGE v2.0
- GEOwRITE v2.0
- t-gRAB dATA v2
- pLEASE sELECT oPTION:
- NEW DOCUMENT
- EXISTING DOCUMENT
- TO DESKtOP
- iNSERT NEW DISK INTO DISK
- .IF (0)
- ***************************************************
- gENERIC dISK eRROR hANDLER
- @aUTHOR:
- wILLIAM c. cOLEMAN
- @dATE:
- 22 mARCH 1988
- @nOTICE:
- cOPYRIGHT (c) 1988, bLASTERsOFT, wILLIAM c. cOLEMAN
- PAGE 1TABLES AND TEXT STRINGS FOR dISKeRROR.
- PAGE 2dISKeRROR
- PAGE 3hIbEEP,lOWbEEP,bEEP
- PAGE 4cLEARsCREEN
- ***************************************************
- .ENDIF
- .IFpASS1
- .NOEQIN
- .NOGLBL
- .INCLUDEGEOSsYM
- .INCLUDEGEOSmAC
- .EQIN
- .GLBL
- .ENDIF
- .PSECT
- @deRR_bOX:
- .BYTEdef_db_pos{$7c}1
- .BYTEdbtxtstr,42,txt_ln_1_y
- .WORDDERRTEXT
- .BYTEdbvarstr,txt_ln_x,txt_ln_3_y,R5
- .BYTEdb_usr_rout
- .WORDhIbEEP
- .BYTEok,dbi_x_2,dbi_y_2
- .BYTEnull
- @ERR1:
- .BYTE "nOT eNOUGH bLOCKS",null
- @ERR2:
- .BYTE "iNVALID tRACK",null
- @ERR3:
- .BYTE "iNSUFFICIENT sPACE",null
- @ERR4:
- .BYTE "dIRECTORY IS fULL",null
- @ERR5:
- .BYTE "fILE nOT fOUND",null
- @ERR6:
- .BYTE "bAD bam IN dRIVE",null
- @ERR7:
- .BYTE "cAN'T oRGANIZE A reu",null ;sHOULD BE unopen_vlir_file
- @ERR10:
- .BYTE "gEOS sTRUCTURE mISMATCH",null
- @ERR11:
- .BYTE "bUFFER oVERfLOW",null
- @ERR12:
- .BYTE "dIRECTORY IS eMPTY",null ;sHOULD BE cancel_err
- @ERR13:
- .BYTE "dEVICE nOT pRESENT",null
- @ERR20:
- .BYTE "nO hEADER bLOCK",null
- @ERR21:
- .BYTE "uNFORMATTED OR mISSING dISK",null
- @ERR22:
- .BYTE "nO dATA bLOCK fOUND",null
- @ERR23:
- .BYTE "dATA cHECKSUM eRROR",null
- @ERR24:
- .BYTE "iNCOMPATABLE fILETYPES",null
- @ERR25:
- .BYTE "wRITE vERIFY eRROR",null
- @ERR26:
- .BYTE "wRITE pROTECT oN",null
- @ERR27:
- .BYTE "hEADER cHECKSUM eRROR",null
- @ERR29:
- .BYTE "dISK id mISMATCH",null
- @ERR73:
- .BYTE "dos mISMATCH",null
- @ERRXX:
- .BYTE "uNRECOGNIZED eRROR cODE",null
- @DERRTEXT:
- .BYTE boldon,"* dISK eRROR *",null
- @ERRTAB:
- .WORDERR1,ERR2,ERR3,ERR4,ERR5,ERR6,ERRXX
- .WORDERRXX,ERRXX,ERR10,ERR11,ERR12,ERR13
- @ERRTABHI:
- .WORDERR20,ERR21,ERR22,ERR23,ERR24,ERR25,ERR26,ERR27,ERRXX,ERR29
- ;**************************************************
- @dISKeRROR
- - oPENS AN ok DIALOG BOX TO INFORM USER THAT THERE
- ;WAS A DISK ERROR.
- @pASS:
- x - ERROR CODE
- @rETURN:
- NOTHING
- ;**************************************************
- @dISKeRROR:
- PHA;sAVE REGISTERS
- TXA
- PHA
- TYA
- PHA
- pUSHwR5
- pUSHbCURRENTmODE
- CPX#$20
- BCS01$;bRANCH IF HIGH ERROR
- DEX
- TXA
- ASLA
- TAY
- BRA04$
- @01$:
- CPX#$73;tHIS ONE IS NOT CONSECUTIVE...
- BNE02$;...SO WE CHECK IT BY HAND
- lOADwR5,ERR73
- BNE05$;aLWAYS BRANCHES
- @02$:
- CPX#$2A;hIGHEST ERROR CODE+1
- BCC03$
- lOADwR5,ERRXX;uNRECOGNIZED ERROR
- BNE05$;aLWAYS BRANCHES
- @03$:
- TXA;dO HIGH ERROR GROUP
- SBC#$1F
- ASLA
- TAY
- @04$:
- LDAERRTABHI,Y
- STAR5l
- LDAERRTABHI+1,Y
- STAR5h
- @05$:
- lOADwR0,deRR_bOX
- JSRdOdLGbOX
- pOPbCURRENTmODE
- pOPwR5
- PLA
- TAX
- PLA
- TAY
- PLA
- RTS
- ;**************************************************
- @hIbEEP, lOWbEEP
- - gENERATES A BELL-LIKE TONE.
- @pASS,rETURN,dESTROYED:
- nOTHING
- ;**************************************************
- @lOWbEEP:
- PHA
- TXA
- PHA
- TYA
- PHA
- LDX#40
- BNElbp_
- @hIbEEP:
- PHA
- TXA
- PHA
- TYA
- PHA
- LDX#20
- @lbp_:
- JSRbEEP
- PLA
- TAY
- PLA
- TAX
- PLA
- RTS
- ;**************************************************
- @bEEP
- -gENERATES A BELL-LIKE TONE.
- @pASS:
- x - FREQUENCY
- @rETURN:
- vOLUME LEFT AT MAXIMUM
- @dESTROYED:
- a,x,y
- ;**************************************************
- @bEEP:
- SEI
- lOADbcpu_data,io_in
- STXSIDBASE+1
- LDY#0
- STYSIDBASE+5;y WILL BE USED IN LOOP
- lOADbSIDBASE+6,%11111001
- lOADbSIDBASE+15,55
- lOADbSIDBASE+24,15
- LDX#%00010101
- STXSIDBASE+4;gATE SOUND ON
- @01$:
- DEY
- BNE01$
- DEX
- BNE01$
- lOADbSIDBASE+4,%00010100
- lOADbcpu_data,ram_64k
- CLI
- RTS
- ;**************************************************
- @cLEARsCREEN
- - cLEARS THE SCREEN *FAST* TO BG 0
- ;**************************************************
- @cLEARsCREEN:
- lOADwR0,screen_base
- lOADwR1,back_scr_base
- LDX#$7D
- @01$:
- LDY#$3F
- LDA#0
- @02$:
- STA(R0),Y
- STA(R1),Y
- DEY
- BPL02$
- LDAR0l
- ADD#$40
- STAR0l
- STAR1l
- BCC03$
- INCR0h
- INCR1h
- @03$:
- DEX
- BNE01$
- RTS
- ;************************ eof: utilities
-