SYS ;* ;* ZERO PAGE LOCATIONS ;* ESTKSZ EQU $40 ESTK EQU $80 ESTKL EQU ESTK ESTKH EQU ESTK+1 PC EQU ESTK+ESTKSZ PCL EQU PC PCH EQU PC+1 FP EQU PC+2 FPL EQU FP FPH EQU FP+1 TMP EQU FP+2 TMPL EQU TMP TMPH EQU TMP+1 NPARMS EQU TMPL FRMSZ EQU TMPH ;* ;* PRODOS VARIABLES ;* LEVEL EQU $BFD8 SYSBITMAP EQU $BF58 MACHID EQU $BF98 ;* ;* ROM AND SOFTSWITCH LOCATIONS ;* INBUFF EQU $01FF ROMIN EQU $C081 LCBNK2 EQU $C083 LCBNK1 EQU $C08B ALTZPOFF EQU $C008 ALTZPON EQU $C009 ALTRAMRDOFF EQU $C002 ALTRAMRDON EQU $C003 ALTRAMWROFF EQU $C004 ALTRAMWRON EQU $C005 ;* ;* SYS ENTRYPOINT ;* ORG $2000 JMP INITVM DB $EE,$EE DB $65 PARMS: DB $00 DS 64 INITVM: LDX #$FE TXS LDY PARMS STY INBUFF BEQ VMMV CPYPARMS: LDA PARMS,Y STA INBUFF,Y DEY BNE CPYPARMS VMMV: SEI ; DISABLE INTERRUPTS BIT LCBNK2 ; MAKE SURE LCBANK2 SET UP BIT LCBNK2 CLI LDX #$00 LDA #>SYSEND STA ESTKL+4,X LDA #CPYSZ STY ESTKL,X LDA #LCMEMEND STA ESTKL+4,X LDA #RTSZ STA ESTKL,X LDA #INBUFF STA ESTKL,X LDA #REGVALS LDY #INBUFF STA ESTKL,X LDA #