mirror of
https://github.com/romychs/OK240.2-Firmware.git
synced 2026-04-21 10:53:18 +03:00
Monitor R7 crc32: 93bd95bd disasm
This commit is contained in:
parent
36d4022af1
commit
1a2570d95f
@ -11,8 +11,8 @@
|
||||
|
||||
MODULE MON_ENTRY
|
||||
|
||||
mon_init EQU 0xe000
|
||||
mon_cold_start EQU 0xe003
|
||||
mon_start EQU 0xe000
|
||||
mon_hexb EQU 0xe003
|
||||
non_con_status EQU 0xe006
|
||||
mon_con_in EQU 0xe009
|
||||
mon_con_out EQU 0xe00c
|
||||
@ -21,14 +21,15 @@ mpn_serial_out EQU 0xe012
|
||||
mon_char_print EQU 0xe015
|
||||
mon_tape_read EQU 0xe018
|
||||
mon_tape_write EQU 0xe01b
|
||||
ram_disk_read EQU 0xe01e
|
||||
ram_disk_write EQU 0xe021
|
||||
mon_res_f1 EQU 0xe024
|
||||
mon_res_f2 EQU 0xe027
|
||||
mon_ram_disk_read EQU 0xe01e
|
||||
mon_ram_disk_write EQU 0xe021
|
||||
mon_tape_read_ram EQU 0xe024
|
||||
mon_tape_write_ram EQU 0xe027
|
||||
mon_tape_wait EQU 0xe02a
|
||||
mon_tape_detect EQU 0xe02d
|
||||
read_floppy EQU 0xe030
|
||||
write_floppy EQU 0xe033
|
||||
mon_read_floppy EQU 0xe030
|
||||
mon_write_floppy EQU 0xe033
|
||||
mon_out_strz EQU 0xe036
|
||||
|
||||
ENDMODULE
|
||||
|
||||
|
||||
@ -2,7 +2,7 @@
|
||||
; Ocean-240.2
|
||||
; Monitor r7
|
||||
;
|
||||
; Disassembled by Romych 2025-09-09
|
||||
; Disassembled by Romych 2026-02-16
|
||||
; ======================================================
|
||||
|
||||
DEVICE NOSLOT64K
|
||||
@ -23,7 +23,7 @@
|
||||
; Monitor Entry points
|
||||
; ------------------------------------------------------
|
||||
|
||||
start: JP m_hot_start ; E000
|
||||
mon_start: JP m_start ; E000
|
||||
mon_hexb: JP m_hexb ; E003
|
||||
mon_con_status: JP m_con_status ; E006
|
||||
mon_con_in: JP m_con_in ; E009
|
||||
@ -37,17 +37,17 @@ mon_ram_disk_read: JP m_ramdisk_read ; E01E
|
||||
mon_ram_disk_write: JP m_ramdisk_write ; E021
|
||||
mon_tape_read_ram: JP m_tape_read_ram2 ; E024
|
||||
mon_tape_write_ram: JP m_tape_write_ram2 ; E027
|
||||
mon_tape_wait: JP m_tape_wait ; E02D
|
||||
mon_tape_detect: JP m_tape_blk_detect ; E030
|
||||
mon_read_floppy: JP m_read_floppy ; E033
|
||||
mon_write_floppy: JP m_write_floppy ; E036
|
||||
mon_out_strz: JP m_out_strz ; E039
|
||||
mon_tape_wait: JP m_tape_wait ; E02A
|
||||
mon_tape_detect: JP m_tape_blk_detect ; E02D
|
||||
mon_read_floppy: JP m_read_floppy ; E030
|
||||
mon_write_floppy: JP m_write_floppy ; E033
|
||||
mon_out_strz: JP m_out_strz ; E036
|
||||
|
||||
|
||||
; ------------------------------------------------------
|
||||
; Init system devices
|
||||
; ------------------------------------------------------
|
||||
m_hot_start:
|
||||
m_start:
|
||||
DI
|
||||
LD A, 10000000b ; DD17 all ports to out
|
||||
OUT (SYS_DD17CTR), A ; VV55 Sys CTR
|
||||
@ -396,8 +396,8 @@ esc_handler_tab:
|
||||
DW esc_print_screen ;1 <ESC>:
|
||||
DW esc_draw_circle ;5 <ESC>;xyraxay X,Y, Radius, aspect ratio X, aspect ratio Y
|
||||
DW esc_paint ;5 <ESC><xym
|
||||
DW esc_get_put_image ;7 <ESC>=
|
||||
DW esc_picture ;6 <ESC>>
|
||||
DW esc_get_put_image ;6 <ESC>=
|
||||
DW esc_picture ;5 <ESC>>
|
||||
DW esc_set_beep ;4 <ESC>?ppdd pp-period (word), dd - duration (word)
|
||||
|
||||
esc_set_beep:
|
||||
@ -425,7 +425,7 @@ esc_set_cursor2:
|
||||
esc_print_screen:
|
||||
LD A, (M_VARS.screen_mode)
|
||||
AND 00000011b
|
||||
RET NZ ; ret if not 0-3 mode
|
||||
RET NZ ; ret for mono modes
|
||||
LD DE, 0x30ff
|
||||
CALL m_print_hor_line
|
||||
DEC E
|
||||
@ -2279,7 +2279,7 @@ esc_draw_fill_rect:
|
||||
CPL
|
||||
LD (M_VARS.pixel_mask_r), A
|
||||
LD D, A
|
||||
LD A, (M_VARS.pixel_mask_l_i)
|
||||
LD A, (M_VARS.pixel_mask_l)
|
||||
LD E, A
|
||||
dfr_l1:
|
||||
PUSH DE
|
||||
@ -5173,7 +5173,7 @@ CODE_SIZE EQU LAST-0xe000
|
||||
FILL_SIZE EQU ROM_CHIP_SIZE-CODE_SIZE
|
||||
|
||||
|
||||
ASSERT m_hot_start = 0xe039
|
||||
ASSERT m_start = 0xe039
|
||||
ASSERT m_out_strz = 0xe0d9
|
||||
ASSERT m_char_print = 0xe130
|
||||
ASSERT m_con_out = 0xe14a
|
||||
|
||||
9
MON_r7_93bd95bd/.vscode/extensions.json
vendored
Normal file
9
MON_r7_93bd95bd/.vscode/extensions.json
vendored
Normal file
@ -0,0 +1,9 @@
|
||||
{
|
||||
"recommendations": [
|
||||
"maziac.asm-code-lens",
|
||||
"maziac.dezog",
|
||||
"maziac.hex-hover-converter",
|
||||
"maziac.z80-instruction-set",
|
||||
"maziac.sna-fileviewer"
|
||||
]
|
||||
}
|
||||
65
MON_r7_93bd95bd/.vscode/tasks.json
vendored
Normal file
65
MON_r7_93bd95bd/.vscode/tasks.json
vendored
Normal file
@ -0,0 +1,65 @@
|
||||
{
|
||||
"version": "2.0.0",
|
||||
"tasks": [
|
||||
|
||||
{
|
||||
"label": "make MONITOR (sjasmplus)",
|
||||
"type": "shell",
|
||||
"command": "sjasmplus",
|
||||
"args": [
|
||||
"--sld=monitor.sld",
|
||||
"--sym=monitor.labels",
|
||||
"--raw=monitor.obj",
|
||||
"--fullpath",
|
||||
"monitor.asm"
|
||||
],
|
||||
"problemMatcher": {
|
||||
"owner": "sjasmplus",
|
||||
"fileLocation": "autoDetect",
|
||||
"pattern": {
|
||||
"regexp": "^(.*)\\((\\d+)\\):\\s+(warning|error):\\s+(.*)$",
|
||||
"file": 1,
|
||||
"line": 2,
|
||||
"severity": 3,
|
||||
"message": 4
|
||||
}
|
||||
},
|
||||
"group": {
|
||||
"kind": "build",
|
||||
"isDefault": true
|
||||
}
|
||||
},
|
||||
{
|
||||
"label": "Optimize MONITOR (MDL)",
|
||||
"type": "shell",
|
||||
"command": "/opt/java21/bin/java -jar ~/Soft/MDL/mdl.jar monitor.asm -cpu z80 -so -dialect sjasmplus",
|
||||
"group": "build",
|
||||
"problemMatcher": {
|
||||
"applyTo": "allDocuments",
|
||||
"fileLocation": [
|
||||
"autoDetect",
|
||||
"${workspaceFolder}"
|
||||
],
|
||||
"pattern": [
|
||||
{
|
||||
"regexp": "^(\\w+): (.+) in (.+)#([0-9]+): (.+)$",
|
||||
"file": 3,
|
||||
"line": 4,
|
||||
"severity": 1,
|
||||
"message": 5,
|
||||
"code": 2
|
||||
}
|
||||
]
|
||||
},
|
||||
"presentation": {
|
||||
"echo": false,
|
||||
"focus": false,
|
||||
"panel": "dedicated",
|
||||
"showReuseMessage": false,
|
||||
"clear": true,
|
||||
"revealProblems": "onProblem"
|
||||
}
|
||||
}
|
||||
|
||||
]
|
||||
}
|
||||
15
MON_r7_93bd95bd/README.md
Normal file
15
MON_r7_93bd95bd/README.md
Normal file
@ -0,0 +1,15 @@
|
||||
# Ocean-240.2 ROM Monitor release 7
|
||||
|
||||
**CRC32 checksum**: 93bd95bd
|
||||
|
||||
Source codes of Turbo Monitor r7 for Ocean-240.2 with Floppy controller.
|
||||
|
||||
In Z80 mnemonics, but limited for i8080 instruction set.
|
||||
|
||||
## Compile:
|
||||
|
||||
Code is located in memory at address: 0xE000..0xFFFF
|
||||
|
||||
sjasmplus --sld=monitor.sld --sym=monitor.labels --raw=monitor.obj --fullpath monitor.asm
|
||||
|
||||
To compile sources, use [sjasmplus Z80 assembler](https://github.com/z00m128/sjasmplus).
|
||||
41
MON_r7_93bd95bd/bios_entries.inc
Normal file
41
MON_r7_93bd95bd/bios_entries.inc
Normal file
@ -0,0 +1,41 @@
|
||||
|
||||
; =======================================================
|
||||
; Ocean-240.2
|
||||
; Definition of CPM BIOS entries to compile depended
|
||||
; modules
|
||||
;
|
||||
; By Romych 2025-09-09
|
||||
; ======================================================
|
||||
IFNDEF _BIOS
|
||||
DEFINE _BIOS
|
||||
|
||||
MODULE BIOS
|
||||
|
||||
boot_f EQU 0xD600
|
||||
wboot_f EQU 0xD603
|
||||
const_f EQU 0xD606
|
||||
conin_f EQU 0xD609
|
||||
conout_f EQU 0xD60C
|
||||
list_f EQU 0xD60F
|
||||
punch_f EQU 0xD612
|
||||
reader_f EQU 0xD615
|
||||
home_f EQU 0xD618
|
||||
seldsk_f EQU 0xD61B
|
||||
settrk_f EQU 0xD61E
|
||||
setsec_f EQU 0xD621
|
||||
setdma_f EQU 0xD624
|
||||
read_f EQU 0xD627
|
||||
write_f EQU 0xD62A
|
||||
sectran_f EQU 0xD630
|
||||
reserved_f1 EQU 0xD633
|
||||
reserved_f2 EQU 0xD636
|
||||
tape_read_f EQU 0xD639
|
||||
tape_write_f EQU 0xD63C
|
||||
tape_wait_f EQU 0xD63F
|
||||
|
||||
bios_var04 EQU 0xD64B
|
||||
|
||||
ENDMODULE
|
||||
|
||||
|
||||
ENDIF
|
||||
149
MON_r7_93bd95bd/equates.inc
Normal file
149
MON_r7_93bd95bd/equates.inc
Normal file
@ -0,0 +1,149 @@
|
||||
; ======================================================
|
||||
; Ocean-240.2
|
||||
; Equates for all assembly sources
|
||||
;
|
||||
; By Romych 2025-09-09
|
||||
; ======================================================
|
||||
|
||||
IFNDEF _EQUATES
|
||||
DEFINE _EQUATES
|
||||
|
||||
ADDLIST EQU 0x08
|
||||
ASCII_BELL EQU 0x07 ; Make Beep
|
||||
ASCII_BS EQU 0x08 ; Move cursor left (Back Space)
|
||||
ASCII_TAB EQU 0x09 ; Move cursor right +8 pos
|
||||
ASCII_LF EQU 0x0A ; Move cursor down (Line Feed)
|
||||
ASCII_FF EQU 0x0C ; Move cursor to home (Form Feed)
|
||||
ASCII_CR EQU 0x0D ; Move gursor to 1st pos (Cariage Return)
|
||||
ASCII_CAN EQU 0x18 ; Move cursor right
|
||||
ASCII_EM EQU 0x19 ; Move cursor up
|
||||
ASCII_SUB EQU 0x1A ; CTRL-Z - end of text file marker
|
||||
ASCII_ESC EQU 0x1B ;
|
||||
ASCII_US EQU 0x1F ; Clear screen
|
||||
ASCII_SP EQU 0x20
|
||||
ASCII_DEL EQU 0x7F
|
||||
|
||||
; ------------------------------------------------------
|
||||
BDOS_NFUNCS EQU 41
|
||||
BELL_PIN EQU 0x08 ; DD67 Pin PC3 - "BELL"
|
||||
; ------------------------------------------------------
|
||||
CCP_COMMAND_SIZE EQU 5 ; max length of CCP command
|
||||
CCP_COMMAND_COUNT EQU 3 ; Count of CCP commands
|
||||
CCP_COMMAND_CNT EQU 6
|
||||
CCP_COMMAND_LEN EQU 4
|
||||
|
||||
CCP_SRC_ADDR EQU 0xc000 ; Address of CCP resident part in ROM
|
||||
CCP_DST_ADDR EQU 0xb200 ; Address of CCP resident part in RAM
|
||||
CCP_SIZE EQU 0x809
|
||||
|
||||
CPM_VERSION EQU 0x22 ; Version of CP/M as byte nibbles '2.2'
|
||||
|
||||
CTRL EQU 0x5E ; ^
|
||||
CTRL_C EQU 0x03 ; Warm boot
|
||||
CTRL_H EQU 0x08 ; Backspace
|
||||
CTRL_E EQU 0x05 ; Move to beginning of new line (Physical EOL)
|
||||
CTRL_J EQU 0x0A ; LF - Line Feed
|
||||
CTRL_M EQU 0x0D ; CR - Carriage Return
|
||||
CTRL_P EQU 0x10 ; turn on/off printer
|
||||
CTRL_R EQU 0x12 ; Repeat current cmd line
|
||||
CTRL_S EQU 0x13 ; Temporary stop display data to console (aka DC3)
|
||||
CTRL_U EQU 0x15 ; Cancel (erase) current cmd line
|
||||
CTRL_X EQU 0x18 ; Cancel (erase) current cmd line
|
||||
|
||||
; ------------------------------------------------------
|
||||
DBPLIST EQU 0x0F
|
||||
DEF_DISK_A_SIZE EQU 0x3F
|
||||
DEF_DISK_B_SIZE EQU 0x0168
|
||||
DIR_BUFF_SIZE EQU 128
|
||||
DSK_MAP EQU 0x10
|
||||
DSK_MSK EQU 0x03
|
||||
DSK_SHF EQU 0x02
|
||||
DMA_BUFF_SIZE EQU 0x80
|
||||
; ------------------------------------------------------
|
||||
ENDDIR EQU 0xFFFF
|
||||
ESC_CMD_END EQU 0x1A
|
||||
;EXT_NUM EQU 12 ; Extent byte offset
|
||||
; ------------------------------------------------------
|
||||
FALSE EQU 0x00
|
||||
FDC_DD80RB EQU 0x21
|
||||
FDC_NOT_READY EQU 0x80
|
||||
FDC_RESTORE_L EQU 0x08
|
||||
FDC_SEEK_LV EQU 0x1C
|
||||
FDC_RESTORE_UH_NV EQU 0x03 ; Restore Unload Head, No Verify, 15ms Rate
|
||||
FILE_DELETED EQU 0xE5
|
||||
FWF_MASK EQU 0x80 ; File Write Flag mask
|
||||
|
||||
; ---------------------------------------------------
|
||||
; FCB Offsets
|
||||
; ---------------------------------------------------
|
||||
FCB_LEN EQU 32 ; length of FCB
|
||||
FCB_SHF EQU 5
|
||||
FN_LEN EQU 12 ; Length of filename in FCB
|
||||
|
||||
FCB_DR EQU 0 ; Drive. 0 for default, 1-16 for A-P
|
||||
FCB_FN EQU 1 ; Fn - Filename, 7-bit ASCII. The top bits - attributes
|
||||
FCB_FT EQU 9 ; Filetype, 7-bit ASCII.
|
||||
; T1' to T3' have the following
|
||||
; T1' - Read-Only
|
||||
; T2' - System (hidden)
|
||||
; T3' - Archive
|
||||
FCB_EXT EQU 12 ; EX - Set this to 0 when opening a file and then leave it to
|
||||
; CP/M. You can rewind a file by setting EX, RC, S2 and CR to 0.
|
||||
FCB_S1 EQU 13 ; S1 - Reserved.
|
||||
FCB_S2 EQU 14 ; S2 - Reserved. Bit 7 - wile write flag, [6:0] module number (Extent hi bits)
|
||||
FCB_RC EQU 15 ; RC - Set this to 0 when opening a file and then leave it to CP/M.
|
||||
FCB_AL EQU 16 ; AL - Image of the second half of the directory entry,
|
||||
; containing the file's allocation (which disc blocks it owns).
|
||||
FCB_CR EQU 32 ; CR - Current record within extent. It is usually best to set
|
||||
; this to 0 immediately after a file has been opened and
|
||||
; then ignore it.
|
||||
FCB_RN EQU 33 ; Rn - Random access record number. A 16-bit (with R2 used for overflow)
|
||||
|
||||
|
||||
; ------------------------------------------------------
|
||||
JP_OPCODE EQU 0xC3
|
||||
; ------------------------------------------------------
|
||||
IRQ_0 EQU 0x01
|
||||
IRQ_1 EQU 0x02
|
||||
IRQ_2 EQU 0x04
|
||||
;LP_IRQ EQU 0x08
|
||||
KBD_IRQ EQU 0x02
|
||||
|
||||
KBD_ACK EQU 0x10
|
||||
|
||||
KEY_ALF EQU 0x0D
|
||||
KEY_FIX EQU 0x15
|
||||
; ------------------------------------------------------
|
||||
LST_REC EQU 0x7F
|
||||
; ------------------------------------------------------
|
||||
MAX_EXT EQU 0x1F
|
||||
MAX_MOD EQU 0x0F
|
||||
;MOD_NUM EQU 0x0E
|
||||
; ------------------------------------------------------
|
||||
FCB_INFO_LEN EQU 15 ; length of FCB info bytes to match
|
||||
;NXT_REC EQU 0x20
|
||||
; ------------------------------------------------------
|
||||
PIC_POLL_MODE EQU 0x0A
|
||||
PORT_C4 EQU 0x10
|
||||
PRINTER_ACK EQU 0x10
|
||||
PRINTER_IRQ EQU 0x08
|
||||
; ------------------------------------------------------
|
||||
;RAN_REC EQU 0x21
|
||||
;FCB_RC EQU 0x0F
|
||||
RO_FILE EQU 0x09
|
||||
ROM_CHIP_SIZE EQU 8192 ; ROM Size, used to limit monitor code size
|
||||
|
||||
RX_READY EQU 0x02
|
||||
; ------------------------------------------------------
|
||||
TAPE_D EQU 0x08
|
||||
TAPE_P EQU 0x04
|
||||
TIMER_IRQ EQU 0x10
|
||||
TL_HIGH EQU 0x05
|
||||
TL_LOW EQU 0x03
|
||||
TL_MID EQU 0x04
|
||||
TMR0_SQWAVE EQU 0x36
|
||||
TRUE EQU 0xFF
|
||||
TX_READY EQU 0x01
|
||||
; ------------------------------------------------------
|
||||
|
||||
ENDIF
|
||||
165
MON_r7_93bd95bd/font-6x7.inc
Normal file
165
MON_r7_93bd95bd/font-6x7.inc
Normal file
@ -0,0 +1,165 @@
|
||||
; 96 symbols 6x7, with codes 0x20..0x7f KOI-7 H0
|
||||
m_font_cp0:
|
||||
DB 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 ; ' ' - 0x20
|
||||
DB 0x04, 0x04, 0x04, 0x04, 0x00, 0x00, 0x04 ; '!' - 0x21
|
||||
DB 0x14, 0x14, 0x00, 0x00, 0x00, 0x00, 0x00 ; '"' - 0x22
|
||||
DB 0x0a, 0x0a, 0x1f, 0x0a, 0x1f, 0x0a, 0x0a ; '#' - 0x23
|
||||
DB 0x04, 0x1e, 0x05, 0x0e, 0x14, 0x0f, 0x04 ; '$' - 0x24
|
||||
DB 0x03, 0x13, 0x08, 0x04, 0x02, 0x19, 0x18 ; '%' - 0x25
|
||||
DB 0x06, 0x09, 0x05, 0x02, 0x15, 0x09, 0x16 ; '&' - 0x26
|
||||
DB 0x06, 0x04, 0x02, 0x00, 0x00, 0x00, 0x00 ; ' - 0x27
|
||||
DB 0x08, 0x04, 0x02, 0x02, 0x02, 0x04, 0x08 ; '(' - 0x28
|
||||
DB 0x02, 0x04, 0x08, 0x08, 0x08, 0x04, 0x02 ; ')' - 0x29
|
||||
DB 0x00, 0x0a, 0x04, 0x1f, 0x04, 0x0a, 0x00 ; '*' - 0x2a
|
||||
DB 0x00, 0x04, 0x04, 0x1f, 0x04, 0x04, 0x00 ; '+' - 0x2b
|
||||
DB 0x00, 0x00, 0x00, 0x00, 0x06, 0x04, 0x02 ; ',' - 0x2c
|
||||
DB 0x00, 0x00, 0x00, 0x1f, 0x00, 0x00, 0x00 ; '-' - 0x2d
|
||||
DB 0x00, 0x00, 0x00, 0x00, 0x00, 0x06, 0x06 ; '.' - 0x2e
|
||||
DB 0x00, 0x10, 0x08, 0x04, 0x02, 0x01, 0x00 ; '/' - 0x2f
|
||||
DB 0x0e, 0x11, 0x19, 0x15, 0x13, 0x11, 0x0e ; '0' - 0x30
|
||||
DB 0x04, 0x06, 0x04, 0x04, 0x04, 0x04, 0x0e ; '1' - 0x31
|
||||
DB 0x0e, 0x11, 0x10, 0x08, 0x04, 0x02, 0x1f ; '2' - 0x32
|
||||
DB 0x1f, 0x08, 0x04, 0x08, 0x10, 0x11, 0x0e ; '3' - 0x33
|
||||
DB 0x08, 0x0c, 0x0a, 0x09, 0x1f, 0x08, 0x08 ; '4' - 0x34
|
||||
DB 0x1f, 0x01, 0x0f, 0x10, 0x10, 0x11, 0x0e ; '5' - 0x35
|
||||
DB 0x0c, 0x02, 0x01, 0x0f, 0x11, 0x11, 0x0e ; '6' - 0x36
|
||||
DB 0x1f, 0x10, 0x08, 0x04, 0x02, 0x02, 0x02 ; '7' - 0x37
|
||||
DB 0x0e, 0x11, 0x11, 0x0e, 0x11, 0x11, 0x0e ; '8' - 0x38
|
||||
DB 0x0e, 0x11, 0x11, 0x1e, 0x10, 0x08, 0x06 ; '9' - 0x39
|
||||
DB 0x00, 0x06, 0x06, 0x00, 0x06, 0x06, 0x00 ; ':' - 0x3a
|
||||
DB 0x00, 0x06, 0x06, 0x00, 0x06, 0x04, 0x02 ; ';' - 0x3b
|
||||
DB 0x08, 0x04, 0x02, 0x01, 0x02, 0x04, 0x08 ; '<' - 0x3c
|
||||
DB 0x00, 0x00, 0x1f, 0x00, 0x1f, 0x00, 0x00 ; '=' - 0x3d
|
||||
DB 0x02, 0x04, 0x08, 0x10, 0x08, 0x04, 0x02 ; '>' - 0x3e
|
||||
DB 0x0e, 0x11, 0x10, 0x08, 0x04, 0x00, 0x04 ; '?' - 0x3f
|
||||
DB 0x0e, 0x11, 0x10, 0x16, 0x15, 0x15, 0x0e ; '@' - 0x40
|
||||
DB 0x04, 0x0a, 0x11, 0x11, 0x1f, 0x11, 0x11 ; 'A' - 0x41
|
||||
DB 0x0f, 0x11, 0x11, 0x0f, 0x11, 0x11, 0x0f ; 'B' - 0x42
|
||||
DB 0x0e, 0x11, 0x01, 0x01, 0x01, 0x11, 0x0e ; 'C' - 0x43
|
||||
DB 0x07, 0x09, 0x11, 0x11, 0x11, 0x09, 0x07 ; 'D' - 0x44
|
||||
DB 0x1f, 0x01, 0x01, 0x0f, 0x01, 0x01, 0x1f ; 'E' - 0x45
|
||||
DB 0x1f, 0x01, 0x01, 0x0f, 0x01, 0x01, 0x01 ; 'F' - 0x46
|
||||
DB 0x0e, 0x11, 0x01, 0x1d, 0x11, 0x11, 0x1e ; 'G' - 0x47
|
||||
DB 0x11, 0x11, 0x11, 0x1f, 0x11, 0x11, 0x11 ; 'H' - 0x48
|
||||
DB 0x0e, 0x04, 0x04, 0x04, 0x04, 0x04, 0x0e ; 'I' - 0x49
|
||||
DB 0x1c, 0x08, 0x08, 0x08, 0x08, 0x09, 0x06 ; 'J' - 0x4a
|
||||
DB 0x11, 0x09, 0x05, 0x03, 0x05, 0x09, 0x11 ; 'K' - 0x4b
|
||||
DB 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x1f ; 'L' - 0x4c
|
||||
DB 0x11, 0x1b, 0x15, 0x15, 0x11, 0x11, 0x11 ; 'M' - 0x4d
|
||||
DB 0x11, 0x11, 0x13, 0x15, 0x19, 0x11, 0x11 ; 'N' - 0x4e
|
||||
DB 0x0e, 0x11, 0x11, 0x11, 0x11, 0x11, 0x0e ; 'O' - 0x4f
|
||||
DB 0x0f, 0x11, 0x11, 0x0f, 0x01, 0x01, 0x01 ; 'P' - 0x50
|
||||
DB 0x0e, 0x11, 0x11, 0x11, 0x15, 0x09, 0x16 ; 'Q' - 0x51
|
||||
DB 0x0f, 0x11, 0x11, 0x0f, 0x05, 0x09, 0x11 ; 'R' - 0x52
|
||||
DB 0x1e, 0x01, 0x01, 0x0e, 0x10, 0x10, 0x0f ; 'S' - 0x53
|
||||
DB 0x1f, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04 ; 'T' - 0x54
|
||||
DB 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x0e ; 'U' - 0x55
|
||||
DB 0x11, 0x11, 0x11, 0x11, 0x0a, 0x0a, 0x04 ; 'V' - 0x56
|
||||
DB 0x11, 0x11, 0x11, 0x15, 0x15, 0x15, 0x0a ; 'W' - 0x57
|
||||
DB 0x11, 0x11, 0x0a, 0x04, 0x0a, 0x11, 0x11 ; 'X' - 0x58
|
||||
DB 0x11, 0x11, 0x11, 0x0a, 0x04, 0x04, 0x04 ; 'Y' - 0x59
|
||||
DB 0x1f, 0x10, 0x08, 0x04, 0x02, 0x01, 0x1f ; 'Z' - 0x5a
|
||||
DB 0x0e, 0x02, 0x02, 0x02, 0x02, 0x02, 0x0e ; '[' - 0x5b
|
||||
DB 0x00, 0x01, 0x02, 0x04, 0x08, 0x10, 0x00 ; '\' - 0x5c
|
||||
DB 0x0e, 0x08, 0x08, 0x08, 0x08, 0x08, 0x0e ; ']' - 0x5d
|
||||
DB 0x0e, 0x11, 0x00, 0x00, 0x00, 0x00, 0x00 ; '^' - 0x5r
|
||||
DB 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x1f ; '_' - 0x5f
|
||||
DB 0x1c, 0x04, 0x08, 0x00, 0x00, 0x00, 0x00 ; '`' - 0x60
|
||||
DB 0x00, 0x00, 0x0e, 0x10, 0x1e, 0x13, 0x1e ; 'a' - 0x61
|
||||
DB 0x01, 0x01, 0x0d, 0x13, 0x11, 0x11, 0x0f ; 'b' - 0x62
|
||||
DB 0x00, 0x00, 0x0e, 0x01, 0x01, 0x01, 0x0e ; 'c' - 0x63
|
||||
DB 0x10, 0x10, 0x16, 0x19, 0x11, 0x11, 0x1e ; 'd' - 0x64
|
||||
DB 0x00, 0x00, 0x0e, 0x11, 0x1f, 0x01, 0x0e ; 'e' - 0x65
|
||||
DB 0x18, 0x04, 0x04, 0x0e, 0x04, 0x04, 0x04 ; 'f' - 0x66
|
||||
DB 0x00, 0x0e, 0x11, 0x11, 0x1e, 0x10, 0x0e ; 'g' - 0x67
|
||||
DB 0x01, 0x01, 0x0d, 0x13, 0x11, 0x11, 0x11 ; 'h' - 0x68
|
||||
DB 0x04, 0x00, 0x04, 0x04, 0x04, 0x04, 0x04 ; 'i' - 0x69
|
||||
DB 0x08, 0x00, 0x08, 0x08, 0x08, 0x08, 0x06 ; 'j' - 0x6a
|
||||
DB 0x01, 0x01, 0x09, 0x05, 0x03, 0x05, 0x09 ; 'k' - 0x6b
|
||||
DB 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x08 ; 'l' - 0x6c
|
||||
DB 0x00, 0x00, 0x0f, 0x15, 0x15, 0x15, 0x15 ; 'm' - 0x6d
|
||||
DB 0x00, 0x00, 0x09, 0x13, 0x11, 0x11, 0x11 ; 'n' - 0x6e
|
||||
DB 0x00, 0x00, 0x0e, 0x11, 0x11, 0x11, 0x0e ; 'o' - 0x6f
|
||||
DB 0x00, 0x00, 0x0e, 0x11, 0x11, 0x0f, 0x01 ; 'p' - 0x70
|
||||
DB 0x00, 0x00, 0x0e, 0x11, 0x11, 0x1e, 0x10 ; 'q' - 0x71
|
||||
DB 0x00, 0x00, 0x0d, 0x13, 0x01, 0x01, 0x01 ; 'r' - 0x72
|
||||
DB 0x00, 0x00, 0x1e, 0x01, 0x0e, 0x10, 0x0f ; 's' - 0x73
|
||||
DB 0x04, 0x04, 0x0e, 0x04, 0x04, 0x04, 0x18 ; 't' - 0x74
|
||||
DB 0x00, 0x00, 0x11, 0x11, 0x11, 0x19, 0x16 ; 'u' - 0x75
|
||||
DB 0x00, 0x00, 0x11, 0x11, 0x0a, 0x0a, 0x04 ; 'v' - 0x76
|
||||
DB 0x00, 0x00, 0x11, 0x15, 0x15, 0x15, 0x0a ; 'w' - 0x77
|
||||
DB 0x00, 0x00, 0x11, 0x0a, 0x04, 0x0a, 0x11 ; 'x' - 0x78
|
||||
DB 0x00, 0x00, 0x11, 0x11, 0x1e, 0x10, 0x0c ; 'y' - 0x79
|
||||
DB 0x00, 0x00, 0x1f, 0x08, 0x04, 0x02, 0x1f ; 'z' - 0x7a
|
||||
DB 0x0c, 0x02, 0x02, 0x01, 0x02, 0x02, 0x0c ; '{' - 0x7b
|
||||
DB 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04 ; '|' - 0x7c
|
||||
DB 0x03, 0x04, 0x04, 0x08, 0x04, 0x04, 0x03 ; '}' - 0x7d
|
||||
DB 0x00, 0x02, 0x15, 0x0a, 0x15, 0x08, 0x00 ; '~' - 0x7e
|
||||
DB 0x15, 0x00, 0x15, 0x00, 0x15, 0x00, 0x15 ; [DEL] - 0x7f
|
||||
|
||||
; 64 symbols 6x7, with codes 0x40..0x7f KOI-7 H1
|
||||
m_font_cp1:
|
||||
DB 0x00, 0x00, 0x09, 0x15, 0x17, 0x15, 0x09 ; ю - 0x40
|
||||
DB 0x00, 0x00, 0x06, 0x08, 0x0e, 0x09, 0x16 ; а - 0x41
|
||||
DB 0x07, 0x02, 0x04, 0x0e, 0x09, 0x09, 0x06 ; б - 0x42
|
||||
DB 0x00, 0x00, 0x09, 0x09, 0x09, 0x1f, 0x10 ; ц - 0x43
|
||||
DB 0x03, 0x04, 0x08, 0x0e, 0x09, 0x09, 0x06 ; д - 0x44
|
||||
DB 0x00, 0x00, 0x0e, 0x11, 0x1f, 0x01, 0x1e ; е - 0x45
|
||||
DB 0x00, 0x04, 0x0e, 0x15, 0x15, 0x0e, 0x04 ; ф - 0x46
|
||||
DB 0x00, 0x00, 0x0f, 0x09, 0x01, 0x01, 0x01 ; г - 0x47
|
||||
DB 0x00, 0x00, 0x11, 0x0a, 0x04, 0x0a, 0x11 ; х - 0x48
|
||||
DB 0x00, 0x00, 0x11, 0x19, 0x15, 0x13, 0x11 ; и - 0x49
|
||||
DB 0x0a, 0x04, 0x11, 0x19, 0x15, 0x13, 0x11 ; й - 0x4a
|
||||
DB 0x00, 0x00, 0x11, 0x09, 0x07, 0x09, 0x11 ; к - 0x4b
|
||||
DB 0x00, 0x00, 0x1c, 0x12, 0x12, 0x12, 0x11 ; л - 0x4c
|
||||
DB 0x00, 0x00, 0x11, 0x1b, 0x15, 0x11, 0x11 ; м - 0x4d
|
||||
DB 0x00, 0x00, 0x11, 0x11, 0x1f, 0x11, 0x11 ; н - 0x4e
|
||||
DB 0x00, 0x00, 0x0e, 0x11, 0x11, 0x11, 0x0e ; о - 0x4f
|
||||
DB 0x00, 0x00, 0x1f, 0x11, 0x11, 0x11, 0x11 ; п - 0x50
|
||||
DB 0x00, 0x00, 0x1e, 0x11, 0x1e, 0x14, 0x12 ; я - 0x51
|
||||
DB 0x00, 0x00, 0x07, 0x09, 0x07, 0x01, 0x01 ; р - 0x52
|
||||
DB 0x00, 0x00, 0x0e, 0x01, 0x01, 0x01, 0x0e ; с - 0x53
|
||||
DB 0x00, 0x00, 0x1f, 0x04, 0x04, 0x04, 0x04 ; т - 0x54
|
||||
DB 0x00, 0x00, 0x11, 0x11, 0x1e, 0x10, 0x0e ; у - 0x55
|
||||
DB 0x00, 0x00, 0x15, 0x15, 0x0e, 0x15, 0x15 ; ж - 0x56
|
||||
DB 0x00, 0x00, 0x03, 0x05, 0x07, 0x09, 0x07 ; в - 0x57
|
||||
DB 0x00, 0x00, 0x01, 0x01, 0x07, 0x09, 0x07 ; ь - 0x58
|
||||
DB 0x00, 0x00, 0x11, 0x11, 0x13, 0x15, 0x13 ; ы - 0x59
|
||||
DB 0x00, 0x00, 0x0e, 0x11, 0x0c, 0x11, 0x0e ; з - 0x5a
|
||||
DB 0x00, 0x00, 0x15, 0x15, 0x15, 0x15, 0x1f ; ш - 0x5b
|
||||
DB 0x00, 0x00, 0x07, 0x08, 0x0e, 0x08, 0x07 ; э - 0x5c
|
||||
DB 0x00, 0x00, 0x15, 0x15, 0x15, 0x1f, 0x10 ; щ - 0x5d
|
||||
DB 0x00, 0x00, 0x09, 0x09, 0x0e, 0x08, 0x08 ; ч - 0x5e
|
||||
DB 0x00, 0x00, 0x06, 0x05, 0x0c, 0x14, 0x0c ; ъ - 0x5f
|
||||
DB 0x09, 0x15, 0x15, 0x17, 0x15, 0x15, 0x09 ; Ю - 0x60
|
||||
DB 0x04, 0x0a, 0x11, 0x11, 0x1f, 0x11, 0x11 ; А - 0x61
|
||||
DB 0x1f, 0x11, 0x01, 0x0f, 0x11, 0x11, 0x1f ; Б - 0x62
|
||||
DB 0x09, 0x09, 0x09, 0x09, 0x09, 0x1f, 0x10 ; С - 0x63
|
||||
DB 0x0c, 0x0a, 0x0a, 0x0a, 0x0a, 0x1f, 0x11 ; Д - 0x64
|
||||
DB 0x1f, 0x01, 0x01, 0x0f, 0x01, 0x01, 0x1f ; Е - 0x65
|
||||
DB 0x04, 0x0e, 0x15, 0x15, 0x15, 0x0e, 0x04 ; Ф - 0x66
|
||||
DB 0x1f, 0x11, 0x01, 0x01, 0x01, 0x01, 0x01 ; Г - 0x67
|
||||
DB 0x11, 0x11, 0x0a, 0x04, 0x0a, 0x11, 0x11 ; Х - 0x68
|
||||
DB 0x11, 0x11, 0x19, 0x15, 0x13, 0x11, 0x11 ; И - 0x69
|
||||
DB 0x04, 0x15, 0x11, 0x19, 0x15, 0x13, 0x11 ; Й - 0x6a
|
||||
DB 0x11, 0x09, 0x05, 0x03, 0x05, 0x09, 0x11 ; К - 0x6b
|
||||
DB 0x1c, 0x12, 0x12, 0x12, 0x12, 0x12, 0x11 ; Л - 0x6c
|
||||
DB 0x11, 0x1b, 0x15, 0x15, 0x11, 0x11, 0x11 ; М - 0x6d
|
||||
DB 0x11, 0x11, 0x11, 0x1f, 0x11, 0x11, 0x11 ; Н - 0x6e
|
||||
DB 0x0e, 0x11, 0x11, 0x11, 0x11, 0x11, 0x0e ; О - 0x6f
|
||||
DB 0x1f, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11 ; П - 0x70
|
||||
DB 0x1e, 0x11, 0x11, 0x11, 0x1e, 0x12, 0x11 ; Я - 0x71
|
||||
DB 0x0f, 0x11, 0x11, 0x11, 0x0f, 0x01, 0x01 ; Р - 0x72
|
||||
DB 0x0e, 0x11, 0x01, 0x01, 0x01, 0x11, 0x0e ; С - 0x73
|
||||
DB 0x1f, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04 ; Т - 0x74
|
||||
DB 0x11, 0x11, 0x11, 0x11, 0x1e, 0x10, 0x0e ; У - 0x75
|
||||
DB 0x15, 0x15, 0x15, 0x0e, 0x15, 0x15, 0x15 ; Ж - 0x76
|
||||
DB 0x0f, 0x11, 0x11, 0x0f, 0x11, 0x11, 0x0f ; В - 0x77
|
||||
DB 0x01, 0x01, 0x01, 0x0f, 0x11, 0x11, 0x0f ; Ь - 0x78
|
||||
DB 0x11, 0x11, 0x11, 0x13, 0x15, 0x15, 0x13 ; Ы - 0x79
|
||||
DB 0x0e, 0x11, 0x10, 0x0c, 0x10, 0x11, 0x0e ; З - 0x7a
|
||||
DB 0x15, 0x15, 0x15, 0x15, 0x15, 0x15, 0x1f ; Ш - 0x7b
|
||||
DB 0x0e, 0x11, 0x10, 0x1c, 0x10, 0x11, 0x0e ; Э - 0x7c
|
||||
DB 0x15, 0x15, 0x15, 0x15, 0x15, 0x1f, 0x10 ; Щ - 0x7d
|
||||
DB 0x11, 0x11, 0x11, 0x1e, 0x10, 0x10, 0x10 ; Ч - 0x7e
|
||||
DB 0x1f, 0x15, 0x1f, 0x15, 0x1f, 0x15, 0x1f ; [DEL] - 0x7f
|
||||
132
MON_r7_93bd95bd/io.inc
Normal file
132
MON_r7_93bd95bd/io.inc
Normal file
@ -0,0 +1,132 @@
|
||||
; =======================================================
|
||||
; Ocean-240.2
|
||||
; Computer with FDC variant.
|
||||
; IO Ports definitions
|
||||
;
|
||||
; By Romych 2025-09-09
|
||||
; =======================================================
|
||||
|
||||
IFNDEF _IO_PORTS
|
||||
DEFINE _IO_PORTS
|
||||
|
||||
; -------------------------------------------------------
|
||||
; КР580ВВ55 DD79
|
||||
; -------------------------------------------------------
|
||||
; Port A - User port A
|
||||
USR_DD79PA EQU 0x00
|
||||
|
||||
; Port B - User port B
|
||||
USR_DD79PB EQU 0x01
|
||||
|
||||
; Port C - User port C
|
||||
USR_DD79PC EQU 0x02
|
||||
|
||||
; Config: [1][ma1,ma0][0-aO|1-aI],[0-chO,1-chI],[mb],[0-bO|1-bI],[0-clO,1-clI]
|
||||
; Set bit: [0][xxx][bbb][0|1]
|
||||
USR_DD79CTR EQU 0x03
|
||||
|
||||
; -------------------------------------------------------
|
||||
; КР1818ВГ93
|
||||
; -------------------------------------------------------
|
||||
; CMD
|
||||
FDC_CMD EQU 0x20
|
||||
|
||||
; TRACK
|
||||
FDC_TRACK EQU 0x21
|
||||
|
||||
; SECTOR
|
||||
FDC_SECT EQU 0x22
|
||||
|
||||
; DATA
|
||||
FDC_DATA EQU 0x23
|
||||
|
||||
;
|
||||
FDC_WAIT EQU 0x24
|
||||
|
||||
; Controller port
|
||||
FLOPPY EQU 0x25
|
||||
|
||||
|
||||
; -------------------------------------------------------
|
||||
; КР580ВВ55 DD78
|
||||
; -------------------------------------------------------
|
||||
; Port A - Keyboard Data
|
||||
KBD_DD78PA EQU 0x40
|
||||
|
||||
; Port B - JST3,SHFT,CTRL,ACK,TAPE5,TAPE4,GK,GC
|
||||
KBD_DD78PB EQU 0x41
|
||||
|
||||
; Port C - [PC7..0]
|
||||
KBD_DD78PC EQU 0x42
|
||||
|
||||
; Сonfig: [1][ma1,ma0][0-aO|1-aI],[0-chO,1-chI],[mb],[0-bO|1-bI],[0-clO,1-clI]
|
||||
; Set bit: [0][xxx][bbb][0|1];
|
||||
KBD_DD78CTR EQU 0x43
|
||||
|
||||
|
||||
; -------------------------------------------------------
|
||||
; КР580ВИ53 DD70
|
||||
; -------------------------------------------------------
|
||||
; Counter 1
|
||||
TMR_DD70C1 EQU 0x60
|
||||
|
||||
; Counter 2
|
||||
TMR_DD70C2 EQU 0x61
|
||||
|
||||
; Counter 3
|
||||
TMR_DD70C3 EQU 0x62
|
||||
|
||||
; Config: [sc1,sc0][rl1,rl0][m2,m1,m0][bcd]
|
||||
; sc - timer, rl=01-LSB, 10-MSB, 11-LSB+MSB
|
||||
; mode 000 - int on fin,
|
||||
; 001 - one shot,
|
||||
; x10 - rate gen,
|
||||
; x11-sq wave
|
||||
TMR_DD70CTR EQU 0x63
|
||||
|
||||
; Programable Interrupt controller PIC KR580VV59
|
||||
PIC_DD75RS EQU 0x80
|
||||
PIC_DD75RM EQU 0x81
|
||||
|
||||
; -------------------------------------------------------
|
||||
; КР580ВВ51 DD72
|
||||
; -------------------------------------------------------
|
||||
; Data
|
||||
UART_DD72RD EQU 0xA0
|
||||
|
||||
; [RST,RQ_RX,RST_ERR,PAUSE,RX_EN,RX_RDY,TX_RDY]
|
||||
UART_DD72RR EQU 0xA1
|
||||
|
||||
; -------------------------------------------------------
|
||||
; КР580ВВ55 DD17
|
||||
; -------------------------------------------------------
|
||||
; Port A - VShift[8..1]
|
||||
SYS_DD17PA EQU 0xC0
|
||||
|
||||
; Port B - [ROM14,13][REST][ENROM-][A18,17,16][32k]
|
||||
SYS_DD17PB EQU 0xC1
|
||||
|
||||
; Port C - HShift[HS5..1,SB3..1]
|
||||
SYS_DD17PC EQU 0xC2
|
||||
|
||||
; Сonfig: [1][ma1,ma0][0-aO|1-aI],[0-chO,1-chI],[mb],[0-bO|1-bI],[0-clO,1-clI]
|
||||
; Set bit: [0][xxx][bbb][0|1];
|
||||
SYS_DD17CTR EQU 0xC3
|
||||
|
||||
; -------------------------------------------------------
|
||||
; КР580ВВ55 DD67
|
||||
; -------------------------------------------------------
|
||||
; Port A - LPT Data
|
||||
LPT_DD67PA EQU 0xE0
|
||||
|
||||
; Port B - [VSU,C/M,FL3..1,COL3..1]
|
||||
VID_DD67PB EQU 0xE1
|
||||
|
||||
; Port C - [USER3..1,STB-LP,BELL,TAPE3..1]
|
||||
DD67PC EQU 0xE2
|
||||
|
||||
; Сonfig: [1][ma1,ma0][0-aO|1-aI],[0-chO,1-chI],[mb],[0-bO|1-bI],[0-clO,1-clI]
|
||||
; Set bit: [0][xxx][bbb][0|1];
|
||||
DD67CTR EQU 0xE3
|
||||
|
||||
ENDIF
|
||||
101
MON_r7_93bd95bd/m_vars.inc
Normal file
101
MON_r7_93bd95bd/m_vars.inc
Normal file
@ -0,0 +1,101 @@
|
||||
; =======================================================
|
||||
; Ocean-240.2
|
||||
; Module M_VARS - Monitor variables
|
||||
; RAM Range: 0xBA09-0xBFFF
|
||||
;
|
||||
; Disassembled by Romych 2025-02-05
|
||||
; =======================================================
|
||||
|
||||
IFNDEF _M_VARS
|
||||
DEFINE _M_VARS
|
||||
|
||||
MODULE M_VARS
|
||||
ORG 0xbf00
|
||||
|
||||
buffer DS 128 ; 0xbf00 search text or buffer to search?
|
||||
DS 36
|
||||
paint_stack EQU $ ; 0xbfa4
|
||||
DS 32
|
||||
stack1: EQU $ ; 0xbfc4
|
||||
DS 1
|
||||
paint_var1 DS 1 ; 0xbfc5
|
||||
paint_var2 DS 1 ; 0xbfc6
|
||||
paint_var3 DS 1 ; 0xbfc7
|
||||
paint_var4 DS 1 ; 0xbfc8
|
||||
paint_var5 DS 1 ; 0xbfc9
|
||||
paint_y DS 1 ; 0xbfca
|
||||
paint_var7 DS 1 ; 0xbfcb
|
||||
cmp_color DS 1 ; 0xbfcc
|
||||
paint_sp_save DS 2
|
||||
|
||||
; Right pixel mask ex: 11111000
|
||||
pixel_mask_r DS 1 ; 0xbfcf
|
||||
tmp_color DS 1 ; 0xbfd0
|
||||
rect_var2 DS 1 ; 0xbfd1
|
||||
stack_0 EQU $
|
||||
rect_var3 DS 1 ; 0xbfd2
|
||||
esc_mode DS 1 ; 0xbfd3
|
||||
esc_cmd DS 1 ; 0xbfd4
|
||||
|
||||
esc_param_cnt DS 1 ; 0xbfd5
|
||||
esc_param DS 7 ; 0xbfd6
|
||||
|
||||
; Left inverse pixel mask ex: 00011111
|
||||
pixel_mask_l_i DS 1
|
||||
; Right inverse pixel mask ex: 00011111
|
||||
pixel_mask_r_i DS 1
|
||||
; Left pixel mask ex: 11100000
|
||||
pixel_mask_l DS 1
|
||||
|
||||
; Current screen mode, bit 3 - hide/show cursor, bit 4 - only 20 rows
|
||||
screen_mode DS 1 ; 0xbfe0
|
||||
cursor_row DS 1 ; 0xbfe1 Cursor Y position
|
||||
cursor_col DS 1 ; 0xbfe2 Cursor X position
|
||||
curr_color DS 2 ; 0xbfe3 Current color low and hi bytes
|
||||
esc_hex_cmd:
|
||||
row_shift DS 1 ; 0xbfe5
|
||||
codepage DS 1 ; 0xbfe6
|
||||
|
||||
|
||||
cur_palette DS 1 ; 0xbfe7 00bbbfff - background and foreground colors
|
||||
beep_period DS 2 ; 0xbfe8
|
||||
beep_duration DS 2 ; 0xbfea
|
||||
pix_shift DS 1 ; 0xbfec
|
||||
strobe_state DS 1 ; 0xbfed
|
||||
ul_var0 DS 1 ; 0xbfee
|
||||
ul_A_var1 DS 1 ; 0xbfef
|
||||
ul_B_var2 DS 1 ; 0xbff0
|
||||
ul_var3 DS 1 ; 0xbff1
|
||||
ul_A_var4 DS 1 ; 0xbff2
|
||||
ul_B_var5 DS 1 ; 0xbff3
|
||||
ul_var6 DS 1 ; 0xbff4
|
||||
esc_var0 DS 1 ; 0xbff5
|
||||
esc_var1 DS 1 ; 0xbff6
|
||||
esc_var2 DS 1 ; 0xbff7
|
||||
esc_var3 DS 1 ; 0xbff8
|
||||
DS 1 ; 0xbff9
|
||||
DS 1 ; 0xbffa
|
||||
DS 1 ; 0xbffb
|
||||
DS 1 ; 0xbffc
|
||||
DS 1 ; 0xbffd
|
||||
DS 1 ; 0xbffe
|
||||
DS 1 ; 0xbfff
|
||||
|
||||
ASSERT stack1 = 0xbfc4
|
||||
ASSERT buffer = 0xbf00
|
||||
ASSERT paint_var1 = 0xbfc5
|
||||
ASSERT pixel_mask_r = 0xbfcf
|
||||
ASSERT stack_0 = 0xbfd2
|
||||
ASSERT esc_mode = 0xbfd3
|
||||
ASSERT screen_mode = 0xbfe0
|
||||
ASSERT cur_palette = 0xbfe7
|
||||
ASSERT ul_var0 = 0xbfee
|
||||
ASSERT paint_stack = 0xbfa4
|
||||
ASSERT esc_var3 = 0xbff8
|
||||
|
||||
;DISPLAY "screen_mode: ", /H, screen_mode
|
||||
;DISPLAY "fn48_var1: ", /H, fn48_var1
|
||||
|
||||
ENDMODULE
|
||||
|
||||
ENDIF
|
||||
485
MON_r7_93bd95bd/mon.map
Normal file
485
MON_r7_93bd95bd/mon.map
Normal file
@ -0,0 +1,485 @@
|
||||
MONITOR.start 0xe000 f
|
||||
MONITOR.mon_hexb 0xe003 f
|
||||
MONITOR.mon_con_status 0xe006 f
|
||||
MONITOR.mon_con_in 0xe009 f
|
||||
MONITOR.mon_con_out 0xe00c f
|
||||
MONITOR.mon_serial_in 0xe00f f
|
||||
MONITOR.mon_serial_out 0xe012 f
|
||||
MONITOR.mon_char_print 0xe015 f
|
||||
MONITOR.mon_tape_read 0xe018 f
|
||||
MONITOR.mon_tape_write 0xe01b f
|
||||
MONITOR.mon_ram_disk_read 0xe01e f
|
||||
MONITOR.mon_ram_disk_write 0xe021 f
|
||||
MONITOR.mon_tape_read_ram 0xe024 f
|
||||
MONITOR.mon_tape_write_ram 0xe027 f
|
||||
MONITOR.mon_tape_wait 0xe02a f
|
||||
MONITOR.mon_tape_detect 0xe02d f
|
||||
MONITOR.mon_read_floppy 0xe030 f
|
||||
MONITOR.mon_write_floppy 0xe033 f
|
||||
MONITOR.mon_out_strz 0xe036 f
|
||||
MONITOR.m_hot_start 0xe039 f
|
||||
MONITOR.m_hot_start.fill_video 0xe054 f
|
||||
MONITOR.m_hot_start.conf_uart 0xe08f f
|
||||
MONITOR.m_hot_start.conf_pic 0xe0a2 f
|
||||
MONITOR.m_out_strz 0xe0d9 f
|
||||
MONITOR.mgs_system_nf 0xe0e4 f
|
||||
MONITOR.m_sys_halt 0xe0f9 f
|
||||
MONITOR.m_con_status 0xe0fa f
|
||||
MONITOR.m_serial_in 0xe104 f
|
||||
MONITOR.m_con_in 0xe110 f
|
||||
MONITOR.m_serial_out 0xe125 f
|
||||
MONITOR.m_char_print 0xe130 f
|
||||
MONITOR.m_char_print.wait_lp 0xe13e f
|
||||
MONITOR.m_con_out 0xe14a f
|
||||
MONITOR.m_con_out_int 0xe154 f
|
||||
MONITOR.get_esc_param 0xe16e f
|
||||
MONITOR.esc_no_draw_fn 0xe1a8 f
|
||||
MONITOR.esc_exit 0xe1ad f
|
||||
MONITOR.esc_params_tab 0xe1b2 f
|
||||
MONITOR.esc_handler_tab 0xe1c2 f
|
||||
MONITOR.esc_set_beep 0xe1e0 f
|
||||
MONITOR.esc_set_cursor2 0xe1f5 f
|
||||
MONITOR.esc_print_screen 0xe1f8 f
|
||||
MONITOR.esc_print_screen.chk_keys 0xe207 f
|
||||
MONITOR.esc_print_screen.no_keys 0xe214 f
|
||||
MONITOR.m_print_hor_line 0xe221 f
|
||||
MONITOR.m_print_hor_line.print_next_col 0xe22f f
|
||||
MONITOR.m_print_cmd 0xe25d f
|
||||
MONITOR.m_print_cmd.print_nxt 0xe25e f
|
||||
MONITOR.m_print_cmd.cmd_end 0xe26c f
|
||||
MONITOR.m_print_vert_7pix 0xe26e f
|
||||
MONITOR.cmd_esc_inc_Y2 0xe28c f
|
||||
MONITOR.cmd_esc_set_X0 0xe290 f
|
||||
MONITOR.cmd_esc_set_X 0xe295 f
|
||||
MONITOR.cmd_esc_print_col 0xe298 f
|
||||
MONITOR.m_get_7vpix 0xe29b f
|
||||
MONITOR.m_get_7vpix.calc_pix_no 0xe2a5 f
|
||||
MONITOR.m_get_7vpix.for_all_pix 0xe2c3 f
|
||||
MONITOR.m_get_7vpix.all_shifted 0xe2d0 f
|
||||
MONITOR.m_get_7vpix.not_1_1 0xe2d9 f
|
||||
MONITOR.m_get_7vpix.not_1_2 0xe2e1 f
|
||||
MONITOR.esc_set_palette 0xe2e5 f
|
||||
MONITOR.esp_no_colr 0xe2fa f
|
||||
MONITOR.esc_set_charset 0xe2fe f
|
||||
MONITOR.m_get_glyph 0xe307 f
|
||||
MONITOR.m_get_glyph.cp_rus 0xe327 f
|
||||
MONITOR.m_get_glyph.cp_common 0xe32b f
|
||||
MONITOR.m_print_no_esc 0xe330 f
|
||||
MONITOR.m_print_no_esc.l1 0xe35e f
|
||||
MONITOR.m_print_no_esc.l2 0xe368 f
|
||||
MONITOR.m_print_no_esc.l3 0xe370 f
|
||||
MONITOR.m_print_no_esc.l4 0xe378 f
|
||||
MONITOR.m_print_no_esc.l5 0xe37d f
|
||||
MONITOR.m_print_no_esc.sym_draw 0xe381 f
|
||||
MONITOR.m_print_no_esc.pne_l7 0xe38c f
|
||||
MONITOR.m_print_no_esc.pne_l8 0xe391 f
|
||||
MONITOR.m40_rt 0xe3d5 f
|
||||
MONITOR.m40_wrap_rt 0xe3e0 f
|
||||
MONITOR.m40_lf 0xe3ec f
|
||||
MONITOR.m40_bksp 0xe3f6 f
|
||||
MONITOR.m40_bksp.wrap 0xe404 f
|
||||
MONITOR.m40_up 0xe408 f
|
||||
MONITOR.m40_up.up_no_minus 0xe410 f
|
||||
MONITOR.m20_tab 0xe412 f
|
||||
MONITOR.calc_addr_40 0xe420 f
|
||||
MONITOR.calc_addr_40.l1 0xe43b f
|
||||
MONITOR.calc_addr_40.l2 0xe441 f
|
||||
MONITOR.m2_lf 0xe44b f
|
||||
MONITOR.m2_lf.lf_nowr 0xe455 f
|
||||
MONITOR.m2_lf.cas_l5 0xe462 f
|
||||
MONITOR.m2_lf.cas_l6 0xe467 f
|
||||
MONITOR.m2_lf.cas_l7 0xe47d f
|
||||
MONITOR.m2_lf.cas_l8 0xe482 f
|
||||
MONITOR.m20_bksp 0xe492 f
|
||||
MONITOR.mp_mode_64 0xe49f f
|
||||
MONITOR.mp_mode_64.next_row 0xe4ba f
|
||||
MONITOR.m64_rt 0xe4ce f
|
||||
MONITOR.m64_lf 0xe4d7 f
|
||||
MONITOR.scroll_up 0xe4e1 f
|
||||
MONITOR.scroll_up.next_row 0xe4f9 f
|
||||
MONITOR.scroll_up.next_col 0xe4fb f
|
||||
MONITOR.m64_bs 0xe50b f
|
||||
MONITOR.m64_up 0xe516 f
|
||||
MONITOR.m64_up.no_wrap 0xe51e f
|
||||
MONITOR.m64_tab 0xe520 f
|
||||
MONITOR.mp_mode_80 0xe52c f
|
||||
MONITOR.mp_mode_80.l1 0xe545 f
|
||||
MONITOR.mp_mode_80.l2 0xe554 f
|
||||
MONITOR.mp_mode_80.l3 0xe575 f
|
||||
MONITOR.mp_mode_80.l4 0xe59a f
|
||||
MONITOR.mp_mode_80.l5 0xe59b f
|
||||
MONITOR.mp_mode_80.l6 0xe5ab f
|
||||
MONITOR.m80_rt 0xe5b6 f
|
||||
MONITOR.m80_col_wrap 0xe5c1 f
|
||||
MONITOR.m80_lf 0xe5c5 f
|
||||
MONITOR.m80_bs 0xe5cf f
|
||||
MONITOR.m80_bs.wrap 0xe5dd f
|
||||
MONITOR.m80_up 0xe5e1 f
|
||||
MONITOR.m80_up.no_wrap 0xe5e9 f
|
||||
MONITOR.m80_tab 0xe5eb f
|
||||
MONITOR.calc_addr_80 0xe5f9 f
|
||||
MONITOR.mns_l1 0xe614 f
|
||||
MONITOR.mns_ep_fm_0 0xe61a f
|
||||
MONITOR.m_clear_screen 0xe620 f
|
||||
MONITOR.m_clear_screen.fill_scrn 0xe639 f
|
||||
MONITOR.m_clear_screen.mono_mode 0xe650 f
|
||||
MONITOR.m_cursor_home 0xe653 f
|
||||
MONITOR.m_clear_20_rows 0xe660 f
|
||||
MONITOR.m_clear_20_rows.next_row 0xe66a f
|
||||
MONITOR.m_clear_20_rows.next_col 0xe66f f
|
||||
MONITOR.m_draw_cursor 0xe681 f
|
||||
MONITOR.m_draw_cursor.dc_rt2 0xe6b6 f
|
||||
MONITOR.m_draw_cursor.dc_mid 0xe6be f
|
||||
MONITOR.m_draw_cursor.dc_lt 0xe6c4 f
|
||||
MONITOR.m_draw_cursor.dc_rt1 0xe6ca f
|
||||
MONITOR.m_draw_cursor.dc_put 0xe6cd f
|
||||
MONITOR.m_draw_cursor.dc_mode_64 0xe6ea f
|
||||
MONITOR.m_draw_cursor.cur_64_next 0xe708 f
|
||||
MONITOR.m_draw_cursor.dc_mode_80 0xe716 f
|
||||
MONITOR.m_draw_cursor.dc_1_byte 0xe745 f
|
||||
MONITOR.m_draw_cursor.dc_2_byte 0xe750 f
|
||||
MONITOR.m_draw_cursor.dc_80_end 0xe75d f
|
||||
MONITOR.m_handle_esc_code 0xe763 f
|
||||
MONITOR.m_handle_control_code 0xe771 f
|
||||
MONITOR.handle_cc_common 0xe7ab f
|
||||
MONITOR.handle_cc_common.handle_cc_mono 0xe7e6 f
|
||||
MONITOR.handle_cc_80x25 0xe81a f
|
||||
MONITOR.m_beep 0xe841 f
|
||||
MONITOR.m_bell_cont 0xe856 f
|
||||
MONITOR.m_bell_wait_tmr1 0xe860 f
|
||||
MONITOR.m_bell_wait_tmr2 0xe86d f
|
||||
MONITOR.esc_set_cursor 0xe877 f
|
||||
MONITOR.esc_set_cursor.mode_40 0xe8ac f
|
||||
MONITOR.esc_set_cursor.mode_80 0xe8b7 f
|
||||
MONITOR.esc_set_cursor.common 0xe8bf f
|
||||
MONITOR.esc_le_24 0xe8cc f
|
||||
MONITOR.esc_set_vmode 0xe8d6 f
|
||||
MONITOR.esc_set_vmode.set_color_mode 0xe8fc f
|
||||
MONITOR.esc_set_vmode.skip_for_mono_mode 0xe8fe f
|
||||
MONITOR.esc_set_vmode.draw_cursor 0xe907 f
|
||||
MONITOR.esc_set_vmode.cursor_hide 0xe90b f
|
||||
MONITOR.esc_set_vmode.cursor_show 0xe915 f
|
||||
MONITOR.esc_set_color 0xe91c f
|
||||
MONITOR.m_set_color 0xe91f f
|
||||
MONITOR.m_print_at_xy 0xe930 f
|
||||
MONITOR.m_print_at_xy.mode_sp 0xe973 f
|
||||
MONITOR.m_print_at_xy.out_sp 0xe988 f
|
||||
MONITOR.m_print_at_xy.next_line 0xe98f f
|
||||
MONITOR.m_print_at_xy.l04 0xe99c f
|
||||
MONITOR.m_print_at_xy.l05 0xe9a1 f
|
||||
MONITOR.m_print_at_xy.sprites_en 0xe9cf f
|
||||
MONITOR.mode2_exit 0xe9d3 f
|
||||
MONITOR.co_ex_l08 0xe9da f
|
||||
MONITOR.out_no_xor 0xe9de f
|
||||
MONITOR.out_no_xor.l10 0xe9eb f
|
||||
MONITOR.out_no_xor.l11 0xe9f0 f
|
||||
MONITOR.game_sprite_tab 0xea26 f
|
||||
MONITOR.calc_px_addr 0xeb46 f
|
||||
MONITOR.esc_draw_fill_rect 0xeb59 f
|
||||
MONITOR.dfr_l1 0xeb73 f
|
||||
MONITOR.dfr_l2 0xeb82 f
|
||||
MONITOR.dfr_l3 0xeb91 f
|
||||
MONITOR.dfr_l4 0xeb9b f
|
||||
MONITOR.dfr_l5 0xeb9c f
|
||||
MONITOR.dfr_l6 0xebb2 f
|
||||
MONITOR.dfr_l7 0xebb8 f
|
||||
MONITOR.dfr_complete 0xebc7 f
|
||||
MONITOR.esc_paint 0xebd4 f
|
||||
MONITOR.esc_paint.l1 0xec13 f
|
||||
MONITOR.ep_fm_0 0xec47 f
|
||||
MONITOR.ep_task_end 0xec56 f
|
||||
MONITOR.ep_l4 0xec71 f
|
||||
MONITOR.ep_l5 0xec79 f
|
||||
MONITOR.ep_l6 0xec81 f
|
||||
MONITOR.ep_f_fast 0xec93 f
|
||||
MONITOR.ep_l8 0xeca1 f
|
||||
MONITOR.ep_l9 0xecd9 f
|
||||
MONITOR.ep_l10 0xece8 f
|
||||
MONITOR.ep_l11 0xecf9 f
|
||||
MONITOR.paint_find_next_right 0xed33 f
|
||||
MONITOR.paint_find_next_right.l1 0xed40 f
|
||||
MONITOR.paint_find_next_right.l2 0xed4c f
|
||||
MONITOR.paint_find_next_left 0xed56 f
|
||||
MONITOR.paint_find_next_left.l1 0xed63 f
|
||||
MONITOR.paint_find_next_left.l2 0xed6f f
|
||||
MONITOR.ep_l12 0xed79 f
|
||||
MONITOR.ep_l13 0xed92 f
|
||||
MONITOR.ep_l14 0xeda4 f
|
||||
MONITOR.ep_l15 0xedad f
|
||||
MONITOR.ep_l16 0xedb6 f
|
||||
MONITOR.paint_find_right 0xedb9 f
|
||||
MONITOR.paint_find_right.in_byte 0xedc6 f
|
||||
MONITOR.paint_find_left 0xedd4 f
|
||||
MONITOR.paint_find_left.in_byte 0xede0 f
|
||||
MONITOR.get_pixel 0xedee f
|
||||
MONITOR.get_pixel.bit1_set 0xee04 f
|
||||
MONITOR.get_pixel.bit2_set 0xee13 f
|
||||
MONITOR.get_pixel.bit12_set 0xee1b f
|
||||
MONITOR.paint_task 0xee23 f
|
||||
MONITOR.paint_task.lmp_mask 0xee3a f
|
||||
MONITOR.paint_task.rmp_mask 0xee53 f
|
||||
MONITOR.paint_task.lmi_mask 0xee5f f
|
||||
MONITOR.paint_task.rmi_mask 0xee68 f
|
||||
MONITOR.paint_exit 0xee82 f
|
||||
MONITOR.draw_line_h 0xee8d f
|
||||
MONITOR.draw_line_h.next_byte 0xee98 f
|
||||
MONITOR.draw_line_h.width_ne0 0xee99 f
|
||||
MONITOR.draw_line_h.r_mask 0xeeb1 f
|
||||
MONITOR.draw_line_h.full_8 0xeeb7 f
|
||||
MONITOR.draw_line_h.complete 0xeec2 f
|
||||
MONITOR.esc_draw_line 0xeec7 f
|
||||
MONITOR.esc_draw_line.x1_le_x2 0xeed7 f
|
||||
MONITOR.esc_draw_line.pos_height 0xeee7 f
|
||||
MONITOR.esc_draw_line.next_16 0xef01 f
|
||||
MONITOR.esc_draw_line.edl_l4 0xef0d f
|
||||
MONITOR.esc_draw_line.edl_l5 0xef10 f
|
||||
MONITOR.esc_draw_line.roll_l 0xef23 f
|
||||
MONITOR.esc_draw_line.edl_l7 0xef2a f
|
||||
MONITOR.esc_draw_line.next_up 0xef45 f
|
||||
MONITOR.esc_draw_line.next_down 0xef5b f
|
||||
MONITOR.esc_draw_line.is_last 0xef71 f
|
||||
MONITOR.esc_draw_line.edl_l11 0xef7f f
|
||||
MONITOR.esc_draw_line.width0 0xef87 f
|
||||
MONITOR.esc_draw_line.edl_l13 0xef8d f
|
||||
MONITOR.esc_draw_line.next_row_up 0xefa1 f
|
||||
MONITOR.esc_draw_line.next_row_down 0xefb7 f
|
||||
MONITOR.close_vram_ret 0xefcd f
|
||||
MONITOR.height0 0xefd2 f
|
||||
MONITOR.height0.len_ne0 0xefda f
|
||||
MONITOR.height0.edl_l19 0xefdf f
|
||||
MONITOR.height0.next_col 0xefef f
|
||||
MONITOR.height0.edl_l21 0xf004 f
|
||||
MONITOR.esc_draw_dot 0xf00e f
|
||||
MONITOR.edd_l1 0xf017 f
|
||||
MONITOR.edd_ep_fm_0 0xf040 f
|
||||
MONITOR.edd_ep_task_end 0xf059 f
|
||||
MONITOR.dfr_sub1 0xf060 f
|
||||
MONITOR.dfr_s1_l1 0xf074 f
|
||||
MONITOR.dfr_s1_l2 0xf085 f
|
||||
MONITOR.dfr_s1_l3 0xf08a f
|
||||
MONITOR.dfr_s1_l4 0xf09d f
|
||||
MONITOR.dfr_sub2 0xf0a8 f
|
||||
MONITOR.esc_get_put_image 0xf0b5 f
|
||||
MONITOR.gpi_l1 0xf0df f
|
||||
MONITOR.gpi_l2 0xf0f1 f
|
||||
MONITOR.gpi_l3 0xf102 f
|
||||
MONITOR.gpi_l4 0xf108 f
|
||||
MONITOR.gpi_l5 0xf117 f
|
||||
MONITOR.esc_picture 0xf121 f
|
||||
MONITOR.esc_picture.l1 0xf140 f
|
||||
MONITOR.esc_picture.l2 0xf15a f
|
||||
MONITOR.esc_picture.l3 0xf179 f
|
||||
MONITOR.esc_picture.l4 0xf17b f
|
||||
MONITOR.esc_picture.l5 0xf185 f
|
||||
MONITOR.esc_picture.l6 0xf193 f
|
||||
MONITOR.esc_picture.l7 0xf1b0 f
|
||||
MONITOR.esc_picture.l8 0xf1bd f
|
||||
MONITOR.esc_picture.l9 0xf1c7 f
|
||||
MONITOR.esc_picture.l10 0xf1da f
|
||||
MONITOR.esc_picture.l11 0xf1e2 f
|
||||
MONITOR.esc_picture.l12 0xf1e4 f
|
||||
MONITOR.esc_picture.l13 0xf1f7 f
|
||||
MONITOR.esc_picture.l14 0xf201 f
|
||||
MONITOR.esc_picture.l15 0xf203 f
|
||||
MONITOR.esc_picture.l16 0xf216 f
|
||||
MONITOR.esc_picture.l17 0xf220 f
|
||||
MONITOR.esc_picture.l18 0xf22e f
|
||||
MONITOR.esc_picture.l19 0xf239 f
|
||||
MONITOR.esc_picture.l20 0xf24a f
|
||||
MONITOR.esc_picture.l21 0xf254 f
|
||||
MONITOR.esc_picture.l22 0xf262 f
|
||||
MONITOR.esc_picture.l23 0xf293 f
|
||||
MONITOR.esc_picture.l24 0xf29d f
|
||||
MONITOR.esc_picture.l25 0xf29e f
|
||||
MONITOR.esc_picture.l26 0xf2ac f
|
||||
MONITOR.esc_picture.l27 0xf2ad f
|
||||
MONITOR.esc_picture.l28 0xf2c0 f
|
||||
MONITOR.esc_picture.l29 0xf2c6 f
|
||||
MONITOR.esc_picture.l30 0xf2d5 f
|
||||
MONITOR.close_video_access 0xf2dc f
|
||||
MONITOR.esc_draw_circle 0xf2e1 f
|
||||
MONITOR.esc_draw_circle.l1 0xf2fe f
|
||||
MONITOR.esc_draw_circle.l2 0xf315 f
|
||||
MONITOR.esc_draw_circle.l3 0xf337 f
|
||||
MONITOR.dc_draw_8px 0xf340 f
|
||||
MONITOR.dc_aspect_ratio_1 0xf35c f
|
||||
MONITOR.dc_aspect_ratio_1.dc_ax_ne0 0xf36c f
|
||||
MONITOR.dc_aspect_ratio_1.dc_ay_ne0 0xf375 f
|
||||
MONITOR.dc_aspect_ratio2 0xf37c f
|
||||
MONITOR.dc_aspect_ratio2.dc_ax_ne0 0xf38c f
|
||||
MONITOR.dc_aspect_ratio2.dc_ay_ne0 0xf395 f
|
||||
MONITOR.dc_mul_e_h 0xf39c f
|
||||
MONITOR.dc_mul_e_h.l1 0xf3a4 f
|
||||
MONITOR.dc_mul_e_h.l2 0xf3a9 f
|
||||
MONITOR.dc_mul_e_h.l3 0xf3ae f
|
||||
MONITOR.dc_mul_e_h.l4 0xf3b3 f
|
||||
MONITOR.dc_mul_e_h.l5 0xf3b8 f
|
||||
MONITOR.dc_mul_e_h.l6 0xf3bd f
|
||||
MONITOR.dc_mul_e_h.l7 0xf3c2 f
|
||||
MONITOR.dc_mul_e_h.l8 0xf3c7 f
|
||||
MONITOR.dc_draw_4px_bc 0xf3c9 f
|
||||
MONITOR.dc_draw_4px_bc.l1 0xf3d5 f
|
||||
MONITOR.dc_draw_4px_bc.l2 0xf3e1 f
|
||||
MONITOR.dc_draw_4px_bc.l3 0xf3ed f
|
||||
MONITOR.dc_draw_4px_cb 0xf3f8 f
|
||||
MONITOR.dc_draw_4px_cb.l1 0xf404 f
|
||||
MONITOR.dc_draw_4px_cb.l2 0xf410 f
|
||||
MONITOR.dc_draw_4px_cb.l3 0xf41c f
|
||||
MONITOR.dc_put_pixel 0xf427 f
|
||||
MONITOR.dc_put_pixel.roll 0xf42f f
|
||||
MONITOR.m_font_cp0 0xf451 f
|
||||
MONITOR.m_font_cp1 0xf6f1 f
|
||||
MONITOR.conv_nibble 0xf8b1 f
|
||||
MONITOR.m_hexb 0xf8bb f
|
||||
MONITOR.out_hex 0xf8c4 f
|
||||
MONITOR.m_tape_write_ram2 0xf8cb f
|
||||
MONITOR.m_tape_write_ram2.cl_stack 0xf8d0 f
|
||||
MONITOR.m_tape_write_ram2.nxt_blk 0xf8f2 f
|
||||
MONITOR.twr2_delay 0xf908 f
|
||||
MONITOR.twr2_delay.delay 0xf90b f
|
||||
MONITOR.m_tape_read_ram2 0xf912 f
|
||||
MONITOR.m_tape_read_ram2.srch_first 0xf91d f
|
||||
MONITOR.m_tape_read_ram2.rd_next 0xf93b f
|
||||
MONITOR.m_tape_read_ram2.not_found 0xf95a f
|
||||
MONITOR.m_tape_read_ram2.rd_error 0xf961 f
|
||||
MONITOR.m_tape_read_ram2.inv_id 0xf976 f
|
||||
MONITOR.m_tape_read_ram2.err_ubi 0xf982 f
|
||||
MONITOR.m_tape_read_ram2.err_ibu 0xf98a f
|
||||
MONITOR.m_tape_read_ram2.end 0xf98b f
|
||||
MONITOR.out_hexw 0xf992 f
|
||||
MONITOR.msg_no_start_rec 0xf99d f
|
||||
MONITOR.msg_checksum 0xf9ad f
|
||||
MONITOR.msg_sequence 0xf9b7 f
|
||||
MONITOR.msg_ibg 0xf9c1 f
|
||||
MONITOR.msg_break 0xf9c5 f
|
||||
MONITOR.me_out_strz 0xf9cb f
|
||||
MONITOR.m_ramdisk_read 0xf9d8 f
|
||||
MONITOR.m_ramdisk_read.read 0xf9ea f
|
||||
MONITOR.m_ramdisk_write 0xfa02 f
|
||||
MONITOR.m_ramdisk_write.wr_byte 0xfa14 f
|
||||
MONITOR.m_tape_write 0xfa2c f
|
||||
MONITOR.m_tape_write.l1 0xfa43 f
|
||||
MONITOR.m_tape_write.set_lvl 0xfa55 f
|
||||
MONITOR.m_tape_write.l2 0xfa65 f
|
||||
MONITOR.m_tape_write.next_byte 0xfa83 f
|
||||
MONITOR.m_tape_write.wait_end 0xfa95 f
|
||||
MONITOR.m_tape_wr_byte 0xfaa3 f
|
||||
MONITOR.m_tape_wr_byte.get_bit 0xfaaa f
|
||||
MONITOR.m_tape_wr_byte.wait_t 0xfab0 f
|
||||
MONITOR.m_tape_wr_byte.out_bit 0xface f
|
||||
MONITOR.m_tape_wr_byte.bit_hi 0xfad6 f
|
||||
MONITOR.m_tape_wr_byte.out_bit_hi 0xfaf4 f
|
||||
MONITOR.m_tape_read 0xfafc f
|
||||
MONITOR.m_tape_read.wait_3_changes 0xfb0e f
|
||||
MONITOR.m_tape_read.wait_4th_change 0xfb1f f
|
||||
MONITOR.m_tape_read.wait_f5_marker 0xfb2e f
|
||||
MONITOR.m_tape_read.read_next_b 0xfb52 f
|
||||
MONITOR.m_tape_read.checksum_ok 0xfb6b f
|
||||
MONITOR.m_tape_read.return 0xfb6c f
|
||||
MONITOR.m_tape_read.err_read_blk 0xfb6f f
|
||||
MONITOR.m_tape_read.err_read_id 0xfb73 f
|
||||
MONITOR.m_tape_read.key_pressed 0xfb78 f
|
||||
MONITOR.m_tape_read_byte 0xfb83 f
|
||||
MONITOR.m_tape_read_byte.next_bit 0xfb86 f
|
||||
MONITOR.m_tape_read_byte.ret_err 0xfb9b f
|
||||
MONITOR.m_read_tape_bit 0xfb9d f
|
||||
MONITOR.m_read_tape_bit.wait_change 0xfba2 f
|
||||
MONITOR.read_tape_bit_kbd 0xfbc0 f
|
||||
MONITOR.read_tape_bit_kbd.wait_change 0xfbc5 f
|
||||
MONITOR.read_tape_bit_kbd.key_pressed 0xfbea f
|
||||
MONITOR.m_tape_wait 0xfbed f
|
||||
MONITOR.m_tape_wait.wait_t4 0xfbf1 f
|
||||
MONITOR.m_tape_wait.wait_next_2ms 0xfbf7 f
|
||||
MONITOR.m_tape_wait.wait_tmr_key 0xfc02 f
|
||||
MONITOR.m_tape_wait.wait_no_rst4 0xfc1b f
|
||||
MONITOR.m_tape_wait.key_pressed 0xfc22 f
|
||||
MONITOR.m_tape_blk_detect 0xfc2a f
|
||||
MONITOR.fdc_unload_head 0xfc33 f
|
||||
MONITOR.fdc_unload_head.wait_no_busy 0xfc3d f
|
||||
MONITOR.fdc_unload_head.tr0_ok 0xfc4f f
|
||||
MONITOR.fdc_unload_head.b1 0xfc5e f
|
||||
MONITOR.m_select_drive 0xfc66 f
|
||||
MONITOR.m_select_drive.sel_A 0xfc74 f
|
||||
MONITOR.m_select_drive.sel_B 0xfc76 f
|
||||
MONITOR.m_select_drive.dpar_a 0xfc8b f
|
||||
MONITOR.m_select_drive.dpar_b 0xfc8e f
|
||||
MONITOR.m_select_drive.l_le 0xfcaa f
|
||||
MONITOR.delay_136uS 0xfcb9 f
|
||||
MONITOR.delay_b 0xfcbb f
|
||||
MONITOR.delay_1.4mS 0xfcc0 f
|
||||
MONITOR.m_read_floppy 0xfcc5 f
|
||||
MONITOR.m_write_floppy 0xfcd8 f
|
||||
MONITOR.m_start_seek_track 0xfceb f
|
||||
MONITOR.m_start_floppy 0xfcf4 f
|
||||
MONITOR.m_start_floppy.need_m_start 0xfd00 f
|
||||
MONITOR.m_start_floppy.wait_motor 0xfd0b f
|
||||
MONITOR.m_start_floppy.wait_rdy1 0xfd12 f
|
||||
MONITOR.m_start_floppy.long_delay 0xfd24 f
|
||||
MONITOR.m_start_floppy.mst_exi 0xfd2a f
|
||||
MONITOR.fdc_init 0xfd2c f
|
||||
MONITOR.m_fdc_seek_trk 0xfd38 f
|
||||
MONITOR.m_fdc_seek_trk.drv_b 0xfd51 f
|
||||
MONITOR.m_fdc_seek_trk.cmn 0xfd62 f
|
||||
MONITOR.m_fdc_seek_trk.l1 0xfd8a f
|
||||
MONITOR.m_fdc_seek_trk.l2 0xfd9b f
|
||||
MONITOR.m_fdc_seek_trk.l3 0xfdb2 f
|
||||
MONITOR.m_fdc_seek_trk.l4 0xfdb5 f
|
||||
MONITOR.m_fdc_write_bytes 0xfdbb f
|
||||
MONITOR.m_fdc_write_bytes.w_next 0xfdbe f
|
||||
MONITOR.m_fdc_read_c_bytes 0xfdcc f
|
||||
MONITOR.m_fdc_read_c_bytes.l1 0xfdd2 f
|
||||
MONITOR.m_fdc_read_c_bytes.l2 0xfdd4 f
|
||||
MONITOR.fdc_check_status 0xfde0 f
|
||||
MONITOR.fdc_ret 0xfdea f
|
||||
MONITOR.filler1 0xfdeb f
|
||||
MONITOR.LAST 0xfded l
|
||||
MONITOR.CODE_SIZE 0x1ded l
|
||||
MONITOR.FILL_SIZE 0x213 l
|
||||
MONITOR.FILLER 0xfded f
|
||||
M_VARS.buffer 0xbf00 f
|
||||
M_VARS.paint_stack 0xbfa4 l
|
||||
M_VARS.stack1 0xbfc4 l
|
||||
M_VARS.paint_var1 0xbfc5 f
|
||||
M_VARS.paint_var2 0xbfc6 f
|
||||
M_VARS.paint_var3 0xbfc7 f
|
||||
M_VARS.paint_var4 0xbfc8 f
|
||||
M_VARS.paint_var5 0xbfc9 f
|
||||
M_VARS.paint_y 0xbfca f
|
||||
M_VARS.paint_var7 0xbfcb f
|
||||
M_VARS.cmp_color 0xbfcc f
|
||||
M_VARS.paint_sp_save 0xbfcd f
|
||||
M_VARS.pixel_mask_r 0xbfcf f
|
||||
M_VARS.tmp_color 0xbfd0 f
|
||||
M_VARS.rect_var2 0xbfd1 f
|
||||
M_VARS.stack_0 0xbfd2 l
|
||||
M_VARS.rect_var3 0xbfd2 f
|
||||
M_VARS.esc_mode 0xbfd3 f
|
||||
M_VARS.esc_cmd 0xbfd4 f
|
||||
M_VARS.esc_param_cnt 0xbfd5 f
|
||||
M_VARS.esc_param 0xbfd6 f
|
||||
M_VARS.pixel_mask_l_i 0xbfdd f
|
||||
M_VARS.pixel_mask_r_i 0xbfde f
|
||||
M_VARS.pixel_mask_l 0xbfdf f
|
||||
M_VARS.screen_mode 0xbfe0 f
|
||||
M_VARS.cursor_row 0xbfe1 f
|
||||
M_VARS.cursor_col 0xbfe2 f
|
||||
M_VARS.curr_color 0xbfe3 f
|
||||
M_VARS.esc_hex_cmd 0xbfe5 f
|
||||
M_VARS.row_shift 0xbfe5 f
|
||||
M_VARS.codepage 0xbfe6 f
|
||||
M_VARS.cur_palette 0xbfe7 f
|
||||
M_VARS.beep_period 0xbfe8 f
|
||||
M_VARS.beep_duration 0xbfea f
|
||||
M_VARS.pix_shift 0xbfec f
|
||||
M_VARS.strobe_state 0xbfed f
|
||||
M_VARS.ul_var0 0xbfee f
|
||||
M_VARS.ul_A_var1 0xbfef f
|
||||
M_VARS.ul_B_var2 0xbff0 f
|
||||
M_VARS.ul_var3 0xbff1 f
|
||||
M_VARS.ul_A_var4 0xbff2 f
|
||||
M_VARS.ul_B_var5 0xbff3 f
|
||||
M_VARS.ul_var6 0xbff4 f
|
||||
M_VARS.esc_var0 0xbff5 f
|
||||
M_VARS.esc_var1 0xbff6 f
|
||||
M_VARS.esc_var2 0xbff7 f
|
||||
M_VARS.esc_var3 0xbff8 f
|
||||
36
MON_r7_93bd95bd/mon_entries.inc
Normal file
36
MON_r7_93bd95bd/mon_entries.inc
Normal file
@ -0,0 +1,36 @@
|
||||
; ======================================================
|
||||
; Ocean-240.2
|
||||
;
|
||||
; Monitor entries to compile CP/M modules
|
||||
;
|
||||
; By Romych 2025-09-09
|
||||
; ======================================================
|
||||
|
||||
IFNDEF _MON_ENTRY
|
||||
DEFINE _MON_ENTRY
|
||||
|
||||
MODULE MON_ENTRY
|
||||
|
||||
mon_start EQU 0xe000
|
||||
mon_hexb EQU 0xe003
|
||||
non_con_status EQU 0xe006
|
||||
mon_con_in EQU 0xe009
|
||||
mon_con_out EQU 0xe00c
|
||||
mon_serial_in EQU 0xe00f
|
||||
mpn_serial_out EQU 0xe012
|
||||
mon_char_print EQU 0xe015
|
||||
mon_tape_read EQU 0xe018
|
||||
mon_tape_write EQU 0xe01b
|
||||
mon_ram_disk_read EQU 0xe01e
|
||||
mon_ram_disk_write EQU 0xe021
|
||||
mon_tape_read_ram EQU 0xe024
|
||||
mon_tape_write_ram EQU 0xe027
|
||||
mon_tape_wait EQU 0xe02a
|
||||
mon_tape_detect EQU 0xe02d
|
||||
mon_read_floppy EQU 0xe030
|
||||
mon_write_floppy EQU 0xe033
|
||||
mon_out_strz EQU 0xe036
|
||||
|
||||
ENDMODULE
|
||||
|
||||
ENDIF
|
||||
438
MON_r7_93bd95bd/mon_only.map
Normal file
438
MON_r7_93bd95bd/mon_only.map
Normal file
@ -0,0 +1,438 @@
|
||||
MONITOR.start 0xe000 f
|
||||
MONITOR.mon_hexb 0xe003 f
|
||||
MONITOR.mon_con_status 0xe006 f
|
||||
MONITOR.mon_con_in 0xe009 f
|
||||
MONITOR.mon_con_out 0xe00c f
|
||||
MONITOR.mon_serial_in 0xe00f f
|
||||
MONITOR.mon_serial_out 0xe012 f
|
||||
MONITOR.mon_char_print 0xe015 f
|
||||
MONITOR.mon_tape_read 0xe018 f
|
||||
MONITOR.mon_tape_write 0xe01b f
|
||||
MONITOR.mon_ram_disk_read 0xe01e f
|
||||
MONITOR.mon_ram_disk_write 0xe021 f
|
||||
MONITOR.mon_tape_read_ram 0xe024 f
|
||||
MONITOR.mon_tape_write_ram 0xe027 f
|
||||
MONITOR.mon_tape_wait 0xe02a f
|
||||
MONITOR.mon_tape_detect 0xe02d f
|
||||
MONITOR.mon_read_floppy 0xe030 f
|
||||
MONITOR.mon_write_floppy 0xe033 f
|
||||
MONITOR.mon_out_strz 0xe036 f
|
||||
MONITOR.m_hot_start 0xe039 f
|
||||
MONITOR.m_hot_start.fill_video 0xe054 f
|
||||
MONITOR.m_hot_start.conf_uart 0xe08f f
|
||||
MONITOR.m_hot_start.conf_pic 0xe0a2 f
|
||||
MONITOR.m_out_strz 0xe0d9 f
|
||||
MONITOR.mgs_system_nf 0xe0e4 f
|
||||
MONITOR.m_sys_halt 0xe0f9 f
|
||||
MONITOR.m_con_status 0xe0fa f
|
||||
MONITOR.m_serial_in 0xe104 f
|
||||
MONITOR.m_con_in 0xe110 f
|
||||
MONITOR.m_serial_out 0xe125 f
|
||||
MONITOR.m_char_print 0xe130 f
|
||||
MONITOR.m_char_print.wait_lp 0xe13e f
|
||||
MONITOR.m_con_out 0xe14a f
|
||||
MONITOR.m_con_out_int 0xe154 f
|
||||
MONITOR.get_esc_param 0xe16e f
|
||||
MONITOR.esc_no_draw_fn 0xe1a8 f
|
||||
MONITOR.esc_exit 0xe1ad f
|
||||
MONITOR.esc_params_tab 0xe1b2 f
|
||||
MONITOR.esc_handler_tab 0xe1c2 f
|
||||
MONITOR.esc_set_beep 0xe1e0 f
|
||||
MONITOR.esc_set_cursor2 0xe1f5 f
|
||||
MONITOR.esc_print_screen 0xe1f8 f
|
||||
MONITOR.esc_print_screen.chk_keys 0xe207 f
|
||||
MONITOR.esc_print_screen.no_keys 0xe214 f
|
||||
MONITOR.m_print_hor_line 0xe221 f
|
||||
MONITOR.m_print_hor_line.print_next_col 0xe22f f
|
||||
MONITOR.m_print_cmd 0xe25d f
|
||||
MONITOR.m_print_cmd.print_nxt 0xe25e f
|
||||
MONITOR.m_print_cmd.cmd_end 0xe26c f
|
||||
MONITOR.m_print_vert_7pix 0xe26e f
|
||||
MONITOR.cmd_esc_inc_Y2 0xe28c f
|
||||
MONITOR.cmd_esc_set_X0 0xe290 f
|
||||
MONITOR.cmd_esc_set_X 0xe295 f
|
||||
MONITOR.cmd_esc_print_col 0xe298 f
|
||||
MONITOR.m_get_7vpix 0xe29b f
|
||||
MONITOR.m_get_7vpix.calc_pix_no 0xe2a5 f
|
||||
MONITOR.m_get_7vpix.for_all_pix 0xe2c3 f
|
||||
MONITOR.m_get_7vpix.all_shifted 0xe2d0 f
|
||||
MONITOR.m_get_7vpix.not_1_1 0xe2d9 f
|
||||
MONITOR.m_get_7vpix.not_1_2 0xe2e1 f
|
||||
MONITOR.esc_set_palette 0xe2e5 f
|
||||
MONITOR.esp_no_colr 0xe2fa f
|
||||
MONITOR.esc_set_charset 0xe2fe f
|
||||
MONITOR.m_get_glyph 0xe307 f
|
||||
MONITOR.m_get_glyph.cp_rus 0xe327 f
|
||||
MONITOR.m_get_glyph.cp_common 0xe32b f
|
||||
MONITOR.m_print_no_esc 0xe330 f
|
||||
MONITOR.m_print_no_esc.l1 0xe35e f
|
||||
MONITOR.m_print_no_esc.l2 0xe368 f
|
||||
MONITOR.m_print_no_esc.l3 0xe370 f
|
||||
MONITOR.m_print_no_esc.l4 0xe378 f
|
||||
MONITOR.m_print_no_esc.l5 0xe37d f
|
||||
MONITOR.m_print_no_esc.sym_draw 0xe381 f
|
||||
MONITOR.m_print_no_esc.pne_l7 0xe38c f
|
||||
MONITOR.m_print_no_esc.pne_l8 0xe391 f
|
||||
MONITOR.m40_rt 0xe3d5 f
|
||||
MONITOR.m40_wrap_rt 0xe3e0 f
|
||||
MONITOR.m40_lf 0xe3ec f
|
||||
MONITOR.m40_bksp 0xe3f6 f
|
||||
MONITOR.m40_bksp.wrap 0xe404 f
|
||||
MONITOR.m40_up 0xe408 f
|
||||
MONITOR.m40_up.up_no_minus 0xe410 f
|
||||
MONITOR.m20_tab 0xe412 f
|
||||
MONITOR.calc_addr_40 0xe420 f
|
||||
MONITOR.calc_addr_40.l1 0xe43b f
|
||||
MONITOR.calc_addr_40.l2 0xe441 f
|
||||
MONITOR.m2_lf 0xe44b f
|
||||
MONITOR.m2_lf.lf_nowr 0xe455 f
|
||||
MONITOR.m2_lf.cas_l5 0xe462 f
|
||||
MONITOR.m2_lf.cas_l6 0xe467 f
|
||||
MONITOR.m2_lf.cas_l7 0xe47d f
|
||||
MONITOR.m2_lf.cas_l8 0xe482 f
|
||||
MONITOR.m20_bksp 0xe492 f
|
||||
MONITOR.mp_mode_64 0xe49f f
|
||||
MONITOR.mp_mode_64.next_row 0xe4ba f
|
||||
MONITOR.m64_rt 0xe4ce f
|
||||
MONITOR.m64_lf 0xe4d7 f
|
||||
MONITOR.scroll_up 0xe4e1 f
|
||||
MONITOR.scroll_up.next_row 0xe4f9 f
|
||||
MONITOR.scroll_up.next_col 0xe4fb f
|
||||
MONITOR.m64_bs 0xe50b f
|
||||
MONITOR.m64_up 0xe516 f
|
||||
MONITOR.m64_up.no_wrap 0xe51e f
|
||||
MONITOR.m64_tab 0xe520 f
|
||||
MONITOR.mp_mode_80 0xe52c f
|
||||
MONITOR.mp_mode_80.l1 0xe545 f
|
||||
MONITOR.mp_mode_80.l2 0xe554 f
|
||||
MONITOR.mp_mode_80.l3 0xe575 f
|
||||
MONITOR.mp_mode_80.l4 0xe59a f
|
||||
MONITOR.mp_mode_80.l5 0xe59b f
|
||||
MONITOR.mp_mode_80.l6 0xe5ab f
|
||||
MONITOR.m80_rt 0xe5b6 f
|
||||
MONITOR.m80_col_wrap 0xe5c1 f
|
||||
MONITOR.m80_lf 0xe5c5 f
|
||||
MONITOR.m80_bs 0xe5cf f
|
||||
MONITOR.m80_bs.wrap 0xe5dd f
|
||||
MONITOR.m80_up 0xe5e1 f
|
||||
MONITOR.m80_up.no_wrap 0xe5e9 f
|
||||
MONITOR.m80_tab 0xe5eb f
|
||||
MONITOR.calc_addr_80 0xe5f9 f
|
||||
MONITOR.mns_l1 0xe614 f
|
||||
MONITOR.mns_ep_fm_0 0xe61a f
|
||||
MONITOR.m_clear_screen 0xe620 f
|
||||
MONITOR.m_clear_screen.fill_scrn 0xe639 f
|
||||
MONITOR.m_clear_screen.mono_mode 0xe650 f
|
||||
MONITOR.m_cursor_home 0xe653 f
|
||||
MONITOR.m_clear_20_rows 0xe660 f
|
||||
MONITOR.m_clear_20_rows.next_row 0xe66a f
|
||||
MONITOR.m_clear_20_rows.next_col 0xe66f f
|
||||
MONITOR.m_draw_cursor 0xe681 f
|
||||
MONITOR.m_draw_cursor.dc_rt2 0xe6b6 f
|
||||
MONITOR.m_draw_cursor.dc_mid 0xe6be f
|
||||
MONITOR.m_draw_cursor.dc_lt 0xe6c4 f
|
||||
MONITOR.m_draw_cursor.dc_rt1 0xe6ca f
|
||||
MONITOR.m_draw_cursor.dc_put 0xe6cd f
|
||||
MONITOR.m_draw_cursor.dc_mode_64 0xe6ea f
|
||||
MONITOR.m_draw_cursor.cur_64_next 0xe708 f
|
||||
MONITOR.m_draw_cursor.dc_mode_80 0xe716 f
|
||||
MONITOR.m_draw_cursor.dc_1_byte 0xe745 f
|
||||
MONITOR.m_draw_cursor.dc_2_byte 0xe750 f
|
||||
MONITOR.m_draw_cursor.dc_80_end 0xe75d f
|
||||
MONITOR.m_handle_esc_code 0xe763 f
|
||||
MONITOR.m_handle_control_code 0xe771 f
|
||||
MONITOR.handle_cc_common 0xe7ab f
|
||||
MONITOR.handle_cc_common.handle_cc_mono 0xe7e6 f
|
||||
MONITOR.handle_cc_80x25 0xe81a f
|
||||
MONITOR.m_beep 0xe841 f
|
||||
MONITOR.m_bell_cont 0xe856 f
|
||||
MONITOR.m_bell_wait_tmr1 0xe860 f
|
||||
MONITOR.m_bell_wait_tmr2 0xe86d f
|
||||
MONITOR.esc_set_cursor 0xe877 f
|
||||
MONITOR.esc_set_cursor.mode_40 0xe8ac f
|
||||
MONITOR.esc_set_cursor.mode_80 0xe8b7 f
|
||||
MONITOR.esc_set_cursor.common 0xe8bf f
|
||||
MONITOR.esc_le_24 0xe8cc f
|
||||
MONITOR.esc_set_vmode 0xe8d6 f
|
||||
MONITOR.esc_set_vmode.set_color_mode 0xe8fc f
|
||||
MONITOR.esc_set_vmode.skip_for_mono_mode 0xe8fe f
|
||||
MONITOR.esc_set_vmode.draw_cursor 0xe907 f
|
||||
MONITOR.esc_set_vmode.cursor_hide 0xe90b f
|
||||
MONITOR.esc_set_vmode.cursor_show 0xe915 f
|
||||
MONITOR.esc_set_color 0xe91c f
|
||||
MONITOR.m_set_color 0xe91f f
|
||||
MONITOR.m_print_at_xy 0xe930 f
|
||||
MONITOR.m_print_at_xy.mode_sp 0xe973 f
|
||||
MONITOR.m_print_at_xy.out_sp 0xe988 f
|
||||
MONITOR.m_print_at_xy.next_line 0xe98f f
|
||||
MONITOR.m_print_at_xy.l04 0xe99c f
|
||||
MONITOR.m_print_at_xy.l05 0xe9a1 f
|
||||
MONITOR.m_print_at_xy.sprites_en 0xe9cf f
|
||||
MONITOR.mode2_exit 0xe9d3 f
|
||||
MONITOR.co_ex_l08 0xe9da f
|
||||
MONITOR.out_no_xor 0xe9de f
|
||||
MONITOR.out_no_xor.l10 0xe9eb f
|
||||
MONITOR.out_no_xor.l11 0xe9f0 f
|
||||
MONITOR.game_sprite_tab 0xea26 f
|
||||
MONITOR.calc_px_addr 0xeb46 f
|
||||
MONITOR.esc_draw_fill_rect 0xeb59 f
|
||||
MONITOR.dfr_l1 0xeb73 f
|
||||
MONITOR.dfr_l2 0xeb82 f
|
||||
MONITOR.dfr_l3 0xeb91 f
|
||||
MONITOR.dfr_l4 0xeb9b f
|
||||
MONITOR.dfr_l5 0xeb9c f
|
||||
MONITOR.dfr_l6 0xebb2 f
|
||||
MONITOR.dfr_l7 0xebb8 f
|
||||
MONITOR.dfr_complete 0xebc7 f
|
||||
MONITOR.esc_paint 0xebd4 f
|
||||
MONITOR.esc_paint.l1 0xec13 f
|
||||
MONITOR.ep_fm_0 0xec47 f
|
||||
MONITOR.ep_task_end 0xec56 f
|
||||
MONITOR.ep_l4 0xec71 f
|
||||
MONITOR.ep_l5 0xec79 f
|
||||
MONITOR.ep_l6 0xec81 f
|
||||
MONITOR.ep_f_fast 0xec93 f
|
||||
MONITOR.ep_l8 0xeca1 f
|
||||
MONITOR.ep_l9 0xecd9 f
|
||||
MONITOR.ep_l10 0xece8 f
|
||||
MONITOR.ep_l11 0xecf9 f
|
||||
MONITOR.paint_find_next_right 0xed33 f
|
||||
MONITOR.paint_find_next_right.l1 0xed40 f
|
||||
MONITOR.paint_find_next_right.l2 0xed4c f
|
||||
MONITOR.paint_find_next_left 0xed56 f
|
||||
MONITOR.paint_find_next_left.l1 0xed63 f
|
||||
MONITOR.paint_find_next_left.l2 0xed6f f
|
||||
MONITOR.ep_l12 0xed79 f
|
||||
MONITOR.ep_l13 0xed92 f
|
||||
MONITOR.ep_l14 0xeda4 f
|
||||
MONITOR.ep_l15 0xedad f
|
||||
MONITOR.ep_l16 0xedb6 f
|
||||
MONITOR.paint_find_right 0xedb9 f
|
||||
MONITOR.paint_find_right.in_byte 0xedc6 f
|
||||
MONITOR.paint_find_left 0xedd4 f
|
||||
MONITOR.paint_find_left.in_byte 0xede0 f
|
||||
MONITOR.get_pixel 0xedee f
|
||||
MONITOR.get_pixel.bit1_set 0xee04 f
|
||||
MONITOR.get_pixel.bit2_set 0xee13 f
|
||||
MONITOR.get_pixel.bit12_set 0xee1b f
|
||||
MONITOR.paint_task 0xee23 f
|
||||
MONITOR.paint_task.lmp_mask 0xee3a f
|
||||
MONITOR.paint_task.rmp_mask 0xee53 f
|
||||
MONITOR.paint_task.lmi_mask 0xee5f f
|
||||
MONITOR.paint_task.rmi_mask 0xee68 f
|
||||
MONITOR.paint_exit 0xee82 f
|
||||
MONITOR.draw_line_h 0xee8d f
|
||||
MONITOR.draw_line_h.next_byte 0xee98 f
|
||||
MONITOR.draw_line_h.width_ne0 0xee99 f
|
||||
MONITOR.draw_line_h.r_mask 0xeeb1 f
|
||||
MONITOR.draw_line_h.full_8 0xeeb7 f
|
||||
MONITOR.draw_line_h.complete 0xeec2 f
|
||||
MONITOR.esc_draw_line 0xeec7 f
|
||||
MONITOR.esc_draw_line.x1_le_x2 0xeed7 f
|
||||
MONITOR.esc_draw_line.pos_height 0xeee7 f
|
||||
MONITOR.esc_draw_line.next_16 0xef01 f
|
||||
MONITOR.esc_draw_line.edl_l4 0xef0d f
|
||||
MONITOR.esc_draw_line.edl_l5 0xef10 f
|
||||
MONITOR.esc_draw_line.roll_l 0xef23 f
|
||||
MONITOR.esc_draw_line.edl_l7 0xef2a f
|
||||
MONITOR.esc_draw_line.next_up 0xef45 f
|
||||
MONITOR.esc_draw_line.next_down 0xef5b f
|
||||
MONITOR.esc_draw_line.is_last 0xef71 f
|
||||
MONITOR.esc_draw_line.edl_l11 0xef7f f
|
||||
MONITOR.esc_draw_line.width0 0xef87 f
|
||||
MONITOR.esc_draw_line.edl_l13 0xef8d f
|
||||
MONITOR.esc_draw_line.next_row_up 0xefa1 f
|
||||
MONITOR.esc_draw_line.next_row_down 0xefb7 f
|
||||
MONITOR.close_vram_ret 0xefcd f
|
||||
MONITOR.height0 0xefd2 f
|
||||
MONITOR.height0.len_ne0 0xefda f
|
||||
MONITOR.height0.edl_l19 0xefdf f
|
||||
MONITOR.height0.next_col 0xefef f
|
||||
MONITOR.height0.edl_l21 0xf004 f
|
||||
MONITOR.esc_draw_dot 0xf00e f
|
||||
MONITOR.edd_l1 0xf017 f
|
||||
MONITOR.edd_ep_fm_0 0xf040 f
|
||||
MONITOR.edd_ep_task_end 0xf059 f
|
||||
MONITOR.dfr_sub1 0xf060 f
|
||||
MONITOR.dfr_s1_l1 0xf074 f
|
||||
MONITOR.dfr_s1_l2 0xf085 f
|
||||
MONITOR.dfr_s1_l3 0xf08a f
|
||||
MONITOR.dfr_s1_l4 0xf09d f
|
||||
MONITOR.dfr_sub2 0xf0a8 f
|
||||
MONITOR.esc_get_put_image 0xf0b5 f
|
||||
MONITOR.gpi_l1 0xf0df f
|
||||
MONITOR.gpi_l2 0xf0f1 f
|
||||
MONITOR.gpi_l3 0xf102 f
|
||||
MONITOR.gpi_l4 0xf108 f
|
||||
MONITOR.gpi_l5 0xf117 f
|
||||
MONITOR.esc_picture 0xf121 f
|
||||
MONITOR.esc_picture.l1 0xf140 f
|
||||
MONITOR.esc_picture.l2 0xf15a f
|
||||
MONITOR.esc_picture.l3 0xf179 f
|
||||
MONITOR.esc_picture.l4 0xf17b f
|
||||
MONITOR.esc_picture.l5 0xf185 f
|
||||
MONITOR.esc_picture.l6 0xf193 f
|
||||
MONITOR.esc_picture.l7 0xf1b0 f
|
||||
MONITOR.esc_picture.l8 0xf1bd f
|
||||
MONITOR.esc_picture.l9 0xf1c7 f
|
||||
MONITOR.esc_picture.l10 0xf1da f
|
||||
MONITOR.esc_picture.l11 0xf1e2 f
|
||||
MONITOR.esc_picture.l12 0xf1e4 f
|
||||
MONITOR.esc_picture.l13 0xf1f7 f
|
||||
MONITOR.esc_picture.l14 0xf201 f
|
||||
MONITOR.esc_picture.l15 0xf203 f
|
||||
MONITOR.esc_picture.l16 0xf216 f
|
||||
MONITOR.esc_picture.l17 0xf220 f
|
||||
MONITOR.esc_picture.l18 0xf22e f
|
||||
MONITOR.esc_picture.l19 0xf239 f
|
||||
MONITOR.esc_picture.l20 0xf24a f
|
||||
MONITOR.esc_picture.l21 0xf254 f
|
||||
MONITOR.esc_picture.l22 0xf262 f
|
||||
MONITOR.esc_picture.l23 0xf293 f
|
||||
MONITOR.esc_picture.l24 0xf29d f
|
||||
MONITOR.esc_picture.l25 0xf29e f
|
||||
MONITOR.esc_picture.l26 0xf2ac f
|
||||
MONITOR.esc_picture.l27 0xf2ad f
|
||||
MONITOR.esc_picture.l28 0xf2c0 f
|
||||
MONITOR.esc_picture.l29 0xf2c6 f
|
||||
MONITOR.esc_picture.l30 0xf2d5 f
|
||||
MONITOR.close_video_access 0xf2dc f
|
||||
MONITOR.esc_draw_circle 0xf2e1 f
|
||||
MONITOR.esc_draw_circle.l1 0xf2fe f
|
||||
MONITOR.esc_draw_circle.l2 0xf315 f
|
||||
MONITOR.esc_draw_circle.l3 0xf337 f
|
||||
MONITOR.dc_draw_8px 0xf340 f
|
||||
MONITOR.dc_aspect_ratio_1 0xf35c f
|
||||
MONITOR.dc_aspect_ratio_1.dc_ax_ne0 0xf36c f
|
||||
MONITOR.dc_aspect_ratio_1.dc_ay_ne0 0xf375 f
|
||||
MONITOR.dc_aspect_ratio2 0xf37c f
|
||||
MONITOR.dc_aspect_ratio2.dc_ax_ne0 0xf38c f
|
||||
MONITOR.dc_aspect_ratio2.dc_ay_ne0 0xf395 f
|
||||
MONITOR.dc_mul_e_h 0xf39c f
|
||||
MONITOR.dc_mul_e_h.l1 0xf3a4 f
|
||||
MONITOR.dc_mul_e_h.l2 0xf3a9 f
|
||||
MONITOR.dc_mul_e_h.l3 0xf3ae f
|
||||
MONITOR.dc_mul_e_h.l4 0xf3b3 f
|
||||
MONITOR.dc_mul_e_h.l5 0xf3b8 f
|
||||
MONITOR.dc_mul_e_h.l6 0xf3bd f
|
||||
MONITOR.dc_mul_e_h.l7 0xf3c2 f
|
||||
MONITOR.dc_mul_e_h.l8 0xf3c7 f
|
||||
MONITOR.dc_draw_4px_bc 0xf3c9 f
|
||||
MONITOR.dc_draw_4px_bc.l1 0xf3d5 f
|
||||
MONITOR.dc_draw_4px_bc.l2 0xf3e1 f
|
||||
MONITOR.dc_draw_4px_bc.l3 0xf3ed f
|
||||
MONITOR.dc_draw_4px_cb 0xf3f8 f
|
||||
MONITOR.dc_draw_4px_cb.l1 0xf404 f
|
||||
MONITOR.dc_draw_4px_cb.l2 0xf410 f
|
||||
MONITOR.dc_draw_4px_cb.l3 0xf41c f
|
||||
MONITOR.dc_put_pixel 0xf427 f
|
||||
MONITOR.dc_put_pixel.roll 0xf42f f
|
||||
MONITOR.m_font_cp0 0xf451 f
|
||||
MONITOR.m_font_cp1 0xf6f1 f
|
||||
MONITOR.conv_nibble 0xf8b1 f
|
||||
MONITOR.m_hexb 0xf8bb f
|
||||
MONITOR.out_hex 0xf8c4 f
|
||||
MONITOR.m_tape_write_ram2 0xf8cb f
|
||||
MONITOR.m_tape_write_ram2.cl_stack 0xf8d0 f
|
||||
MONITOR.m_tape_write_ram2.nxt_blk 0xf8f2 f
|
||||
MONITOR.twr2_delay 0xf908 f
|
||||
MONITOR.twr2_delay.delay 0xf90b f
|
||||
MONITOR.m_tape_read_ram2 0xf912 f
|
||||
MONITOR.m_tape_read_ram2.srch_first 0xf91d f
|
||||
MONITOR.m_tape_read_ram2.rd_next 0xf93b f
|
||||
MONITOR.m_tape_read_ram2.not_found 0xf95a f
|
||||
MONITOR.m_tape_read_ram2.rd_error 0xf961 f
|
||||
MONITOR.m_tape_read_ram2.inv_id 0xf976 f
|
||||
MONITOR.m_tape_read_ram2.err_ubi 0xf982 f
|
||||
MONITOR.m_tape_read_ram2.err_ibu 0xf98a f
|
||||
MONITOR.m_tape_read_ram2.end 0xf98b f
|
||||
MONITOR.out_hexw 0xf992 f
|
||||
MONITOR.msg_no_start_rec 0xf99d f
|
||||
MONITOR.msg_checksum 0xf9ad f
|
||||
MONITOR.msg_sequence 0xf9b7 f
|
||||
MONITOR.msg_ibg 0xf9c1 f
|
||||
MONITOR.msg_break 0xf9c5 f
|
||||
MONITOR.me_out_strz 0xf9cb f
|
||||
MONITOR.m_ramdisk_read 0xf9d8 f
|
||||
MONITOR.m_ramdisk_read.read 0xf9ea f
|
||||
MONITOR.m_ramdisk_write 0xfa02 f
|
||||
MONITOR.m_ramdisk_write.wr_byte 0xfa14 f
|
||||
MONITOR.m_tape_write 0xfa2c f
|
||||
MONITOR.m_tape_write.l1 0xfa43 f
|
||||
MONITOR.m_tape_write.set_lvl 0xfa55 f
|
||||
MONITOR.m_tape_write.l2 0xfa65 f
|
||||
MONITOR.m_tape_write.next_byte 0xfa83 f
|
||||
MONITOR.m_tape_write.wait_end 0xfa95 f
|
||||
MONITOR.m_tape_wr_byte 0xfaa3 f
|
||||
MONITOR.m_tape_wr_byte.get_bit 0xfaaa f
|
||||
MONITOR.m_tape_wr_byte.wait_t 0xfab0 f
|
||||
MONITOR.m_tape_wr_byte.out_bit 0xface f
|
||||
MONITOR.m_tape_wr_byte.bit_hi 0xfad6 f
|
||||
MONITOR.m_tape_wr_byte.out_bit_hi 0xfaf4 f
|
||||
MONITOR.m_tape_read 0xfafc f
|
||||
MONITOR.m_tape_read.wait_3_changes 0xfb0e f
|
||||
MONITOR.m_tape_read.wait_4th_change 0xfb1f f
|
||||
MONITOR.m_tape_read.wait_f5_marker 0xfb2e f
|
||||
MONITOR.m_tape_read.read_next_b 0xfb52 f
|
||||
MONITOR.m_tape_read.checksum_ok 0xfb6b f
|
||||
MONITOR.m_tape_read.return 0xfb6c f
|
||||
MONITOR.m_tape_read.err_read_blk 0xfb6f f
|
||||
MONITOR.m_tape_read.err_read_id 0xfb73 f
|
||||
MONITOR.m_tape_read.key_pressed 0xfb78 f
|
||||
MONITOR.m_tape_read_byte 0xfb83 f
|
||||
MONITOR.m_tape_read_byte.next_bit 0xfb86 f
|
||||
MONITOR.m_tape_read_byte.ret_err 0xfb9b f
|
||||
MONITOR.m_read_tape_bit 0xfb9d f
|
||||
MONITOR.m_read_tape_bit.wait_change 0xfba2 f
|
||||
MONITOR.read_tape_bit_kbd 0xfbc0 f
|
||||
MONITOR.read_tape_bit_kbd.wait_change 0xfbc5 f
|
||||
MONITOR.read_tape_bit_kbd.key_pressed 0xfbea f
|
||||
MONITOR.m_tape_wait 0xfbed f
|
||||
MONITOR.m_tape_wait.wait_t4 0xfbf1 f
|
||||
MONITOR.m_tape_wait.wait_next_2ms 0xfbf7 f
|
||||
MONITOR.m_tape_wait.wait_tmr_key 0xfc02 f
|
||||
MONITOR.m_tape_wait.wait_no_rst4 0xfc1b f
|
||||
MONITOR.m_tape_wait.key_pressed 0xfc22 f
|
||||
MONITOR.m_tape_blk_detect 0xfc2a f
|
||||
MONITOR.fdc_unload_head 0xfc33 f
|
||||
MONITOR.fdc_unload_head.wait_no_busy 0xfc3d f
|
||||
MONITOR.fdc_unload_head.tr0_ok 0xfc4f f
|
||||
MONITOR.fdc_unload_head.b1 0xfc5e f
|
||||
MONITOR.m_select_drive 0xfc66 f
|
||||
MONITOR.m_select_drive.sel_A 0xfc74 f
|
||||
MONITOR.m_select_drive.sel_B 0xfc76 f
|
||||
MONITOR.m_select_drive.dpar_a 0xfc8b f
|
||||
MONITOR.m_select_drive.dpar_b 0xfc8e f
|
||||
MONITOR.m_select_drive.l_le 0xfcaa f
|
||||
MONITOR.delay_136uS 0xfcb9 f
|
||||
MONITOR.delay_b 0xfcbb f
|
||||
MONITOR.delay_1.4mS 0xfcc0 f
|
||||
MONITOR.m_read_floppy 0xfcc5 f
|
||||
MONITOR.m_write_floppy 0xfcd8 f
|
||||
MONITOR.m_start_seek_track 0xfceb f
|
||||
MONITOR.m_start_floppy 0xfcf4 f
|
||||
MONITOR.m_start_floppy.need_m_start 0xfd00 f
|
||||
MONITOR.m_start_floppy.wait_motor 0xfd0b f
|
||||
MONITOR.m_start_floppy.wait_rdy1 0xfd12 f
|
||||
MONITOR.m_start_floppy.long_delay 0xfd24 f
|
||||
MONITOR.m_start_floppy.mst_exi 0xfd2a f
|
||||
MONITOR.fdc_init 0xfd2c f
|
||||
MONITOR.m_fdc_seek_trk 0xfd38 f
|
||||
MONITOR.m_fdc_seek_trk.drv_b 0xfd51 f
|
||||
MONITOR.m_fdc_seek_trk.cmn 0xfd62 f
|
||||
MONITOR.m_fdc_seek_trk.l1 0xfd8a f
|
||||
MONITOR.m_fdc_seek_trk.l2 0xfd9b f
|
||||
MONITOR.m_fdc_seek_trk.l3 0xfdb2 f
|
||||
MONITOR.m_fdc_seek_trk.l4 0xfdb5 f
|
||||
MONITOR.m_fdc_write_bytes 0xfdbb f
|
||||
MONITOR.m_fdc_write_bytes.w_next 0xfdbe f
|
||||
MONITOR.m_fdc_read_c_bytes 0xfdcc f
|
||||
MONITOR.m_fdc_read_c_bytes.l1 0xfdd2 f
|
||||
MONITOR.m_fdc_read_c_bytes.l2 0xfdd4 f
|
||||
MONITOR.fdc_check_status 0xfde0 f
|
||||
MONITOR.fdc_ret 0xfdea f
|
||||
MONITOR.filler1 0xfdeb f
|
||||
MONITOR.LAST 0xfded l
|
||||
MONITOR.CODE_SIZE 0x1ded l
|
||||
MONITOR.FILL_SIZE 0x213 l
|
||||
MONITOR.FILLER 0xfded f
|
||||
5240
MON_r7_93bd95bd/monitor.asm
Normal file
5240
MON_r7_93bd95bd/monitor.asm
Normal file
File diff suppressed because it is too large
Load Diff
49
MON_r7_93bd95bd/ram.inc
Normal file
49
MON_r7_93bd95bd/ram.inc
Normal file
@ -0,0 +1,49 @@
|
||||
; =======================================================
|
||||
; Ocean-240.2
|
||||
;
|
||||
; RAM area at address: 0x0000 - 0x0100, used by CP/M and
|
||||
; HW-Monitor
|
||||
; By Romych 2026-02-03
|
||||
; =======================================================
|
||||
|
||||
IFNDEF _RAM
|
||||
DEFINE _RAM
|
||||
|
||||
MODULE RAM
|
||||
|
||||
@warm_boot EQU 0x0000 ; Jump warm_boot (Restart)
|
||||
@warm_boot_addr EQU 0x0001 ; address of warm boot entry point
|
||||
@iobyte EQU 0x0003 ; Input/Output mapping
|
||||
@cur_user_drv EQU 0x0004 ; [7:4] - curent user, [3:0] - current drive
|
||||
@jp_bdos_enter EQU 0x0005 ; Jump bdos (CALL 5 to make CP/M requests)
|
||||
@bdos_ent_addr EQU 0x0006 ; addres of BDOS entry point
|
||||
@RST1 EQU 0x0008
|
||||
@RST1_handler_addr EQU 0x0009
|
||||
;RST2 EQU 0x0010
|
||||
;RST3 EQU 0x0018
|
||||
;RST4 EQU 0x0020
|
||||
;RST5 EQU 0x0028
|
||||
;RST6 EQU 0x0030
|
||||
;RST7 EQU 0x0038
|
||||
;reserve1 EQU 0x003b
|
||||
@bios_var0 EQU 0x0040 ; 0xaa - bios init r8
|
||||
@bios_var1 EQU 0x0041 ; 0xaa - bios init r8
|
||||
@bios_var2 EQU 0x0042 ; 0x00 - bios init r8
|
||||
@bios_var3 EQU 0x0043 ; 0xff - bios init r8
|
||||
@interleave_0 EQU 0x0044
|
||||
;reserve2 EQU 0x0050
|
||||
@fcb1 EQU 0x005c ; Default FCB, 16 bytes
|
||||
@fcb2 EQU 0x006c
|
||||
;NMI_ISR EQU 0x0066
|
||||
|
||||
@dma_buffer EQU 0x0080 ; Default "DMA" 128 bytes buffer
|
||||
@p_cmd_line_len EQU 0x0080 ; command line character count
|
||||
@p_cmd_line EQU 0x0081 ; command line buffer
|
||||
@fcb_ra_record_num EQU 0x00a1
|
||||
@bios_stack EQU 0x0100
|
||||
@tpa_start EQU 0x0100 ; start of program
|
||||
@video_ram EQU 0x4000
|
||||
|
||||
ENDMODULE
|
||||
|
||||
ENDIF
|
||||
Loading…
Reference in New Issue
Block a user