71 lines
1.9 KiB
PHP
71 lines
1.9 KiB
PHP
; ==================================================
|
|
; Orion BASIC v2.4 for Orion-128 computer
|
|
;
|
|
; Helper routines for BASIC
|
|
; in safe, unswitheable RAM area
|
|
; Disassembled by Romychs @ 2026-10-23
|
|
; ==================================================
|
|
|
|
; --------------------------------------------------
|
|
; Inp: A - RAM-page
|
|
; C - AND mask
|
|
; --------------------------------------------------
|
|
ORI_SAFE_SET_ATTR EQU 0xF300
|
|
|
|
; --------------------------------------------------
|
|
; Inp: A - RAM-page
|
|
; B - OR mask
|
|
; C - AND mask
|
|
; HL - address in ext RAM
|
|
; Out: B
|
|
; --------------------------------------------------
|
|
ORI_SCR_ANDOR EQU 0xF310
|
|
|
|
ORI_SCR_OP2_1 EQU 0xF319
|
|
|
|
; --------------------------------------------------
|
|
; Mask by OR hi 4 bit of extended RAM byte:
|
|
; RAM[A][HL] = RAM[A][HL] AND 0xF0 OR B
|
|
; Inp: A - memory page
|
|
; B - mask
|
|
; HL - address in extended RAM
|
|
; --------------------------------------------------
|
|
ORI_MSK_HI_OR EQU 0xF31F
|
|
|
|
CLRCLNXT EQU 0xF32C
|
|
CURCATR EQU 0xF32F
|
|
CLRCLUP EQU 0xF330
|
|
|
|
; --------------------------------------------------
|
|
; Fill screen attributes
|
|
; Inp: A - memory page
|
|
; C - rows, B - columns
|
|
; HL - start address
|
|
; --------------------------------------------------
|
|
ORI_SCR_FA EQU 0xF32A
|
|
|
|
CLRCLRT EQU 0xF341
|
|
|
|
; Variable
|
|
SAF_CURATR EQU 0xF349
|
|
|
|
; Variable
|
|
BYTE_ram_f34a EQU 0xF34A
|
|
|
|
; --------------------------------------------------
|
|
; Output char for specified memory page
|
|
; Inp: A - memory page
|
|
; C - character code
|
|
; --------------------------------------------------
|
|
ORI_MON_TV2 EQU 0xF34B
|
|
|
|
; --------------------------------------------------
|
|
; Buffer for filename (12 bytes)
|
|
; --------------------------------------------------
|
|
FNAMBUF EQU 0xF354
|
|
|
|
; --------------------------------------------------
|
|
; Stack for safe call MONITOR subroutines
|
|
; when one of extended RAM-page active
|
|
; --------------------------------------------------
|
|
SAFESTK EQU 0xF3C0 |