10 ; RESET THE MEMLO POINTER›20 ;›30 START     =     $600›40 DOSINI    =     $0C›50 MEMLO     =     $2E7›60 NEWMEM    =     $3000 ;THIS IS THE NEW VALUE FOR MEMLO›65 ;›70 ;THIS ROUTINE RESERVES SPACE FOR ASSEMBLY ROUTINES›90 ;BY RESETING THE MEMLO POINTER. IT RUNS AS›0100 ;AN AUTORUN.SYS FILE. IT ALSO RESETS MEMLO ON [RESET].›0120 ;MEMLO IS SET TO THE VALUE OF NEWMEM.›0130 ;›0140 ; THIS PART IS PERMANENT, IE. NEEDS TO BE RESIDENT.›0150 ; THE SYSTEM DOSINI VECTOR HAS BEEN STOLEN›0160 ; AND STORED IN THE ADDRESS PORTION OF THE JSR TROJAN›0170 ; INSTRUCTION. SO WHEN [RESET] IS PRESSED, DOSINI VECTORS›0180 ; TO INITDOS, JSR TROJAN THEN CALLS THE DOS INITIALIZATION›0185 ; ROUTINES, MEMLO IS RESET TO NEW VALUE AND CONTROL›0190 ; RETURNS TO THE MONITOR.›0200      *=  START›0210 INITDOS›0220     JSR TROJAN ; DO DOS INITIALIZATION›0230     LDA #NEWMEM&255›0240     STA MEMLO›0250     LDA #NEWMEM/256›0260     STA MEMLO+1›0270 TROJAN›0280     RTS›0290 ; THIS PART IS EXECUTED AT POWER UP ONLY AND›0300 ; CAN BE DELETED AFTER POWER-UP.›0330 ; THIS ROUTINE STORES THE CONTENTS OF DOSINI INTO THE JSR›0350 ; TROJAN INSTRUCTION. IT THEN REPLACES DOSINI WITH›0370 ; A NEW VALUE, LOCATION INITDOS.›0390 GRABDOSI›0400     LDA DOSINI     ; SAVE DOSINI›0410     STA INITDOS+1›0420     LDA DOSINI+1›0430     STA INITDOS+2›0440     LDA #INITDOS&255 ; SET DOSINI›0450     STA DOSINI›0460     LDA #INITDOS/256›0470     STA DOSINI+1›0480     LDA NEWMEM&255 ; SET MEMLO›0490     STA MEMLO›0500     LDA #NEWMEM/256›0510     STA MEMLO+1›0520     RTS›0530     *=  $2E2›0540     .WORD GRABDOSI      ; SET RUN ADDRESS›0550     .END›