refactoring jack and new monitor r9

This commit is contained in:
Роман Бойков 2026-06-08 18:33:43 +03:00
parent ba98cd404b
commit cdadf337a4
6 changed files with 1010 additions and 553 deletions

3
.gitignore vendored
View File

@ -7,4 +7,5 @@ tmp/
build/
*.lst
*.sld
*.bak
*.BAK

View File

@ -1,10 +1,3 @@
; ===================================================
; Ocean-240.2 computer
; Jumping Jack Game
;
; Disassembled by Romych 2025-03-25
; Patched for Monitor R8
; ===================================================
DEVICE NOSLOT64K
SLDOPT COMMENT WPMEM, ASSERTION, LOGPOINT
@ -389,11 +382,11 @@ wait_game_start:
LD A, H
ADD HL, HL
AND 0x60
JP PE, i_rnd_m1
JP PE, .i_rnd_m1
INC HL
i_rnd_m1:
.i_rnd_m1:
DEC C
JP NZ, .i_rnd_m
JP NZ, .i_rnd_m0
LD (monstr_pos), HL ; 0x27AC
NOP

463
JumpingJack/jack_data.inc Normal file
View File

@ -0,0 +1,463 @@
; ==================================================
; Ocean 240.2
; Jumping Jack Binary data
;
; Disassembled by Romych, 2026-03-24
; ==================================================
j_msg_fin1:
db ASCII_SP, ASCII_ESC, '71' ; Set RUS Charset
db ASCII_FF ; cursor home
db " ^TO-V, ZOLOTA WAM HWATIT DO$"
j_msg_fin2:
db "KONCA VIZNI. OTPRAWLQJTESX NA$"
j_msg_fin3:
db "ZASLUVENNU@ PENSI@. PUSTX$"
j_msg_fin4:
db "POPYTA@T S^ASTXQ DRUGIE $"
j_msg_pres_key:
db ASCII_CR, ASCII_LF, ASCII_ESC, '71' ; Set RUS Charset
db ASCII_TAB, "nAVMI KLAWI[U $" ; Нажми клавишу
db " $"
game_line:
db 32 ; 80 - final
save_vmode:
db 0x62
BYTE_ram_0cbc:
db 0x00
j_arr_src_00:
ds 32, 0xff
lvl_plane_0:
ds 32, 0
j_arr_src1:
; DS 32
db 0x18, 0x00, 0x3C, 0x00, 0x42, 0x00, 0x66, 0x00
db 0x5A, 0x00, 0x3C, 0x00, 0x18, 0x00, 0x3C, 0x00
db 0x5A, 0x00, 0xA5, 0x00, 0x24, 0x00, 0x24, 0x00
db 0x42, 0x00, 0x42, 0x00, 0x42, 0x00, 0xc3, 0x00
j_arr_src2:
; DS 32
db 0x30, 0x00, 0x78, 0x00, 0x84, 0x00, 0xCC, 0x00
db 0xb4, 0x00, 0x78, 0x00, 0x30, 0x00, 0x78, 0x00
db 0xb4, 0x00, 0x4A, 0x01, 0x48, 0x00, 0x48, 0x00
db 0x84, 0x00, 0x84, 0x00, 0x84, 0x00, 0x86, 0x01
j_arr_src3:
; DS 32
db 0x60, 0x00, 0xf0, 0x00, 0x08, 0x01, 0x98, 0x01
db 0x68, 0x01, 0xf0, 0x00, 0x60, 0x00, 0xf0, 0x00
db 0x68, 0x01, 0x94, 0x02, 0x90, 0x00, 0x90, 0x00
db 0x08, 0x01, 0x08, 0x01, 0x08, 0x01, 0x0C, 0x03
j_arr_src4:
; DS 32
db 0xc0, 0x00, 0xe0, 0x01, 0x10, 0x02, 0x30, 0x03
db 0xD0, 0x02, 0xe0, 0x01, 0xc0, 0x00, 0xe0, 0x01
db 0xD0, 0x02, 0x28, 0x05, 0x20, 0x01, 0x20, 0x01
db 0x10, 0x02, 0x10, 0x02, 0x10, 0x02, 0x18, 0x06
j_arr_src5:
; DS 32
db 0x80, 0x01, 0xc0, 0x03, 0x20, 0x04, 0x60, 0x06
db 0xa0, 0x05, 0xc0, 0x03, 0x80, 0x01, 0xc0, 0x03
db 0xa0, 0x05, 0x50, 0x0A, 0x40, 0x02, 0x40, 0x02
db 0x20, 0x04, 0x20, 0x04, 0x20, 0x04, 0x30, 0x0C
j_arr_src6:
; DS 32
db 0x00, 0x03, 0x80, 0x07, 0x40, 0x08, 0xc0, 0x0C
db 0x40, 0x0b, 0x80, 0x07, 0x00, 0x03, 0x80, 0x07
db 0x40, 0x0b, 0xa0, 0x14, 0x80, 0x04, 0x80, 0x04
db 0x40, 0x08, 0x40, 0x08, 0x40, 0x08, 0x60, 0x18
j_arr_src7:
; DS 32
db 0x00, 0x06, 0x00, 0x0f, 0x80, 0x10, 0x80, 0x19
db 0x80, 0x16, 0x00, 0x0f, 0x00, 0x06, 0x00, 0x0f
db 0x80, 0x16, 0x40, 0x29, 0x00, 0x09, 0x00, 0x09
db 0x80, 0x10, 0x80, 0x10, 0x80, 0x10, 0xc0, 0x30
j_arr_src8:
; DS 32
db 0x00, 0x0C, 0x00, 0x1E, 0x00, 0x21, 0x00, 0x33
db 0x00, 0x2D, 0x00, 0x1E, 0x00, 0x0C, 0x00, 0x1E
db 0x00, 0x2D, 0x80, 0x52, 0x00, 0x12, 0x00, 0x12
db 0x00, 0x21, 0x00, 0x21, 0x00, 0x21, 0x80, 0x61
j_arr_src9:
; DS 32
db 0x00, 0x18, 0x00, 0x3C, 0x00, 0x42, 0x00, 0x66
db 0x00, 0x5A, 0x00, 0x3C, 0x00, 0x18, 0x00, 0x3C
db 0x00, 0x5A, 0x00, 0xA5, 0x00, 0x24, 0x00, 0x24
db 0x00, 0x42, 0x00, 0x42, 0x00, 0x42, 0x00, 0xc3
j_arr_src10:
; DS 32
db 0x18, 0x00, 0x3C, 0x00, 0x42, 0x00, 0x66, 0x00
db 0x5A, 0x00, 0x3C, 0x00, 0x18, 0x00, 0x3C, 0x00
db 0x5A, 0x00, 0xA5, 0x00, 0x24, 0x00, 0x24, 0x00
db 0x42, 0x00, 0x42, 0x00, 0x42, 0x00, 0xc3, 0x00
j_arr_src11:
; DS 32
db 0x30, 0x00, 0x78, 0x00, 0x84, 0x00, 0xCC, 0x00
db 0xb4, 0x00, 0x78, 0x00, 0x30, 0x00, 0x78, 0x00
db 0xb4, 0x00, 0x4A, 0x01, 0x48, 0x00, 0x48, 0x00
db 0x84, 0x00, 0x84, 0x00, 0x84, 0x00, 0x86, 0x01
j_arr_src12:
; DS 32
db 0x60, 0x00, 0xf0, 0x00, 0x08, 0x01, 0x98, 0x01
db 0x68, 0x01, 0xf0, 0x00, 0x60, 0x00, 0xf0, 0x00
db 0x68, 0x01, 0x94, 0x02, 0x90, 0x00, 0x90, 0x00
db 0x08, 0x01, 0x08, 0x01, 0x08, 0x01, 0x0C, 0x03
j_arr_src13:
; DS 32
db 0xc0, 0x00, 0xe0, 0x01, 0x10, 0x02, 0x30, 0x03
db 0xD0, 0x02, 0xe0, 0x01, 0xc0, 0x00, 0xe0, 0x01
db 0xD0, 0x02, 0x28, 0x05, 0x20, 0x01, 0x20, 0x01
db 0x10, 0x02, 0x10, 0x02, 0x10, 0x02, 0x18, 0x06
j_arr_src14:
; DS 32
db 0x80, 0x01, 0xc0, 0x03, 0x20, 0x04, 0x60, 0x06
db 0xa0, 0x05, 0xc0, 0x03, 0x80, 0x01, 0xc0, 0x03
db 0xa0, 0x05, 0x50, 0x0A, 0x40, 0x02, 0x40, 0x02
db 0x20, 0x04, 0x20, 0x04, 0x20, 0x04, 0x30, 0x0C
j_arr_src15:
; DS 32
db 0x00, 0x03, 0x80, 0x07, 0x40, 0x08, 0xc0, 0x0C
db 0x40, 0x0b, 0x80, 0x07, 0x00, 0x03, 0x80, 0x07
db 0x40, 0x0b, 0xa0, 0x14, 0x80, 0x04, 0x80, 0x04
db 0x40, 0x08, 0x40, 0x08, 0x40, 0x08, 0x60, 0x18
j_arr_src16:
; DS 32
db 0x00, 0x06, 0x00, 0x0f, 0x80, 0x10, 0x80, 0x19
db 0x80, 0x16, 0x00, 0x0f, 0x00, 0x06, 0x00, 0x0f
db 0x80, 0x16, 0x40, 0x29, 0x00, 0x09, 0x00, 0x09
db 0x80, 0x10, 0x80, 0x10, 0x80, 0x10, 0xc0, 0x30
j_arr_src17:
; DS 32
db 0x00, 0x0C, 0x00, 0x1E, 0x00, 0x21, 0x00, 0x33
db 0x00, 0x2D, 0x00, 0x1E, 0x00, 0x0C, 0x00, 0x1E
db 0x00, 0x2D, 0x80, 0x52, 0x00, 0x12, 0x00, 0x12
db 0x00, 0x21, 0x00, 0x21, 0x00, 0x21, 0x80, 0x61
j_arr_src18:
; DS 32
db 0x00, 0x18, 0x00, 0x3C, 0x00, 0x42, 0x00, 0x66
db 0x00, 0x5A, 0x00, 0x3C, 0x00, 0x18, 0x00, 0x3C
db 0x00, 0x5A, 0x00, 0xA5, 0x00, 0x24, 0x00, 0x24
db 0x00, 0x42, 0x00, 0x42, 0x00, 0x42, 0x00, 0xc3
j_player_tlt_c1:
; frame: 0
db 0x38, 0x00, 0x7C, 0x00, 0xB6, 0x00, 0x93, 0x00
db 0x5C, 0x00, 0x3C, 0x00, 0x19, 0x00, 0x7A, 0x00
db 0x5C, 0x00, 0x57, 0x00, 0x11, 0x00, 0x11, 0x00
db 0x21, 0x00, 0x41, 0x00, 0x80, 0x00, 0x80, 0x00
; frame: 1
db 0xe0, 0x00, 0xf0, 0x01, 0xD8, 0x02, 0x4C, 0x02
db 0x70, 0x01, 0xf0, 0x00, 0x62, 0x00, 0xF4, 0x01
db 0xE8, 0x00, 0x50, 0x00, 0x48, 0x06, 0x44, 0x01
db 0x82, 0x00, 0x02, 0x00, 0x02, 0x00, 0x03, 0x00
; frame: 2
db 0x80, 0x03, 0xc0, 0x07, 0x60, 0x0b, 0x30, 0x09
db 0xc0, 0x05, 0xc0, 0x03, 0x80, 0x01, 0xc0, 0x01
db 0xc0, 0x01, 0xf0, 0x01, 0x80, 0x01, 0x80, 0x01
db 0x80, 0x07, 0x00, 0x05, 0x00, 0x01, 0x80, 0x01
; frame: 3
db 0x00, 0x0e, 0x00, 0x1F, 0x80, 0x2D, 0xc0, 0x24
db 0x00, 0x17, 0x00, 0x0f, 0x00, 0x06, 0x00, 0x0f
db 0x80, 0x16, 0x40, 0x26, 0x00, 0x15, 0x80, 0x04
db 0x00, 0x09, 0x00, 0x0A, 0x00, 0x11, 0x00, 0x20
j_player_tlt_c0:
; frame: 0
db 0x38, 0x00, 0x7C, 0x00, 0xB6, 0x00, 0x93, 0x00
db 0x5C, 0x00, 0x3C, 0x00, 0x19, 0x00, 0x7A, 0x00
db 0x5C, 0x00, 0x57, 0x00, 0x11, 0x00, 0x11, 0x00
db 0x21, 0x00, 0x41, 0x00, 0x80, 0x00, 0x80, 0x00
; frame: 1
db 0xe0, 0x00, 0xf0, 0x01, 0xD8, 0x02, 0x4C, 0x02
db 0x70, 0x01, 0xf0, 0x00, 0x62, 0x00, 0xF4, 0x01
db 0xE8, 0x00, 0x50, 0x00, 0x48, 0x06, 0x44, 0x01
db 0x82, 0x00, 0x02, 0x00, 0x02, 0x00, 0x03, 0x00
; frame: 2
db 0x80, 0x03, 0xc0, 0x07, 0x60, 0x0b, 0x30, 0x09
db 0xc0, 0x05, 0xc0, 0x03, 0x80, 0x01, 0xc0, 0x01
db 0xc0, 0x01, 0xf0, 0x01, 0x80, 0x01, 0x80, 0x01
db 0x80, 0x07, 0x00, 0x05, 0x00, 0x01, 0x80, 0x01
; frame: 3
db 0x00, 0x0e, 0x00, 0x1F, 0x80, 0x2D, 0xc0, 0x24
db 0x00, 0x17, 0x00, 0x0f, 0x00, 0x06, 0x00, 0x0f
db 0x80, 0x16, 0x40, 0x26, 0x00, 0x15, 0x80, 0x04
db 0x00, 0x09, 0x00, 0x0A, 0x00, 0x11, 0x00, 0x20
j_player_trt_c1:
; Frame 0
db 0x70, 0x00, 0xF8, 0x00, 0xb4, 0x01, 0x24, 0x03
db 0xE8, 0x00, 0xf0, 0x00, 0x60, 0x02, 0x78, 0x01
db 0xE8, 0x00, 0xA8, 0x03, 0x20, 0x02, 0x20, 0x02
db 0x10, 0x02, 0x08, 0x06, 0x04, 0x00, 0x04, 0x00
; Frame 1
db 0xc0, 0x01, 0xe0, 0x03, 0xD0, 0x06, 0x90, 0x0C
db 0xa0, 0x03, 0xc0, 0x03, 0x80, 0x11, 0xe0, 0x0b
db 0xc0, 0x05, 0x80, 0x02, 0x98, 0x04, 0xa0, 0x08
db 0x40, 0x10, 0x00, 0x10, 0x00, 0x10, 0x00, 0x30
; Frame 2
db 0x00, 0x07, 0x80, 0x0f, 0x40, 0x1B, 0x40, 0x32
db 0x80, 0x0e, 0x00, 0x0f, 0x00, 0x06, 0x00, 0x0e
db 0x00, 0x0e, 0x00, 0x3E, 0x00, 0x06, 0x00, 0x06
db 0x80, 0x07, 0x80, 0x02, 0x00, 0x02, 0x00, 0x06
; Frame 3
db 0x00, 0x1C, 0x00, 0x3E, 0x00, 0x6D, 0x00, 0xc9
db 0x00, 0x3A, 0x00, 0x1C, 0x00, 0x18, 0x00, 0x3C
db 0x00, 0x5A, 0x00, 0x99, 0x00, 0x2A, 0x00, 0x48
db 0x00, 0x24, 0x00, 0x14, 0x00, 0x22, 0x00, 0x01
j_player_trt_c0:
; Frame 0
db 0x70, 0x00, 0xF8, 0x00, 0xb4, 0x01, 0x24, 0x03
db 0xE8, 0x00, 0xf0, 0x00, 0x60, 0x02, 0x78, 0x01
db 0xE8, 0x00, 0xA8, 0x03, 0x20, 0x02, 0x20, 0x02
db 0x10, 0x02, 0x08, 0x06, 0x04, 0x00, 0x04, 0x00
; Frame 1
db 0xc0, 0x01, 0xe0, 0x03, 0xD0, 0x06, 0x90, 0x0C
db 0xa0, 0x03, 0xc0, 0x03, 0x80, 0x11, 0xe0, 0x0b
db 0xc0, 0x05, 0x80, 0x02, 0x98, 0x04, 0xa0, 0x08
db 0x40, 0x10, 0x00, 0x10, 0x00, 0x10, 0x00, 0x30
; Frame 2
db 0x00, 0x07, 0x80, 0x0f, 0x40, 0x1B, 0x40, 0x32
db 0x80, 0x0e, 0x00, 0x0f, 0x00, 0x06, 0x00, 0x0e
db 0x00, 0x0e, 0x00, 0x3E, 0x00, 0x06, 0x00, 0x06
db 0x80, 0x07, 0x80, 0x02, 0x00, 0x02, 0x00, 0x06
; Frame 3
db 0x00, 0x1C, 0x00, 0x3E, 0x00, 0x6D, 0x00, 0xc9
db 0x00, 0x3A, 0x00, 0x1C, 0x00, 0x18, 0x00, 0x3C
db 0x00, 0x5A, 0x00, 0x99, 0x00, 0x2A, 0x00, 0x48
db 0x00, 0x24, 0x00, 0x14, 0x00, 0x22, 0x00, 0x01
; Death player
j_play_death_c0:
; DS 32
db 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
db 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 0x80, 0x0f
db 0xc0, 0x16, 0x60, 0x12, 0x80, 0x1B, 0x80, 0x07
db 0x10, 0x07, 0x28, 0x0b, 0x44, 0x13, 0x83, 0x23
j_play_death_c1:
; DS 32
db 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
db 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 0x80, 0x0f
db 0xc0, 0x16, 0x60, 0x12, 0x80, 0x1B, 0x80, 0x07
db 0x10, 0x07, 0x28, 0x0b, 0x44, 0x13, 0x83, 0x23
; Emty array to erase player plane 0
j_player_era_c0:
ds 32, 0
; Emty array to erase player plane 1
j_player_era_c1:
ds 32, 0
; Treashure chest 24x24 pix
; color bit 1
j_chest_c1:
; Col: 0
db 0x00, 0x00, 0x3F, 0x00, 0xe0, 0x13, 0x00, 0x7C
db 0x0C, 0x80, 0x8F, 0x07, 0xf0, 0xc1, 0x03, 0x98
db 0xC0, 0x01, 0x44, 0xc0, 0x00, 0x22, 0x40, 0x00
; Col: 1
db 0x11, 0xFE, 0x0F, 0x09, 0xFF, 0xFF, 0xC5, 0xFF
db 0xBF, 0xF3, 0xFF, 0x87, 0xF1, 0xFF, 0xc0, 0xFD
db 0x3F, 0x86, 0xFF, 0x0f, 0x99, 0x03, 0x86, 0xa0
; Col: 2
db 0x23, 0x46, 0x92, 0x53, 0x26, 0x88, 0x8B, 0xC6
db 0x84, 0x23, 0x07, 0xE3, 0x8B, 0x16, 0x1C, 0x53
db 0x86, 0x03, 0x23, 0x66, 0x00, 0xFF, 0x17, 0x00
; treashure chest color bit 0
j_chest_c0:
; Col: 0
db 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
db 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
db 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
; Col: 1
db 0x00, 0xfe, 0x0f, 0x00, 0xFF, 0x3F, 0xc0, 0xFF
db 0x07, 0xf0, 0xFF, 0x00, 0xf0, 0x3F, 0x00, 0xFC
db 0x0f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
; Col: 2
db 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
db 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
db 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
j_gravecross_c0:
;db[16]
db 0x18, 0x18, 0x18, 0x18, 0x7E, 0x7E, 0x18, 0x18
db 0x58, 0x38, 0x1C, 0x1A, 0x18, 0x18, 0x18, 0x18
j_gravecross_c1:
ds 16,0
player_turn_frame:
db 0
player_tf2:
db 0x00
lvl_mrg_ctr:
db 0x00
j_monster_off:
db 0
j_lifes_param:
db 1
skip_frames:
db 0x1
random_w:
dw 0x13C6
j_addr_75:
dw 0xC0D8
j_lvl_draw_addr:
dw 0xC0B8
j_player_addr:
dw 0xC0C8
j_chest_addr:
dw 0xC400
first_lvl0_addr:
; pg0
db 0x3F, 0x00, 0x00, 0xc0, 0xFF, 0xFF, 0x3F, 0x00
db 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
db 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
db 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
; pg1
db 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
db 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
db 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
db 0xc0, 0xFF, 0xFF, 0x3F, 0x00, 0x00, 0xc0, 0xFF
; pg2
db 0xFF, 0x3F, 0x00, 0x00, 0xc0, 0xFF, 0xFF, 0x3F
db 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
db 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
db 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
; pg3
ds 32, 0
; pg4
db 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
db 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
db 0x00, 0x00, 0xc0, 0xFF, 0xFF, 0x3F, 0x00, 0x00
db 0xc0, 0xFF, 0xFF, 0x3F, 0x00, 0x00, 0x00, 0x00
; pg5
db 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
db 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
db 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
db 0x00, 0x00, 0x00, 0x00, 0xc0, 0xFF, 0xFF, 0xBF
last_lvl0_addr EQU $-1
full_lvl_size EQU last_lvl0_addr-first_lvl0_addr+1
first_lvl1_addr:
; pg0
db 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
db 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
db 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
db 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
; pg1
ds 32, 0
; pg2
ds 32,0
; pg3
db 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
db 0x00, 0xFC, 0xFF, 0xFF, 0x03, 0x00, 0x00, 0xFC
db 0xFF, 0xFF, 0x03, 0x00, 0x00, 0xFC, 0xFF, 0xFF
db 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
; pg4
db 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
db 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
db 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
db 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFC
; pg5
db 0xFF, 0xFF, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00
db 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
db 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
db 0x00, 0x00, 0x00, 0x00, 0xFC, 0xFF, 0xFF, 0x03
last_lvl1_addr EQU $-1
lvl_merged_0:
; DS 32
db 0xc0, 0xFF, 0xFF, 0x3F, 0x00, 0x00, 0xc0, 0xFF
db 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF
db 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF
db 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF
lvl_merged_1:
; DS 32
db 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF
db 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF
db 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF
db 0x3F, 0x00, 0x00, 0xc0, 0xFF, 0xFF, 0x3F, 0x00
lvl_merged_2:
; DS 32
db 0x00, 0xc0, 0xFF, 0xFF, 0x3F, 0x00, 0x00, 0xc0
db 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF
db 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF
db 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF
lvl_merged_3:
; DS 32
db 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF
db 0xFF, 0x03, 0x00, 0x00, 0xFC, 0xFF, 0xFF, 0x03
db 0x00, 0x00, 0xFC, 0xFF, 0xFF, 0x03, 0x00, 0x00
db 0xFC, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF
lvl_merged_4:
; DS 32
db 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF
db 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF
db 0xFF, 0xFF, 0x3F, 0x00, 0x00, 0xc0, 0xFF, 0xFF
db 0x3F, 0x00, 0x00, 0xc0, 0xFF, 0xFF, 0xFF, 0x03
lvl_merged_5:
; DS 32
db 0x00, 0x00, 0xFC, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF
db 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF
db 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF
db 0xFF, 0xFF, 0xFF, 0xFF, 0x03, 0x00, 0x00, 0x40

