=&7000 Z%=:W%=Z%  I=462 (O%= 2 P%=&2500 < U%=O% F V%=P% P [ OPT I Z JMPon d] n P%=&FF00 xA%=O%-U%+V% [ OPT I .romstart BRK BRK BRK JMPservice EQUB&82 EQUBcopyr-romstart EQUB0 EQUS"E2P-6502 " .copyr EQUB0 EQUS"(C)1986 John Wike" EQUB0 : .reset LDA#anrti 256  STA&FFFA  LDX#&FF "TXS ,.reset2 LDAcodtabe-&FF,X 6.reset4 STA&FD00,X @STA&FC80,X JDEX T CMP#&C9 ^ BNEreset2 hDEX r BMIreset4 |:  LDX#0  STX&FF8D CLI : .reset6 JSRcycle .reset8 JMPreset6 :  CMP#0 LDAcycle+1  #&80 STAcycle+1  LDA&FF8D  CMP&F2  STA&F2 .codtabe RTS : & .irq1 PHA 0 LDA&FEE5 :.ivec STA&FEE5 D STA&FEE5 N INCivec+1 X BNEirq2 b INCivec+2 l .irq2 PLA v.anrti RTI : .cycle JSR&FD00  BEQcycle5 A#0 .cycle5 RTS : .start JMPstart1 .nmi JMPnmi1 .irq5 JMPirq6 ] B%=O%-U%+V%  [ OPT I  EQUWreset  EQUWreset  EQUWirq1 ]  C%=O%-U%+V% * P%=C% 4 [ OPT I >.setup LDA&DF0,X H #&BF R STA&DF0,X \TYA fPHA p JSR&FFE7 z:  LDA&20B CMP#newosb 256  BEQsetup5  STA&235  LDA&20A  STA&234 LDA#newosb 256  STA&20B LDA#newosb 256  STA&20A : .setup5 LDA#&7A .setup7 JSRnewosb20  LDY#0  LDA#&78  CPX#&64 $BEQsetup20 .: 8 LDA#&79 BINX L BNEsetup7 V: ` JSRcodld j LDA&DF0,X t A#&40 ~ STA&DF0,X :  LDX#&FF TXA  JSRpcomm  LDA#&EA  LDY#0  JSR&FFF4 : LDA#newbrk 256  STA&202 LDA#newbrk 256  STA&203 LDA#newevent 256  STA&220 LDA#newevent 256  STA&221 (: 2 LDA#&80 < STA&14 F: P LDA#&14 Z LDX#6 dCLC n: x.setup20 PHP  JSR&FFF4 LDY#message5-message1 PLP BCCsetup22 LDY#message6-message1 : .setup22 JSRprnmes2 PLA TAY  LDA#0  LDX&F4 .noservice RTS : .service ROR&DF0,X PHP  ROL&DF0,X "PLP ,BCCnoservice 6: @ CMP#&FE JBNEservice2 T JMPsetup ^: h.service2 CMP#4 rBEQcommand |:  CMP#6  BEQerr :  CMP#9  BNEhelp4 :  .help TYA PHA  JSRprnmes :  LDA&DF0,X : LDY#message3-message1  ROL A  BMIhelp2 : &LDY#message4-message1 0: :.help2 JSRprnmes2 DPLA NTAY X LDA#9 b: l.help4 RTS v: .err LDA&DF0,X  ROL A  BPLnoterr :  LDA&6FC  BEQnoterr : TAY JSRprnmes2 LDY#message9-message1 JSRprnmes2 : .stayhere JMPstayhere :  .noterr LDA#6 RTS  : */.comstr EQUS"E":EQUB("2" &DF):EQUS"POFF" 4: >.command TYA HPHA R LDX#0 \: f.comm2 LDA(&F2),Y p #&DF zCMPcomstr,X  BNEnotE2P INY INX  CPX#6  BNEcomm2 :  JMPoff : .notE2P PLA TAY  LDA#4  LDX&F4 RTS : .newosb CMP#&84 BEQnewosb2 $ CMP#&85 .BNEnewosb5 8.newosb2 LDX#V% 256 BLDY#V% 256 LRTS V: `.newosb5 CMP#&C8 jBNEnewosb7 tTXA ~ #&FD TAX LDA#&C8 : .newosb7 JSRnewosb20 PHA PHP CMP#&79 BEQnewosb10 CMP#&7A BNEnewosb15 : .newosb10 CPX#&64 BNEnewosb15 LDA#&79 INX JSRnewosb20 (: 2.newosb15 PLP <PLA FRTS P: Z.newosb20 JMP(&234) d] nD%=O%-U%+V% x P%=&400 [ OPT I JMPwst JMPesc JMPinstr : ".langerr LDA#message7-message1 STA&6FC BRK BRK BRK : ".procerr LDA#message8-message1 STA&6FC BRK BRK BRK ": ,.osrdch JSR&FFC8 6.osrd1 JSRregso2 @.osret LDA#0 J STA&8093 T.anrts RTS ^: h.oscli JSRdatin r JSR&FFF7 | JMPosret : .osbyte JSRregsin JSR&FFF4 .osbyte2 JSRregsout JMPosret : .osword LDA&8096 BNEoswd5 JSRdatin STX0 STY1 TXA TAY  JSR&FFF1 JSRosbyte2  BCSanrts & JMPtxtout 0: :.oswd5 LDY#&30 D JSRdatin1 N LDX#&30 X LDY#1 b LDA&8096 l JSR&FFF1 v JSRosret LDX&8097 LDY#&30 BNEosfile4 : .osargs JSRdatin JSRregsi1 JSR&FFDA LDX#4 BNEosgbpb4 : .osbget LDY&8098 JSR&FFD7 JMPosrd1 : .osbput JSRregsi1  JSR&FFD4 JMPosret *: 4.osfind JSRregsi1 > BEQosf5 HPHA R JSRdatin \PLA f.osf5 JSR&FFCE p JMPosrd1 z: .osfile JSRdatin JSRdatin STX0 STY1 LDY#0 LDA&8096 JSR&FFDD LDX#&12 LDY#2 .osfile2 JSRosrd1 .osfile4 JMPblkout2 : .osgbpb JSRdatin  LDY#0  LDA&8096  JSR&FFD1 $ LDX#&D ..osgbpb4 LDY#0 8BEQosfile2 B: L.pload LDA(0),Y VINC0 ` BNEpload2 jINC1 t: ~.pload2 STA&FCE5 :  LDY#&A .delay DEY  BNEdelay RTS : .pcomm STA&808D .pstat2 BNEpstat : .pselect LDA&6FE JSRsidesel : .pstat LDA&808D  BNEpstat2 RTS : (.sidesel STA&F4 2 LDA#&C < STA&FE05 F LDA&F4 P STA&FE05 ZRTS d: n .wst CLI x:  LDX&6FE  LDA&DF0,X  ROL A  ROL A  STA&6FD  ROR A  ROR A  A#&20  STA&DF0,X :  LDX#0 STX0  STX&17  LDA#&80 STA1  STA&18 " LDA#&20 , &8006 6 BEQwst2 @: J LDY&8007 T .wst1 INY ^LDA&8000,Y h BNEwst1 rLDA&8001,Y | STA&17 LDA&8002,Y  STA&18 : .wst2 BCSwst4  LDY#&FF  BIT&6FD  BPLwst4  LDA#&FD  JSR&FFF4 TXA  BNEwst4  STA&18  BEQwst99 : .wst4 LDA&F4  CMP#&C & BNEwst5 0 JMP&8000 :: D.wst5 LDA#1 N JSRwst100 X.wst7 JSRpload bBIT1 l BVCwst7 v: .wst99 LDA#4 : .wst100 PHA .wst110 LDA#&FF  JSRinstr  BCCwst110 PLA  LDX#&17  LDY#0 : .instr CMP#&80  BCCinstr4  CMP#&C0  BCCinstr3  ASL&14  BCSinstr1  CMP&15 * BEQinstr2 4CLC >RTS H.instr1 STA&15 R.instr2 RTS \.instr3 A#&40 f CMP&15 p BNEinstr2 z LDA#&80  STA&14  LDA#&20 : .instr4 PHP SEI  STY&13  STX&12  STA&16 :  LDA&F4 PHA :  LDY#1 .instr5 LDA(&12),Y PHA DEY $ BPLinstr5 .JSRpselect 8: B.instr6 PLA LINY VSTA&8090,Y ` BEQinstr6 j: t LDY&13 ~ LDA&16 A#8  JSRpcomm : PLA JSRsidesel :  LDA&16  CMP#4  BNEinstr9 : .instr8 LDA#&80  STA&14  JMPmain  :  .esc PHP SEI (PHA 2 LDA&F4 <PHA FJSRpselect P LDA&FF Z STA&8090 d LDA#&C0 n BNEnewev5 x: .newevent PHP  STA&19 PHA  LDA&F4 PHA JSRpselect  STX&808E  STY&808F  LDA&19  STA&8090  LDA#&40 .newev5 JSRpcomm PLA JSRsidesel PLA .instr9 PLP "RTS ,: 6.regsout STY&8098 @.regso1 STX&8097 J.regso2 STA&8096 T.regso3 ROL A ^ STA&8095 h ROR A rRTS |: .regsin LDX&8097 .regsi1 LDY&8098  LDA&8096 RTS : .datin LDY#0 .datin1 LDX#0 .datin2 BIT&8099  BVCdatin5  BMIdatin9  LDA&809A  STA&700,Y  BVSdatin7 : .datin5 BPLdatin2  LDA&809A & CPY#&12 0 BCCdatin6 :: D STA&100,Y N BCSdatin7 X: b.datin6 STA0,Y l: v.datin7 CLV .datin9 STX&8099 INY BVC datin2  LDY#7 RTS : .blkout2 STX&1A .blkout3 LDX#&80 .blkout5 CPY&1A BEQtxtout5 :  LDA0,Y  CPY#&12 BCCblkout7  LDA&100,Y :  .blkout7 JSRdatout *INY 4BNEblkout5 >: H.txtout LDX#&40 R LDY#0 \.txtout2 LDA&700,Y f JSRdatout pINY z CMP#&D BNEtxtout2 .txtout5 LDX#&C0 : .datout NOP NOP  BIT&809B  BVSdatout  BMIdatout  STA&809C  STX&809B RTS : .newbrk LDY#&FF .newbrk2 INY LDA(&FD),Y  STA&130,Y $: .BNEnewbrk2 8TYA BBEQnewbrk2 LINY V STY&1A ` LDY#&30 jJSRpselect t LDA#&80 ~ JSRpcomm JSRblkout3 : .main LDX#&FF TXS .main2 SEI  LDA&6FE JSRsidesel CLI : .main3 LDX&8094  BEQmain4  STX&809D  LDA#0  STA&8094 : .main4 LDX&809D ( CPX&809E 2 BEQmain9 <: FINX P CPX#&4E Z BCCmain7 d LDX#&1F n.main7 LDA&8080,X x STX&809D  JSR&FFCB  JMPmain3 : .main9 LDA&8093  BEQmain2 :  LDX&809D  CPX&809E  BNEmain3 : STAosjmp+1 .osjmp JSRosrdch  JMPmain : .error BRK BRK "EQUS"Cannot Initialise!" ,BRK 6] @P%=O%-U%+V% J [ OPT I T.on JSRcodld ^ LDA#&8F h LDX#&C r LDY#&FF | JSR&FFF4  STY&A0 : SEI  LDA#&40  STA&D00 :  LDY#7  .find TYA JSRsidesel  LDA&8000  CMP&8100  BNEfind5  #&FF  STA&8000 NOP NOP &NOP 0NOP : CMP&8100 DPHP N #&FF X STA&8000 bPLP l BEQon2 v: .find5 DEY  BPLfind BMInotfound : .on2 STY&6FE  LDA#10  STA&A1 : .on4 JSRboot  BPLon6  DEC&A1  BNEon4 : .notfound CLI  LDA#&8F  LDX#&B  LDY&A0 * JSR&FFF4 4 JMPerror >: H.on6 JSRboot R: \LDA#W% 256 fSTA0 pLDA#W% 256 zSTA1 :  LDY#0 STY&8001+(ivec 256)  LDA#&F8 STA&8002+(ivec 256) : .on10 JSRpload : LDA0 CMP#Z% 256  BNEon10 LDA1 CMP#Z% 256  BNEon10 : LDA#start 256 $STA&8001+(reset8 256) .: 8 LDA#1 B.on20 LDX&F4 L STA&DF0,X VJMP(&FFFC) `: j.off LDA#&FF t STA&808D ~:  LDA#0  STA&8006  BEQon20 : .codld LDX#0 .codld2 LDAD%,X  STA&400,X LDAD%+&100,X  STA&500,X LDAD%+&200,X  STA&600,X INX  BNEcodld2  :  STX&6FC : ( LDX&F4 2 STX&6FE <RTS F: P.boot LDA#&40 ZSTA&8000+(anrti 256) dLDA#anrti 256 n STA&80FA x LDA#&FF  STA&80FB :  LDX#0 .boot2 LDAA%,X STA&8000,X INX CPX#(B%-A%)  BNEboot2 :  LDX#&CE .boot3 LDA&FF00,X STA&8000,X INX  CPX#&FA  BNEboot3 : ".boot4 LDAB%-&FA,X ,STA&8000,X 6INX @ BNEboot4 J: T LDA#&FF ^ STA&808D h: r LDA&FCE5 | LDY#50 .boot6 LDA&8000,X INX  BNEboot6 :  LDA&808D  BEQboot8 DEY  BPLboot6 .boot8 RTS : .message1 EQUB&D EQUS"E2P-6502 OS v2.4 "  EQUB&D EQUS" "  EQUB&D EQUS" " & EQUB0 0: :!.message3 EQUS"E2P is in use" D EQUW&D N: X!.message4 EQUS"I/O is in use" b EQUW&D l: v1.message5 EQUS"E2P-6502 Second Processor " EQUD&D0D : !.message6 EQUS"I/O Processor" EQUD&D0D : .message7 EQUB&D EQUS"Not a language!" EQUB0 : .message8 EQUB&D EQUS"Not 6502 code!" EQUB0 : !'.message9 EQUS" : press ctrl-BREAK" ! EQUB0 !: ! .prnmes LDY#0 !*.prnmes2 LDAmessage1,Y !4BEQprnmes5 !> JSR&FFE3 !HINY !RBNEprnmes2 !\.prnmes5 RTS !f] !pW%=O%-U%+V% !z P%=&F800 ! [ OPT I !.prompt LDA#sysbrk 256 ! STA&202 !LDA#sysbrk 256 ! STA&203 ! LDX#&FF !TXS ! LDA#"*" ! JSR&FFEE !LDX#oswblk 256 !LDY#oswblk 256 ! LDA#0 ! JSR&FFF1 " BCCnoesc ": " LDA#&7E "$ JSR&FFF4 ".BRK "8 EQUB&11 "BEQUS"Escape!" "LBRK "V: "`.noesc LDX#&36 "j LDY#2 "t JSR&FFF7 "~ JMPprompt ": ".oswblk EQUW&236 " EQUB&CA " EQUB&20 " EQUB&FF ": ".tclear LDA&FF9E " STA&FF94 " LDA#0 " STA&FF93 " STA&FF99 " STA&FF9B #: # .tclear10 LDA#irq5 256 # STA&FFFE #LDA#nmi 256 #( STA&FFFA #2: #<.tclear20 LDA#0 #F STA&FF8D #P STA&F2 #ZRTS #d: #n.cstr EQUS")C(" #x EQUB0 #: #.test12 CMP#&C # BNEtest15 # LDX#&FF #TXS # LDY&FF91 # LDX&FF90 # JSRtclear #: #TYA #BEQsamelang #: #.lang STYtjump+2 $STXtjump+1 $: $.samelang LDAtjump+2 $" STA&FE $,LDAtjump+1 $6 STA&FD $@: $J LDY#7 $TLDA(&FD),Y $^TAY $h LDX#3 $r: $|.tryrom LDA(&FD),Y $ CMPcstr,X $ BNEnotrom $INY $DEX $ BPLtryrom $: $ LDY#6 $LDA(&FD),Y $: $ #&4F $ CMP#&40 $ BCSsamel0 $LDA#langerr 256 % JSRoscomm %: %.samel0 #&D %& BEQsamel1 %0LDA#procerr 256 %: JSRoscomm %D: %N.samel1 LDY#8 %X: %b.samel2 INY %lLDA(&FD),Y %v BNEsamel2 %: %TYA %CLD %CLC % ADC&FD % STA&FD % BCCnotrom %: % INC&FE %: %.notrom LDA#1 %.tjump JMP&F800 %: &.test15 CMP#&28 & BEQtest92 & BCCtest92 & : &* CMP#&FF &4 BNEtest20 &>.start1 LDX#&FF &HTXS &RINX &\ STX&FF &f LDX#&35 &p STX&FF9E &z: &.test17 LDAvectab,X & STA&200,X &DEX & BPLtest17 &: &.test18A JSRtclear &.test18 JMPtest18 &: &.test20 CMP#&C0 & BNEtest25 & LDA&FF90 & STA&FF & BMItest92 ': '.test90 LDA&FFFA 'CMP#anrti 256 '$ BNEtest95 '. JMPtest7 '8: 'B.test92 JSRtclear10 'LPLA 'VRTI '`: 'j.test95 JSRtclear20 'tPLA '~RTI ': '.test25 CMP#&40 ' BNEtest30 'TXA 'PHA 'TYA 'PHA ' LDX&FF8E ' LDY&FF8F ' LDA&FF90 ' JSRevjmp 'PLA (TAY ( PLA (TAX ( JMPtest90 ((: (2.evjmp JMP(&220) (<: (F.test30 TXA (PPHA (ZTYA (dPHA (n JSRtclear (x LDX#0 ( STX&FD ( LDY#3 ( STY&FE (JSRdatin10 (PLA (TAY (PLA (TAX (PLA ( STA&FC ( JMP(&202) (: (.osrdch10 LDA#osrdch 256 ) JSRoscomm )JMPregsin12 ): )".goasc EQUS"GO" ), EQUB&D )6: )@.oscli10 STY&F1 )J STX&F0 )T LDY#&FF )^ LDX#&FF )h: )r.oscli12 INX )| CPX#3 )BNEoscli13 )JMPsamelang ): ).oscli13 INY )LDA(&F0),Y ) CMP#"*" )BEQoscli13 ) CMP#" " )BEQoscli13 ) #&DF )CMPgoasc,X )BEQoscli12 ) CPX#2 *BNEoscli20 *: * LDA#0 *& STA&100 *0 STA&101 *:: *D.oscli14 LDA(&F0),Y *NINY *X CMP#"0" *bBCCoscli18 *lCMP#("9"+1) *vBCCoscli15 * #&DF * CMP#"A" *BCCoscli20 * SBC#7 * CMP#&40 *BCSoscli20 *: *.oscli15 LDX#4 *.oscli16 ASL&100 * ROL&101 *DEX *BNEoscli16 *#&F +CLC + CLD + ADC&100 + STA&100 +*JMPoscli14 +4: +>.oscli18 LDAtjump+2 +HPHA +RLDAtjump+1 +\PHA +f LDX&100 +p LDY&101 +z JSRlang +PLA +STAtjump+1 +PLA +STAtjump+2 +RTS +: +.oscli20 LDX&F0 + LDY&F1 +LDA#oscli 256 + STA&FF93 +JSRtxtout10 + JMPosstat +: ,.osbyte10 CMP#&82 ,BCCosbyte15 , CMP#&84 ,$BEQosbyte12 ,.BCSosbyte15 ,8TAX ,BLDYosbtab-&82,X ,L LDX#0 ,V.anrts10 RTS ,`: ,j.osbtab EQUB0 ,t EQUB8 ,~: ,.osbyte12 LDXtjump+1 ,LDYtjump+2 ,RTS ,: ,.osbyte15 JSRregso10 , CMP#&DA ,BNEosbyte18 ,TXA ,BNEosbyte18 ,TYA ,.osbyte18 PHP ,LDA#osbyte 256 - JSRoscomm - PLP -BNEosbyte25 - LDX&FF9E -( STX&FF94 -2.osbyte25 JMPregsin10 -<: -F.osword10 STX&F0 -P STY&F1 -Z: -dPHA -n STA&FF96 -xLDA#osword 256 - STA&FF93 -PLA - BMIoswd12 - BNEoswd15 - LDA#5 -JSRblkout10 - JSRosstat -JSRregsin12 -BCSanrts10 - LDY#0 -LDA(&F5),Y -TAX -INY .LDA(&F5),Y .TAY .JSRdatin10 ."JMPregsin10 .,: .6.oswd12 LDY#1 .@LDA(&F0),Y .JCLD .TCLC .^ ADC#&30 .h STA&FF97 .rDEY .|LDA(&F0),Y . JMPoswd20 .: ..oswd15 CMP#&15 . BCCoswd17 . LDA#&15 .: ..oswd17 TAX .LDAoswito-1,X . STA&FF97 .LDAoswoto-1,X .: ..oswd20 LDX&F0 . LDY&F1 /JSRblkout10 / JSRosstat /JSRdatin10 /&JMPblkout19 /0: /:.osargs10 JSRregso10 /DLDA#osargs 256 /N STA&FF93 /X LDY#0 /b LDA#4 /lCLD /vJSRblkout10 / JSRosstat /JSRdatin10 /JMPregsin10 /: /.osbget10 STY&FF98 /LDA#osbget 256 /.osbget12 JSRoscomm /JMPregsin12 /: /.osbput10 JSRregso11 /LDA#osbput 256 /BNEosbget12 /: 0.osfind10 JSRregso10 0 PHA 0LDA#osfind 256 0 STA&FF93 0*PLA 04BEQosfind20 0>JSRtxtout10 0H: 0R.osfind20 JSRosstat 0\JMPregsin10 0f: 0p.osfile10 STA&FF96 0zLDA#osfile 256 0 STA&FF93 0 LDA#&12 0JSRblkout10 0 LDY#0 0LDA(&F5),Y 0TAX 0INY 0LDA(&F5),Y 0TAY 0JSRtxtout10 0 JSRosstat 0 LDX&F5 0 LDY&F6 1 LDA#2 1.osfile15 JSRdatin11 1 LDX&F5 1$ LDY&F6 1.JMPregsin12 18: 1B.osgbpb10 STA&FF96 1LLDA#osgbpb 256 1V STA&FF93 1` LDA#&D 1jJSRblkout10 1t JSRosstat 1~CLD 1 LDA#0 1BEQosfile15 1: 1.oscomm STA&FF93 1.osstat LDA&FF93 1 BNEosstat 1RTS 1: 1.regso10 STX&FF97 1.regso11 STY&FF98 1 STA&FF96 1RTS 2: 2 .txtout10 STX&F3 2 STY&F4 2 LDX#&40 2( LDY#0 22.txtout12 LDA(&F3),Y 2<JSRdatout10 2FINY 2P CMP#&D 2ZBNEtxtout12 2d.txtout15 LDX#&C0 2n: 2x.datout10 BIT&FF99 2BVSdatout10 2BMIdatout10 2 STA&FF9A 2 STX&FF99 2.datout15 RTS 2: 2.blkout10 STA&F7 2.blkout11 STX&F5 2 STY&F6 2 LDX#&80 2 LDY#0 2.blkout15 CPY&F7 2BEQblkout17 3LDA(&F5),Y 3JSRdatout10 3INY 3"BNEblkout15 3,: 36.blkout17 JSRtxtout15 3@.blkout19 LDX&F5 3J LDY&F6 3TRTS 3^: 3h.datin10 LDA#0 3r.datin11 STX&F8 3| STY&F9 3TAY 3 LDX#0 3.datin12 BIT&FF9B 3BVCdatin15 3BMIdatin19 3BPLdatin17 3: 3.datin15 BPLdatin12 3.datin17 LDA&FF9C 3STA(&F8),Y 3CLV 3: 3.datin19 STX&FF9B 4INY 4BVCdatin12 4RTS 4&: 40.oswrch10 STX&FA 4: LDX&FF9E 4DINX 4N CPX#&4E 4XBCCoswrch15 4b LDX#&1F 4l.oswrch15 CPX&FF9D 4vBEQoswrch15 4: 4STA&FF80,X 4 STX&FF9E 4 LDX&FA 4RTS 4: 4.oswoto EQUB0 4 EQUB5 4 EQUB0 4 EQUB5 4 EQUB4 4 EQUB5 4 EQUB8 5 EQUB&E 5 EQUB4 5 EQUB1 5 EQUB1 5* EQUB5 54 EQUB0 5> EQUB1 5H EQUB&20 5R EQUB&10 5\ EQUB&D 5f EQUB0 5p EQUB4 5z EQUB&80 5 EQUB&10 5: 5.oswito EQUB&35 5 EQUB&30 5 EQUB&35 5 EQUB&30 5 EQUB&35 5 EQUB&30 5 EQUB&30 5 EQUB&30 5 EQUB&35 5 EQUB&39 5 EQUB&35 6 EQUB&30 6 EQUB&38 6 EQUB&48 6$ EQUB&30 6. EQUB&31 68 EQUB&3D 6B EQUB&B0 6L EQUB&34 6V EQUB&B0 6` EQUB&40 6j: 6t.vectab EQUWanrts10 6~EQUWsysbrk 6 EQUWirq7 6 EQUWirq7 6EQUWoscli10 6EQUWosbyte10 6EQUWosword10 6EQUWoswrch10 6EQUWosrdch10 6EQUWosfile10 6EQUWosargs10 6EQUWosbget10 6EQUWosbput10 6EQUWosgbpb10 7EQUWosfind10 7 EQUWanrts10 7EQUWanrts10 7EQUWanrts10 7(EQUWanrts10 72EQUWanrts10 7<EQUWanrts10 7FEQUWanrts10 7PEQUWanrts10 7ZEQUWanrts10 7dEQUWanrts10 7nEQUWanrts10 7xEQUWanrts10 7: 7.regsin10 LDY&FF98 7.regsin11 LDX&FF97 7.regsin12 LDA&FF95 7 ROR A 7 LDA&FF96 7RTS 7: 7.irq6 STA&FC 7PLA 7A#4 7PHA 7 #&10 8 BEQirq7 8: 8TXA 8"PHA 8,TSX 86 LDA&103,X 8@CLD 8JSEC 8T SBC#1 8^ STA&FD 8h LDA&104,X 8r SBC#0 8| STA&FE 8PLA 8TAX 8 LDA&FC 8 JMP(&202) 8.irq7 LDA&FC 8RTI 8: 8.sysbrk LDX#&FF 8TXS 8 JSR&FFE7 8 LDY#1 8.sysbrk2 LDA(&FD),Y 8BEQsysbrk5 9 JSR&FFEE 9INY 9BNEsysbrk2 9&: 90.sysbrk5 JSR&FFE7 9: JMPprompt 9D: 9N .nmi1 PHA 9X JSRcycle 9b BNEtest 9lPLA 9vRTI 9: 9.test CMP#9 9 BCCtest2 9 BNEtest10 9 LDA#&8D 9 BNEtest4 9: 9.test2 LDA#&AD 9.test4 STAivec 9 LDA&FF90 9 STAivec+1 9 LDA&FF91 9 STAivec+2 :: : LDA#irq1 256 : STA&FFFE : LDA#anrti 256 :* STA&FFFA :4 BCStest6 :>BRK :HNOP :R: :\.test6 CLI :f.test7 LDA#0 :p STA&FF8D :z.test8 JSRcycle : BNEtest : BEQtest8 :.test10 JMPtest12 :] :Z%=O%-U%+V% : N : N%;O$="SAVE E2P "+~U%+" +"+~(Z%-V%)+" FFFF2500 FFFF2500" N* N4"TAPE OR DISC (T/D)"D$ N> D$= "D" D$="T" NH D$="D" PXy NR: u0 *TAPE uD @Nu uN6: uXA'"INSERT NEW TAPE, SET TO RECORD THEN PRESS RETURN" ub21 ul Z$ uv *MOTOR1 uT%=:: =T%+2000 u*FX138,0,13 uO$ u *MOTOR1 uT%=:: =T%+1000 u*FX138,0,13 uO$ u 6,7,7,7 u!'"PRESS REWIND THEN RETURN," u%"WHEN TAPE AT START, PRESS PLAY" u21 u Z$ u6 v.'"AFTER CATALOG REWIND THEN PRESS ESCAPE" v *. v v : y *ADFS y" O$ y,*SPOOL !BOOT y6 "*/E2P" y@ *SPOOL yJ *OPT 4,3