.PC02 .DEFINE EQU = .DEFINE DB .BYTE .DEFINE DW .WORD .DEFINE DS .RES ;* ;* LANGUAGE CARD CONTROL ;* LCBNK2 EQU $C080 ROMIN EQU $C081 ;********************************************************** ;* ;* VM ZERO PAGE LOCATIONS ;* ;********************************************************** ESTKSZ EQU $20 ESTK EQU $C0 ESTKL EQU ESTK ESTKH EQU ESTK+ESTKSZ/2 VMZP EQU ESTK+ESTKSZ FRMP EQU VMZP+$00 FRMPL EQU FRMP FRMPH EQU FRMP+1 PC EQU VMZP+$02 PCL EQU PC PCH EQU PC+1 JSROP EQU VMZP+$0D ;* ;* PAGE 3 ENTRYPOINTS TO INTERNAL ROUTINES ;* INTERP EQU $03D0 INTERPX EQU $03D6 LEAVE EQU $03DC ENTER EQU $03E2 ;* ;* INTERNAL OPCODE ADDRESS ADDRESSES (FROM OPTBL) ;* _ZERO EQU $D000 _ADD EQU $D002 _SUB EQU $D004 _MUL EQU $D006 _DIV EQU $D008 _DIVMOD EQU $D00A _INCR EQU $D00C _DECR EQU $D00E _NEG EQU $D010 _COMP EQU $D012 _BAND EQU $D014 _IOR EQU $D016 _XOR EQU $D018 _SHL EQU $D01A _SHR EQU $D01C _IDXW EQU $D01E _NOT EQU $D020 _LOR EQU $D022 _LAND EQU $D024 _LA EQU $D026 _LLA EQU $D028 _CB EQU $D02A _CW EQU $D02C _SWAP EQU $D02E _DROP EQU $D030 _DUP EQU $D032 _PUSH EQU $D034 _PULL EQU $D036 _SKPLT EQU $D038 _SKPGT EQU $D03A _SKPEQ EQU $D03C _SKPNE EQU $D03E _ISEQ EQU $D040 _ISNE EQU $D042 _ISGT EQU $D044 _ISLT EQU $D046 _ISGE EQU $D048 _ISLE EQU $D04A _SKPFLS EQU $D04C _SKPTRU EQU $D04E _SKIP EQU $D050 _ISKIP EQU $D052 _CALL EQU $D054 _ICAL EQU $D056 _ENTER EQU $D058 _LEAVE EQU $D05A _RET EQU $D05C _INT EQU $D05E _LB EQU $D060 _LW EQU $D062 _LLB EQU $D064 _LLW EQU $D066 _LAB EQU $D068 _LAW EQU $D06A _DLB EQU $D06C _DLW EQU $D06E _SB EQU $D070 _SW EQU $D072 _SLB EQU $D074 _SLW EQU $D076 _SAB EQU $D078 _SAW EQU $D07A _DAB EQU $D07C _DAW EQU $D07E JMP _ENTRY DB $EE,$EE DB 65,00 DS 64 NOPLASMA: DB 39, " PLASMA VM NOT LOADED. PRESS ANY KEY..." _ENTRY: BIT LCBNK2 LDA $D101 CMP #$B8 ; CLV BEQ _JMPSTART BIT ROMIN LDY #$00 : INY LDA NOPLASMA,Y ORA #$80 JSR $FDED CPY NOPLASMA BNE :- JSR $FD0C JMP _EXIT _JMPSTART: LDX #$FE ; LEAVE $1FF AVAIL FOR RDSTR() TXS LDX #$00 LDA #$BF STX FRMPL STA FRMPH LDY #>START LDA #