70 lines
1.7 KiB
HTML
70 lines
1.7 KiB
HTML
; ===================================================
|
|
; MSX BASIC for Orion-128 computer
|
|
;
|
|
; Resident part of specific Orion-128 code at
|
|
; unswitcheadle RAM region 0xF300-0xF3FF
|
|
; Moved from MZBAS code body at BASIC Init process
|
|
;
|
|
; Disassembled by Romychs @ 2026-10-08
|
|
; ===================================================
|
|
|
|
; Move bytes to memory page 1
|
|
; Inp: HL - start address
|
|
; DE - destination address
|
|
; B - counter
|
|
ORI_MV_RAM1 EQU 0xf300
|
|
|
|
; Fill memory page 1 with value
|
|
; Inp: HL - destination start address
|
|
; C - value to write
|
|
; B - count to write
|
|
ORI_FILL_RAM1 EQU 0xf310
|
|
|
|
; Read byte from memory page 1
|
|
; Inp: HL - source address
|
|
; Out: C - result
|
|
ORI_RD_RAM1 EQU 0xf31e
|
|
|
|
; Fill both base page 0 and page 1 with values (symbol and attribyte)
|
|
; Inp: HL - dest address
|
|
; D - value for page 0
|
|
; C - value for page 1
|
|
; B - count
|
|
ORI_FILL_BOTH EQU 0xf326
|
|
|
|
; Move (HL)->(DE) BC-count for page 0 and page 1
|
|
; Inp: HL -> source
|
|
; DE -> destination
|
|
; BC - count of bytes
|
|
ORI_MV_BOTH EQU 0xf335
|
|
|
|
; Duplicate code
|
|
; Move (HL)->(DE) BC-count for page 0 and page 1
|
|
; Inp: HL -> source
|
|
; DE -> destination
|
|
; BC - count of bytes
|
|
ORI_MV_BOTH1 EQU 0xf353
|
|
|
|
|
|
; Move 256 byte blocks (HL)->(DE) on both pages 0 and 1
|
|
; Inp: HL -> source
|
|
; DE -> destination
|
|
; B - count of blocks
|
|
ORI_MV_BOTH_PAR EQU 0xf371
|
|
|
|
; Duplicate code
|
|
; Move 256 byte blocks (HL)->(DE) on both pages 0 and 1
|
|
; Inp: HL -> source
|
|
; DE -> destination
|
|
; B - count of blocks
|
|
ORI_MV_BOTH_PAR1 EQU 0xf381
|
|
|
|
; Move 256 bytes (HL)->(DE) on specified page
|
|
; Inp: A - RAM page no [0..3]
|
|
OPI_MV_SPAGE EQU 0xf391
|
|
|
|
; Duplicate code
|
|
; Move 256 bytes (HL)->(DE) on specified page
|
|
; Inp: A - RAM page no [0..3]
|
|
OPI_MV_SPAGE1 EQU 0xf3a1
|