10REM Automatically save memory every X seconds. 20REM Resets timer on keypress so as not to loose characters when typing. 30 40InsV = &22A 50OsWord=&FFF1 60OsByte=&FFF4 70EventV=&220 80DIM Code 300 90DIM clock 5 100FOR Pass=4 TO 6 STEP 2 110P%=&900 120O%=Code 130[OPT Pass 140Jmp Init 150.myins 160 PHP 170 Cpx #0:Beq reset 180 PLP 190 JMP (hisins) 200.hisins NOP:NOP 210.reset 220 Pha:tya:pha:txa:pha 230 Jsr Wind 240 pla:tax:pla:tay:pla 250 plp:Jmp (hisins) 260.evrt 270PHP:PHA:Sta evcode:TXA:PHA:TYA:PHA 280Lda evcode:Cmp #5:Bne ignore 290JSR LongWind \ MUST come first to be active on reload? 300\\\ Now ONLY after keypresses - not on repeater... 310Lda #143 320Ldx #49 330Jsr OsByte 340PLA:TAY:PLA:TAX:PLA:PLP 350 Rts 360.ignore Jmp (hisev) 370.clock 380 EQUD &FFFFFFFF-(5*100) \ Delay to be carefully tweaked... 390 EQUB &FF 400.lclock 410 EQUD &FFFFFFFF-(60*100) \ Delay to be carefully tweaked... 420 EQUB &FF 430.hisev NOP:NOP 440.evcode 450NOP 460.Init 470 Lda InsV:Sta hisins 480 Lda InsV+1:Sta hisins+1 490 Lda #myins MOD 256:Sta InsV 500 Lda #myins DIV 256:Sta InsV+1 510 Lda EventV:Sta hisev 520 Lda EventV+1:Sta hisev 530 Lda #evrt MOD 256:Sta EventV 540 Lda #evrt DIV 256:Sta EventV+1 550 Lda #14:Ldx #5:Jsr &FFF4 560 LDA #143:LDX #49:JSR OsByte 570.Wind 580 LDX #clock MOD 256:Ldy #clock DIV 256:Lda #4:Jsr &FFF1 590 Rts 600.LongWind 610 LDX #lclock MOD 256:Ldy #lclock DIV 256:Lda #4:Jsr &FFF1 620 Rts 630] 640NEXT 650OSCLI("SAVE $.Auto "+STR$~(Code)+" +100 FFFF0900 FFFF0900")