10 ;  ÍÆÉÌÌ   öåò® ²›20 ;›30 ; COPYRIGHT (C) 1982 BY DAVID FOX AND MITCHELL WAITE›40 ;›50 .TAB 15,20,32›0100 .TITLE "CLK-MFILL.ASM;v02.00,810907-810907"›0110 .PAGE "Memory Fill Routine"›0120 ;›0130 ; BY COREY L. KOSAK›0140 ;›0150 ; This version will work in both MBASIC and Atari BASIC. To use,›0160 ; execute the following lines from within BASIC where START is›0170 ; the first address to fill:›0180 ; POKE START,LENLO :REM Low byte of length (number of bytes to fill)›0190 ; POKE START+1,LENHI :REM High byte of length›0200 ; POKE START+2,BYTE :REM Byte value to fill›0210 ; TEMP=USR(MFILL,START):REM Call routine›0220 ;›0230 ;›0240 ; B=$4000,FREL›0250 ;›0260 BASE=$4000›0270 ;›0280 ABASIC=1 ;0=MBASIC, 1=ATARI BASIC›0290 ;›0300 MEQU .IF ABASIC @AEQU›0310 ;›0320 ARG=$E3›0330 LEN=$E0›0340 ;›0350 AEQU .IF 1-ABASIC @PROG›0360 ;›0370 ARG=$CB ; TEMP›0380 LEN=$6FE›0390 ;›0400 PROG *=BASE›0410 ;›0420 START›0430 .IF 1-ABASIC @NOSAVE›0440 PLA›0450 PLA›0460 STA ARG+1›0470 PLA›0480 STA ARG›0490 ;›0500 NOSAVE›0510 LDY #$02›0520 LOOP2›0530 LDA (ARG),Y›0540 STA LEN-1,Y›0550 DEY›0560 BNE LOOP2›0570 LDA (ARG),Y›0580 ;›0590 LOOP›0600 STA (ARG),Y›0610 TAX›0620 LDA LEN›0630 BNE OK›0640 DEC LEN+1›0650 OK›0660 DEC LEN›0670 LDA LEN›0680 ORA LEN+1›0690 BEQ DONE›0700 TXA›0710 INY›0720 BNE LOOP›0730 INC ARG+1›0740 BNE LOOP›0750 ;›0760 DONE›0770 RTS›0780 ;›0790 .END›