Monitor R7 crc32: 93bd95bd disasm

This commit is contained in:
romych committed 2026-02-17 17:32:24 +03:00
1 parent 36d4022af1
commit 1a2570d95f
16 files changed
+6958 -32

No files matched your search

-20
View File
@@ -1,20 +0,0 @@
#!/bin/python3
row = 32
col = 0
width = 7
with open('font.bin', 'rb') as f:
data = f.read()
for b in data:
print("0x{:02x}".format(b), end='')
if col < (width-1):
print(", ", end='')
col = col + 1
if col == width:
col = 0
if row < 127:
print(" ; '{}'".format(chr(row)))
else:
print(" ; xx")
row = row + 1
+20 -19
View File
@@ -11,25 +11,26 @@
MODULE MON_ENTRY
mon_init EQU 0xe000
mon_cold_start 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
ram_disk_read EQU 0xe01e
ram_disk_write EQU 0xe021
mon_res_f1 EQU 0xe024
mon_res_f2 EQU 0xe027
mon_tape_wait EQU 0xe02a
mon_tape_detect EQU 0xe02d
read_floppy EQU 0xe030
write_floppy EQU 0xe033
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
ENDIF
+13 -13
View File
@@ -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