xtablo EQU &70 xtabhi EQU &71 comrun EQU &70 ; &71 mstmpy EQU &72 htmp EQU &72 helpind EQU &73 ; &74 helpind2 EQU &75 ; &76 htmpy EQU &77 xtmp EQU &78 comprint EQU &79 cpflag EQU &7A stacksave EQU &39F comnum EQU &3A0 pbuffon EQU &3A1 numzpage EQU &20 ;********************************* ; The ROM header ;********************************* send_poke STX &FE30 ;*SEND JMP service ; Service entry DB &82 ; ROM type DB headcopy-&8000 ; Copyright ptr DB &01 ; Version headtitle ASC "Hackers ROM" DB 0 ; Title ASC "@VERSION" ; Version string headcopy DB 0 ASC "(C) James Bonfield & Stephen Youell 1993" DB 0 ; Copyright string DW 0 ; Tube address DW 0 ;********************************* ; Service entry point ;********************************* service PHA TXA PHA TYA PHA LDX #numzpage-1 heloop0 LDA &70,X PHA DEX BPL heloop0 TSX LDA &103+numzpage,X CMP #&04 BNE notcommand JSR command notcommand CMP #&09 BEQ help CMP #&03 BNE romquit ; boot - print message on BREAK LDA #&00 STA pbuffon JSR dispheadtitle JSR &FFE7 romquit LDX #&00 heloop1 PLA STA &70,X INX CPX #numzpage BCC heloop1 PLA TAY PLA TAX PLA RTS ;********************************* ; *HELP request ;********************************* help LDA (&F2),Y CMP #&0D BNE spechelp JSR &FFE7 JSR dispheadtitle ; Now print subtopics LDX #0 topic2 JSR indent2 topic LDA subjects,X BEQ endtopic JSR &FFEE INX BNE topic endtopic JSR &FFE7 INX LDA subjects,X BPL topic2 ; Respond to specific *HELP ; eg *HELP MEM. spechelp JSR spechelp2 JMP romquit spechelp2 LDA #>subjects STA xtablo LDA #oswrch_con STA &20E LDA #comm STA xtablo LDA #" tok1 ASC "" tok2 ASC "bank>" tok3 ASC "" tok5 ASC "<(to)(+" tok6 ASC "<(to " tok7 ASC ")(+" tok8 ASC "start>" tok9 ASC "len)>" tok10 ASC "dest" tok11 ASC "trks)> " tok12 ASC "trk> " tok13 ASC "trk" tok14 ASC " " tok15 ASC "" tok21 ASC "(byte)" tok22 tok23 ASC "offset" tok24 ASC ")(" tok25 ASC "(<" tok26 ASC "<(" tok27 ASC ")>" tok28 ASC "))" tok29 ASC "> " tok30 ASC " <" tok31 ASC " (" tok32 ASC " ..." tok33 h_mem_coms IFDEF X_MEM H_MEM_MDIS EQU -1 ELSE IFDEF X_MDIS H_MEM_MDIS EQU -1 ELSE H_MEM_MDIS EQU 0 FI FI IF H_MEM_MDIS h_mem h_mdis DB &9D,&83,&9A,' ',&85,&9A FI IFDEF X_MCOPY H_MCPY_MSWP EQU -1 ELSE IFDEF X_MSWAP H_MCPY_MSWP EQU -1 ELSE IFDEF X_MCMP H_MCPY_MSWP EQU -1 ELSE H_MCPY_MSWP EQU 0 FI FI FI IF H_MCPY_MSWP h_mcopy h_mswap h_mcmp DB &9D,&83,' ','o','t',&9A,' ',&83 DB ' ',&84,'(',&9E,&8B,&9F,&8A,&86 DB &9E,&84 FI IFDEF X_MFILL H_MFILL_MSRCH EQU -1 ELSE IFDEF X_MSEARCH H_MFILL_MSRCH EQU -1 ELSE H_MFILL_MSRCH EQU 0 FI FI IF H_MFILL_MSRCH h_mfill h_msearch DB ')',&83,&9F,IFS,&A0,&A1,&9C,'"' DB &92,&91,' ',&8A,&86,&9E,&84 FI IFDEF X_MCRC h_mcrc DB &8A,&86,&9E,&84 FI h_disc_coms h_dedit h_idedit IFDEF X_FORMAT h_format DB ')',&9D,&85,' ','d','i',&9A,&8F DB '(',&9E,'e','z','i','s',' ',&90 DB '(',&8C,&88,&8E,&87,&8D,' ',&84 DB ' ',&82 FI IFDEF X_SECTLOAD H_SCTLDSV EQU -1 ELSE IFDEF X_SECTSAVE H_SCTLDSV EQU -1 ELSE H_SCTLDSV EQU 0 FI FI IF H_SCTLDSV h_sectload h_sectsave DB ')',&82,'(',&8F,&9E,&90,' ',&9C DB 'L',&99,'P',&9B,&8D,&9F,&85,'<' FI IFDEF X_LOADIDS h_loadids DB ')',&82,'(',&8F,&8D,&9F,&85,'<' FI IFDEF X_PIDS h_pids DB ')',&82,'(',&8F,&8D,'<' FI IFDEF X_VERIFY h_verify DB ')','E','(',&8C,&88,&8E,&87,&8D DB ' ',&84,' ',&82 FI IFDEF X_DMAP h_dmap DB ')',&82,'(',&8C,&88,&8E,&87,&8D DB ' ',&84 FI IFDEF X_DFILL h_dfill DB ')',&82,' ',IFS,&A0,&A1,&9C,'"' DB &92,&91,&8F,&9E,&90,&8D,'<' FI IFDEF X_FBACKUP h_fbackup DB &82,' ',&82 FI IFDEF X_PENABLE h_penable DB &9C,'f','f','o',&99,'n','o',&9B FI IFDEF X_GAPS h_gaps DB ')',&82,'(' FI h_file_coms IFDEF X_DLOAD H_FSP EQU -1 ELSE IFDEF X_DRUN H_FSP EQU -1 ELSE IFDEF X_FDELETE H_FSP EQU -1 ELSE IFDEF X_FCRC H_FSP EQU -1 ELSE H_FSP EQU 0 FI FI FI FI IF H_FSP h_dload h_drun h_fdelete h_fcrc DB &81 FI IFDEF X_TOUCH h_touch DB &85,' ','c','e','x','e',&9F,&85 DB ' ','d','a','o','l',&9F,&81 FI IFDEF X_CONCAT h_concat DB &A1,&95,&94,&9F,&95,' ',&8B,'<' FI IFDEF X_FCOPY h_fcopy DB ')',&A1,&81,&A0,&82,' ',&82 FI IFDEF X_FDIS h_fdis DB ')','>',&98,'<',&A0,&81 FI IFDEF X_SPOOLDIS h_spooldis DB &8A,&86,&9E,&84,' ',&81 FI IFDEF X_CLOSE h_close DB ')','>' ASC 'lennahc' DB &9A FI IFDEF X_DES h_des ASC ')>dwsp' DB &9A,' ',&9C,'C','B','C',&99,'B' DB 'C','E',&9B,' ',&9C,'D',&99,'E' DB '(',&9F,&81 FI IFDEF X_FCMP h_fcmp DB &81,' ',&81 FI h_recover h_rom_coms h_rlist IFDEF X_RON H_RON_ROFF EQU -1 ELSE IFDEF X_ROFF H_RON_ROFF EQU-1 ELSE H_RON_ROFF EQU 0 FI FI IF H_RON_ROFF h_ron h_roff DB &A1,&83,'<' FI IFDEF X_RLOAD H_RLOAD_RSAVE EQU -1 ELSE IFDEF X_RSAVE H_RLOAD_RSAVE EQU -1 ELSE H_RLOAD_RSAVE EQU 0 FI FI IF H_RLOAD_RSAVE h_rload h_rsave DB &81,' ',&83,'<' FI IFDEF X_RINFO h_rinfo DB ')',&A1,&83,&9A FI IFDEF X_SRLOAD h_srload DB ')','Q',&A0,&83,&9F,&89,&9F,&81 FI IFDEF X_SRSAVE h_srsave DB ')','Q',&A0,&83,&9F,&8A,&88,&94 DB &9B,' ',&89,&9F,&81 FI IFDEF X_SRREAD h_srread DB &83,&9F,&85,&94,&9F,&8A,&88,&93 DB ' ',&8B,&9B,' ',&89,' ',&8B,'<' FI IFDEF X_SRWRITE h_srwrite DB &83,&9F,&85,&94,&9F,&8A,&88,&93 DB &94,&9B,' ',&89,&94,'<' FI IFDEF X_RFSMAKE h_rfsmake DB &A1,&95,&94,&9F,&95,' ',&8B,'<' FI IFDEF X_SEND h_send DB '>',&92,&9F,&83,'<' FI h_gen_coms IFDEF X_PBUFF h_pbuff DB ')',&A1,&83,&9A FI h_lvec IFDEF X_KEYLIST h_keylist DB ')',&A1 ASC '>syek' DB &9A FI IFDEF X_KEYSAVE H_KEYSVLD EQU -1 ELSE IFDEF X_KEYLOAD H_KEYSVLD EQU -1 ELSE H_KEYSVLD EQU 0 FI FI IF H_KEYSVLD h_keysave h_keyload DB &81 FI IFDEF X_BASE h_base ASC '>mun<' FI h_break h_hbreak IFDEF X_ECHO h_echo DB &A1,&9D,'"',&92,'"','(',&96,&A0 DB IFS,&A1,')',&92,&A0,IFS,&A1,&96 FI ; ------------------------------------- ; Next file ; ACC ASET @ACC+1 CHN @(FILE@ACC) ; -------------------------------------