home *** CD-ROM | disk | FTP | other *** search
/ Antic Magazine 1989 July / Antic_Magazine_1989_07_Antic_Side_B.atr / makeboot.m65 < prev    next >
Text File  |  2023-02-26  |  17KB  |  1 lines

  1. 0100 ; MAKEBOOT       (FOR OS/A+)¢0110 ; BY BOB MARTIN¢0120 ; (c)1989, ANTIC PUBLISHING INC.¢0130 ; MAKE BOOT DISK FROM DOS FILE¢0140 ;¢0150 MEMTOP = $6A¢0160 MEMLO = $02E7¢0170 HATABS = $031A¢0180 CH  =   $02FC¢0190 CR  =   $00¢0200 BUF1 =  $0500¢0210 BUF2 =  $0600¢0220 ;¢0230 INBUFF = $F3¢0240 CIX =   $F2¢0250 LBUFF = $0580¢0260 FR0 =   $D4¢0270 FR1 =   $E0¢0280 ICBAL = $0344¢0290 ICBLL = $0348¢0300 ICAX1 = $034A¢0310 ICAX2 = $034B¢0320 CIOV =  $E456¢0330 ICCOM = $0342¢0340 AFP =   $D800¢0350 FASC =  $D8E6¢0360 IFP =   $D9AA¢0370 FPI =   $D9D2¢0380 ;¢0390 ; LOOK FOR AN EMPTY SPOT IN¢0400 ; THE HANDLER ADDRESS TABLE¢0410 ;¢0420     *=  $7000¢0430 ;¢0440 INSERT¢0450     LDX #0¢0460 NEXTPLACE¢0470     LDA HATABS,X¢0480     BEQ ESPOT¢0490     INX ¢0500     INX ¢0510     INX ¢0520     BNE NEXTPLACE¢0530     BEQ INSERT¢0540 ;¢0550 ;   FOUND AN EMPTY SPOT¢0560 ;¢0570 ESPOT¢0580     LDA #$42¢0590     STA HATABS,X¢0600     LDA #BTAB&$FF¢0610     STA HATABS+1,X¢0620     LDA #BTAB/$0100¢0630     STA HATABS+2,X¢0640 ;¢0650 ; FIND THE E: HANDLER¢0660 ;¢0670 EFIND¢0680     LDX #0¢0690 ELOOP¢0700     LDA HATABS,X¢0710     CMP #'E¢0720     BEQ EFND¢0730     INX ¢0740     INX ¢0750     INX ¢0760     BNE ELOOP¢0770     BEQ EFIND¢0780 ;¢0790 ;   FOUND THE E: POINTER¢0800 ;¢0810 EFND¢0820     LDA HATABS+1,X¢0830     STA $D0¢0840     LDA HATABS+2,X¢0850     STA $D1¢0860     LDY #4¢0870     LDA ($D0),Y¢0880     STA EGET+1¢0890     INY ¢0900     LDA ($D0),Y¢0910     STA EGET+2¢0920     INY ¢0930     LDA ($D0),Y¢0940     STA EPUT+1¢0950     INY ¢0960     LDA ($D0),Y¢0970     STA EPUT+2¢0980 ;¢0990     INC EGET+1¢1000     BNE L013¢1010     INC EGET+2¢1020 L013¢1030     INC EPUT+1¢1040     BNE L012¢1050     INC EPUT+2¢1060 ; -----------------------------¢4000 ; OS/A+ VERSION¢4010 ;¢4020 L012¢4030 ;¢4040 ;  SET THE LOMEM POINTER¢4050 ;¢4060 LMP¢4070     LDA #LAST&$FF¢4080     STA MEMLO¢4090     LDA #LAST/$0100¢4100     STA MEMLO+1¢4110 ;¢4120     LDA #IMSG&$FF¢4130     LDY #IMSG/$0100¢4140     JSR PRINTE¢4150 ;¢4160 CU20 RTS ¢4170 ;¢4180 IMSG¢4190     .BYTE CR,CR,"The device"¢4200     .BYTE " Bn: is now"¢4210     .BYTE " ready.",CR¢4220     .BYTE "Use the copy command"¢4230     .BYTE " to access.",CR¢4240     .BYTE " (eg. COPY D:FILE,"¢4250     .BYTE "B2: ",')+128¢4260 ;¢4270     *=  $2100¢4990 ; -----------------------------¢5000 ;¢5005 ; HANDLER AND HANDLER TABLE¢5010 ;  FOR "B:" (MAKEBOOT)¢5015 ;  HANDLER¢5020 ;¢5025 ;HANDLER TABLE¢5030 ;¢5035 BTAB¢5040     .WORD BOPEN-1¢5045     .WORD BCLOSE-1¢5050     .WORD NOFNT-1¢5055     .WORD BPUT-1¢5060     .WORD STATUS-1¢5065     JMP NOFNT¢5070 ;¢5075 ;HANDLER VARIABLES¢5080 ;¢5085 HEADER .BYTE $06¢5090 HOLDA .BYTE $00¢5095 HOLDX .BYTE $00¢5100 STATS .BYTE $00¢5105 SECNO .WORD $01¢5110 BYTNO .BYTE $00¢5115 MAXSEC .WORD $00¢5120 INFOBY .BYTE $00¢5125 MFLAG .BYTE $00¢5130 RUNADR .WORD $00 ;INTADR must¢5135 INTADR .WORD $00 ;follow RUNADR¢5140 LOADAD .WORD $00¢5145 CURMEM .WORD $00 ;LASTAD must¢5150 LASTAD .WORD $00 ;follow CURMEM¢5155 ;¢5160 ;HANDLER OPEN FUNCTION¢5165 ;¢5170 BOPEN¢5175     LDA #$00    ;clear variables¢5180     STA BYTNO¢5185     STA SECNO+1¢5190     STA MAXSEC¢5195     STA MAXSEC+1¢5200     STA MFLAG¢5205     STA RUNADR¢5210     STA RUNADR+1¢5215     STA INTADR¢5220     STA INTADR+1¢5225     LDA #$01¢5230     STA SECNO¢5235     STA STATS¢5240     LDA #$06¢5245     STA HEADER¢5250     JSR CLEAR¢5255     CLC ¢5260     LDA $21     ;disk #¢5265     ADC #$30    ;make ASCII #¢5270     STA MSG2A¢5275     LDA #MSG2&$FF¢5280     LDY #MSG2/$0100¢5285     JSR PRINTE¢5290     JSR YESNO   ;Y/N?¢5295     BNE L014¢5300     LDA #$80    ;abort with¢5305     STA STATS   ;error = 128¢5310     JMP EXIT¢5315 L014¢5320     LDA #MSG1&$FF ;clear secs?¢5325     LDY #MSG1/$0100¢5330     JSR PRINTE¢5335     JSR GETNUM¢5340     BCS L014    ;error?¢5345     LDA FR0¢5350     STA BUF2¢5355     LDA FR0+1¢5360     STA BUF2+1¢5365     ORA BUF2¢5370     BEQ BOP04¢5375 BOP01¢5380     JSR PUTSEC  ;fill sectors¢5385     INC SECNO   ;with zeros¢5390     BNE BOP02¢5395     INC SECNO+1¢5400 BOP02¢5405     LDA BUF2¢5410     BNE BOP03¢5415     DEC BUF2+1¢5420 BOP03¢5425     DEC BUF2¢5430     BIT BUF2+1¢5435     BPL BOP01¢5440 BOP04¢5445     LDA #0¢5450     STA SECNO+1¢5455     STA MAXSEC¢5460     STA MAXSEC+1¢5465     LDA #1¢5470     STA SECNO¢5475 ;¢5480     JMP EXIT¢5485 ;¢5490 ;HANDLER SUBROUTINES¢5495 ;¢5500 ; 1) Store load address and¢5505 ;    end of load address¢5510 ;¢5515 LODADR¢5520     PHA         ;calc index &¢5525     TYA         ;store load¢5530     SEC         ;address &¢5535     SBC #3      ;end of load¢5540     EOR #$FF¢5545     TAY ¢5550     INY ¢5555     PLA ¢5560     STA CURMEM,Y¢5565     RTS ¢5570 ;¢5575 ; 2) Get two 2-byte¢5580 ;    load addresses¢5585 ;¢5590 LDINFO¢5595     LDA INFOBY¢5600     BNE L007¢5605     LDA #4¢5610     STA INFOBY¢5615 L007¢5620     DEC INFOBY¢5625     LDY INFOBY¢5630     LDA HOLDA¢5635     JSR LODADR¢5640     LDY INFOBY¢5645     BEQ LD03¢5650     CPY #2¢5655     BNE LD02¢5660 ;¢5665     LDA CURMEM  ;check for¢5670     CMP CURMEM+1 ;appended file¢5675     BNE LD02¢5680     CMP #$FF¢5685     BNE LD02¢5690     LDA #4¢5695     STA INFOBY¢5700 LD02¢5705     JMP EXIT¢5710 LD03¢5715     JSR INRUAD¢5720     BEQ LD02¢5725     BNE L008¢5730 ;¢5735 ; 3) Check for load file run¢5740 ;    or init. address¢5745 ;    If CURMEM & LASTAD¢5750 ;      are <$2E0 or >$2E3¢5755 ;    THEN Z=0¢5760 ;    ELSE Z=1¢5765 ;¢5770 INRUAD¢5775     LDA CURMEM+1¢5780     CMP LASTAD+1¢5785     BNE IRA01¢5790 IRA02¢5795     CMP #2¢5800     BNE IRA01¢5805     LDA #$DF¢5810     CMP CURMEM¢5815     BCS IRA02¢5820     CMP LASTAD¢5825     BCS IRA02¢5830     LDA #$E3¢5835     CMP CURMEM¢5840     BCC IRA02¢5845     CMP LASTAD¢5850     BCC IRA02¢5855     LDA #0¢5860 IRA01¢5865     RTS ¢5870 ;¢5875 ; 4) Check for load address¢5880 ;    less than initial¢5885 ;¢5890 L008¢5895     LDA LOADAD+1¢5900     CMP CURMEM+1¢5905     BCC LF01¢5910     BNE LF02¢5915     LDA LOADAD¢5920     CMP CURMEM¢5925     BEQ LF01¢5930     BCC LF01¢5935 LF02¢5940     LDA #MSG6&$FF ;LOADAD>CURMEM¢5945     LDY #MSG6/$0100¢5950     JSR PRINTE¢5955     LDY #168¢5960     STY STATS¢5965     JMP EXIT¢5970 ;¢5975 ; 5) Calculate sector and byte¢5980 ;    for new load address¢5985 ;¢5990 LF01¢5995     SEC         ;Find offset¢6000     LDA CURMEM¢6005     SBC LOADAD¢6010     STA BUF2¢6015     LDA CURMEM+1¢6020     SBC LOADAD+1¢6025     STA BUF2+1¢6030     LDA BUF2    ;calc byte¢6035     AND #$7F¢6040     STA BYTNO¢6045     LDX #7¢6050 L009¢6055     CLC         ;calc sector¢6060     ROR BUF2+1  ;divide by 128¢6065     ROR BUF2¢6070     DEX ¢6075     BNE L009¢6080     INC BUF2¢6085     BNE LF11¢6090     INC BUF2+1¢6095 LF11¢6100     LDA BUF2    ;Load sec if dif¢6105     CMP SECNO¢6110     BNE LDI1¢6115     LDA BUF2+1¢6120     CMP SECNO+1¢6125     BEQ LDI2¢6130 LDI1¢6135     LDA BUF2¢6140     STA SECNO¢6145     LDA BUF2+1¢6150     STA SECNO+1¢6155     JMP GETSEC¢6160 LDI2¢6165     JMP EXIT¢6170 ;¢6175 ; 6) Save run and init. address¢6180 ;¢6185 STIRAD¢6190     JSR INRUAD¢6195     BNE IR01¢6200     JSR CMPMEM¢6205     BCC IR01¢6210     LDA CURMEM¢6215     AND #$0F¢6220     TAY ¢6225     LDA HOLDA¢6230     STA RUNADR,Y¢6235     INC CURMEM¢6240     JMP EXIT¢6245 IR01¢6250     JMP L005¢6255 ;¢6260 ; 7) Process header information¢6265 ;    for start of load file¢6270 ;¢6275 FSTSIX¢6280     CPY #$04¢6285     BEQ FSS1¢6290     JMP FS01¢6295 ;¢6300 FSS1¢6305     LDA #FM1&$FF ;  specify¢6310     LDY #FM1/$0100 ;load¢6315     JSR PRINTE  ;   information¢6320     JSR YESNO¢6325     BNE FS02¢6330     JMP FS01¢6335 ;¢6340 FS02¢6345     LDA #FM2&$FF ;  get sector¢6350     LDY #FM2/$0100 ; count¢6355     JSR PRINTE¢6360     JSR GETNUM¢6365     BCS FS02¢6370     LDA FR0¢6375     BEQ FS03¢6380     STA BUF1+1¢6385 ;¢6390 FS03¢6395     LDA #FM3&$FF ;  get load¢6400     LDY #FM3/$0100 ;address¢6405     JSR PRINTE¢6410     JSR GETNUM¢6415     BCS FS03¢6420     LDA FR0¢6425     ORA FR0+1¢6430     BEQ FS03¢6435     LDA FR0¢6440     STA BUF1+2¢6445     STA LOADAD¢6450     LDA FR0+1¢6455     STA BUF1+3¢6460     STA LOADAD+1¢6465 ;¢6470 FS04¢6475     LDA #FI4&$FF ;  get init¢6480     LDY #FI4/$0100 ;address¢6485     JSR PRINTE¢6490     JSR GETNUM¢6495     BCS FS04¢6500     LDA FR0¢6505     ORA FR0+1¢6510     BEQ FS05¢6515     LDA FR0¢6520     STA BUF1+4¢6525     LDA FR0+1¢6530     STA BUF1+5¢6535 ;¢6540 FS05¢6545     LDA #FM4&$FF ;  get run¢6550     LDY #FM4/$0100 ;address¢6555     JSR PRINTE¢6560     JSR GETNUM¢6565     BCS FS05¢6570     LDA FR0¢6575     ORA FR0+1¢6580     BEQ FS06¢6585     LDA #$4C¢6590     STA BUF1+6¢6595     LDA FR0¢6600     STA BUF1+7¢6605     LDA FR0+1¢6610     STA BUF1+8¢6615 ;¢6620 FS06¢6625     LDA #0¢6630     STA HEADER¢6635     JSR PUTSEC¢6640     JMP LDINFO¢6645 ;¢6650 FS01¢6655     LDA HOLDA   ;  get load¢6660     STA LOADAD+1 ; address¢6665     LDA CURMEM  ;  from file¢6670     STA LOADAD¢6675     LDA HOLDA¢6680     DEC HEADER¢6685     LDY HEADER¢6690     CPY #4      ;Y<4¢6695     BCS FS07    ;no¢6700     JSR LODADR¢6705     JMP EXIT¢6710 FS07¢6715     CMP #$FF    ;load file?¢6720     BEQ EXIT¢6725     LDA #MSG5&$FF¢6730     LDY #MSG5/$0100¢6735     JSR PRINTE¢6740     LDY #168    ;error if not¢6745     STY STATS   ;load file¢6750 ;¢6755 ;GET STATUS AND EXIT HANDLER¢6760 ;¢6765 STATUS¢6770 EXIT¢6775     LDY STATS¢6780     TYA         ;Error in Y¢6785 NOFNT RTS ¢6790 ;¢6795 ; 8) Clear output buffer¢6800 ;¢6805 CLEAR¢6810     LDX #$7F¢6815     LDA #$00¢6820 CLR1¢6825     STA BUF1,X¢6830     DEX ¢6835     BPL CLR1¢6840     RTS ¢6845 ;¢6850 ; 9) Check for end of load¢6855 ;    C=0 CURMEM  > LASTAD¢6860 ;    C=1 CURMEM <= LASTAD¢6865 ;¢6870 CMPMEM¢6875     LDA LASTAD+1¢6880     CMP CURMEM+1¢6885     BCC L003¢6890     BNE L003¢6895     LDA LASTAD¢6900     CMP CURMEM¢6905 L003 RTS ¢6910 ;¢6915 ;HANDLER PUT BYTE FUNCTION¢6920 ;¢6925 BPUT¢6930     STA HOLDA   ;save byte¢6935     LDY HEADER  ;from CIO¢6940     BEQ BP02¢6945     JMP FSTSIX¢6950 BP02¢6955     LDA INFOBY¢6960     BNE INF11¢6965     JSR CMPMEM  ;end of load?¢6970     BCS BP01    ;no¢6975 INF11¢6980     JMP LDINFO¢6985 BP01¢6990     JMP STIRAD  ;run or init?¢6995 L005¢7000     LDX BYTNO¢7005     LDA HOLDA¢7010     STA BUF1,X  ;save in output¢7015     INC CURMEM  ;buffer¢7020     BNE L004¢7025     INC CURMEM+1¢7030 L004¢7035     INC BYTNO   ;end of sector¢7040     BPL L006    ;yes¢7045     JSR PUTSEC  ;save sector¢7050     INC SECNO¢7055     BNE LP04¢7060     INC SECNO+1¢7065 LP04¢7070     JSR GETSEC¢7075     LDA #0¢7080     STA BYTNO¢7085     BEQ EXIT¢7090 ;¢7095 L006¢7100     JSR CMPMEM¢7105     BCS EXIT¢7110     JMP PUTSEC¢7115 ;¢7120 ;HANDLER CLOSE FUNCTION¢7125 ;¢7130 BCLOSE¢7135     BIT STATS¢7140     BPL BCL01¢7145     JMP EXIT¢7150 BCL01¢7155     JSR PUTSEC¢7160 ;¢7165     LDA #1¢7170     STA SECNO¢7175     LDA #0¢7180     STA SECNO+1¢7185     JSR GETSEC¢7190 ;¢7195     LDA #MSG4&$FF ;   sector¢7200     LDY #MSG4/$0100 ; count¢7205     JSR PRINTE¢7210     LDA MAXSEC¢7215     STA FR0¢7220     LDA MAXSEC+1¢7225     STA FR0+1¢7230     JSR PNUM¢7235     JSR BCLSUB¢7240     BEQ BCL03¢7245     LDA MAXSEC¢7250     STA BUF1+1¢7255 ;¢7260 BCL03¢7265     LDA INTADR  ;   init.¢7270     ORA INTADR+1 ;  address¢7275     BEQ BCL04¢7280     LDA #FM5&$FF¢7285     LDY #FM5/$0100¢7290     JSR PRINTE¢7295     LDA INTADR¢7300     STA FR0¢7305     LDA INTADR+1¢7310     STA FR0+1¢7315     JSR PNUM¢7320     JSR BCLSUB¢7325     BEQ BCL04¢7330     LDA INTADR¢7335     STA BUF1+4¢7340     LDA INTADR+1¢7345     STA BUF1+5¢7350 ;¢7355 BCL04¢7360     LDA RUNADR  ;   run¢7365     ORA RUNADR+1 ;  address¢7370     BEQ BCL05¢7375     LDA #FM6&$FF¢7380     LDY #FM6/$0100¢7385     JSR PRINTE¢7390     LDA RUNADR¢7395     STA FR0¢7400     LDA RUNADR+1¢7405     STA FR0+1¢7410     JSR PNUM¢7415     JSR BCLSUB¢7420     BEQ BCL05¢7425     LDA #$4C¢7430     STA BUF1+6¢7435     LDA RUNADR¢7440     STA BUF1+7¢7445     LDA RUNADR+1¢7450     STA BUF1+8¢7455 ;¢7460 BCL05¢7465     JMP PUTSEC¢7470 ;¢7475 BCLSUB¢7480     LDA #FM7&$FF¢7485     LDY #FM7/$0100¢7490     JSR PRINTE¢7495     JMP YESNO   ;Y/N?¢7500 ;¢7505 ;I/O SUBROUTINES¢7510 ;¢7515 ; 1) Read and write to disk¢7520 ;¢7525 GETSEC¢7530     LDY #$52¢7535     LDA #$40¢7540     BNE DISKIO¢7545 PUTSEC¢7550     LDA MAXSEC+1 ; Check for¢7555     BEQ L010    ;  too many¢7560     LDA MFLAG   ;  load sectors¢7565     BNE L010¢7570     LDA #MSG3&$FF¢7575     LDY #MSG3/$0100¢7580     JSR PRINTE¢7585     INC MFLAG¢7590 L010¢7595     LDA MAXSEC+1¢7600     CMP SECNO+1¢7605     BCC PU02¢7610     BNE PU01¢7615     LDA SECNO¢7620     CMP MAXSEC¢7625     BCC PU01¢7630 PU02¢7635     LDA SECNO¢7640     STA MAXSEC¢7645     LDA SECNO+1¢7650     STA MAXSEC+1¢7655 PU01¢7660     LDY #$57    ;  Use #$50¢7665     LDA #$80    ;  for no-verify¢7670 DISKIO¢7675     STY $0302¢7680     STA $0303¢7685     LDA #$31¢7690     STA $0300¢7695     LDA $21¢7700     STA $0301¢7705     LDA #$80¢7710     STA $0308¢7715     LDA #$0F¢7720     STA $0306¢7725     LDA #BUF1&$FF¢7730     STA $0304¢7735     LDA #0¢7740     STA $0309¢7745     LDA #BUF1/$0100¢7750     STA $0305¢7755     LDA SECNO¢7760     STA $030A¢7765     LDA SECNO+1¢7770     STA $030B¢7775     JSR $E459¢7780     BMI ERROR¢7785     RTS ¢7790 ERROR¢7795     LDA $0303¢7800     STA STATS¢7805     TAY ¢7810     RTS ¢7815 ;¢7820 ; 2) Y/N - Result in accumulator¢7825 ;    Y = 1¢7830 ;    N = 0¢7835 ;¢7840 YESNO¢7845     LDA #$FF¢7850     STA CH¢7855 YN1¢7860     LDA CH      ;Get 1 character¢7865     CMP #43     ;Y?¢7870     BNE YN2¢7875     LDA #1¢7880     BNE YN4¢7885 YN2¢7890     CMP #35     ;N?¢7895     BNE YN1¢7900     LDA #0¢7905 YN4¢7910     PHA ¢7915     LDA #$FF¢7920     STA CH¢7925     PLA ¢7930     RTS ¢7935 ;¢7940 ; 3) Print the integer in FR0¢7945 ;¢7950 PNUM¢7955     JSR IFP¢7960     JSR FASC¢7965     LDA INBUFF¢7970     LDY INBUFF+1¢7975     JMP PRINTE¢7980 ;¢7985 ; 4) Get a number¢7990 ;    result in FR0¢7995 ;¢8000 GETNUM¢8005     LDA #$30¢8010     STA LBUFF¢8015     LDX #1¢8020     STX HOLDX¢8025 NOTCR¢8030     JSR EGET    ;Get a number¢8035     LDX HOLDX¢8040     INC HOLDX¢8045     STA LBUFF,X ;Store it at¢8050     CMP #$9B    ;$580¢8055     BNE NOTCR¢8060     LDA #LBUFF&$FF ;Point to¢8065     STA INBUFF  ;  ASCII string¢8070     LDA #LBUFF/$0100¢8075     STA INBUFF+1¢8080     LDA #0¢8085     STA CIX¢8090     JSR AFP     ;ASCII to FP¢8095     BCS GN01    ;error if C set¢8100     JSR FPI     ;FP to integer¢8105 GN01 RTS ¢8110 ;¢8115 ; 5) Print text to screen¢8120 ;    Low byte of text in¢8125 ;    accumulator, High byte¢8130 ;    of text in Y register¢8135 ;¢8140 PRINTE¢8145     STA MSGN+1¢8150     STY MSGN+2¢8155     JMP MSGN¢8160 EP02¢8165     INC MSGN+1¢8170     BNE MSGN¢8175     INC MSGN+2¢8180 MSGN¢8185     LDA MSGN¢8190     BEQ EP04¢8195     BMI EP05¢8200     JSR EPUT¢8205     JMP EP02¢8210 EP04¢8215     JSR PNTCR¢8220     JMP EP02¢8225 ;¢8230 EP05¢8235     AND #$7F¢8240     BEQ EP06¢8245     JSR EPUT¢8250 ;¢8255 PNTCR¢8260     LDA #$9B¢8265     JSR EPUT¢8270 EP06 RTS ¢8275 ;¢8280 ;JUMP TO SCREEN EDITOR¢8285 ; PUT BYTE ROUTINE¢8290 ;¢8295 EPUT JMP EPUT¢8300 ;¢8305 ;JUMP TO SCREEN EDITOR¢8310 ; GET BYTE ROUTINE¢8315 ;¢8320 EGET JMP EGET¢8325 ;¢8330 ;¢8335 FM1 .BYTE CR,"Do you wish to "¢8340     .BYTE "specify the boot",CR¢8345     .BYTE " sector information "¢8350     .BYTE "(Y/N)",'?+128¢8355 ;¢8360 FM2 .BYTE CR,"Enter boot sector"¢8365     .BYTE " count ",128¢8370 ;¢8375 FM3 .BYTE CR,"Enter load "¢8380     .BYTE "address ",128¢8385 ;¢8390 FM4 .BYTE CR,"Enter run "¢8395     .BYTE "address ",128¢8400 ;¢8405 FI4 .BYTE CR,"Enter "¢8410     .BYTE "initialization "¢8415     .BYTE "address ",128¢8420 ;¢8425 FM5 .BYTE CR,"Load file "¢8430     .BYTE "initiation address "¢8435     .BYTE "= ",128¢8440 ;¢8445 FM6 .BYTE CR,"Load file "¢8450     .BYTE "run address "¢8455     .BYTE "= ",128¢8460 ;¢8465 FM7 .BYTE CR,"Insert into "¢8470     .BYTE "boot sector (Y/N)"¢8475     .BYTE '?+128¢8480 ;¢8485 MSG1 .BYTE CR,"How many sectors"¢8490     .BYTE " to clear",'?+128¢8495 ;¢8500 MSG2 .BYTE CR,"Make disk #"¢8505 ;¢8510 MSG2A .BYTE $31," into boot"¢8515     .BYTE " disk (Y/N)",'?+128¢8520 ;¢8525 MSG3 .BYTE CR,"Sector count"¢8530     .BYTE " exceeds 25",'5+128¢8535 ;¢8540 MSG4 .BYTE CR,"The boot sector"¢8545     .BYTE " count is ",128¢8550 ;¢8555 MSG5 .BYTE CR,"Not a load"¢8560     .BYTE " fil",'e+128¢8565 ;¢8570 MSG6 .BYTE CR,"Specified load"¢8575     .BYTE " address is",CR¢8580     .BYTE "  is not lowest"¢8585     .BYTE " addres of fil"¢8590     .BYTE 'e+128¢8595 ;¢8600 LAST .END ¢