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