View File

@ -144,7 +144,7 @@ MAX_MOD EQU 0x0F
FCB_INFO_LEN EQU 15 ; length of FCB info bytes to match
;NXT_REC EQU 0x20
; ------------------------------------------------------
PIC_POLL_MODE EQU 0x0A
PIC_POLL_MODE EQU 0b00001010
PORT_C4 EQU 0x10
PRINTER_ACK EQU 0x10
PRINTER_IRQ EQU 0x08

View File

@ -135,16 +135,16 @@ m_start:
OUT (TMR_DD70C2), A
.conf_pic:
; Config PIC
LD A,00010010b ; ICW1 edge trigger, interval 8, sin...
LD A,00010010b ; ICW1 edge trigger, interval 8, single, no ICW4
OUT (PIC_DD75RS), A
XOR A
OUT (PIC_DD75RM), A ; ICW2
OUT (PIC_DD75RM), A ; ICW2 Interrupt vector address
CPL
OUT (PIC_DD75RM), A ; ICW3 no slave
LD A,00100000b
OUT (PIC_DD75RS), A ; Non-specific EOI command, End of I...
LD A, PIC_POLL_MODE
OUT (PIC_DD75RS), A ; Poll mode, poll on next RD
LD A, PIC_POLL_MODE ; 00001010
OUT (PIC_DD75RS), A ; Poll mode, Read IRR by next #RD
LD A, 0x80
OUT (KBD_DD78PC), A ; TODO: - Check using this 7th bit

File diff suppressed because it is too large Load Diff