прибираемся

This commit is contained in:
Tolik committed 2025-04-05 01:58:39 +10:00
1 parent 9c17418f43
commit f3f3ac6df0
48 files changed
+743 -708

No files matched your search

+159
View File
@@ -0,0 +1,159 @@
;=====================================================================
; � §¡®à ­®¬¥à®¢ ᯥª-ä㭪権
; ¢å®¤: c=­®¬¥à ä㭪樨
; ¢ë室: a=­®¬¥à ¡ ­ª¨ ¯à®æ¥¤ãàë (áâàãªâãàë) ¬¥­¥¤¦¥à 
; hl= ¤à¥á ¯à®æ¥¤ãàë ¬¥­¥¤¦¥à 
; CF - ¯à¨ ®è¨¡ª¥ (­¥¢¥à­ë© ­®¬¥à ä㭪樨)
;=====================================================================
spec_funcs:
push hl
ld l,c ; ­®¬¥à ª®¬ ­¤ë
ld h,SPEC_FUNC / 256 ; 256 ¬«. ¡ ©â  ¤à¥á®¢
ld c,(hl)
inc h ; 256 áâ. ¡ ©â  ¤à¥á®¢
ld h,(hl)
ld l,c ; £®â®¢ë©  ¤à¥á
ex (sp),hl ; ¢ á⥪ ¨
ret ; ¯¥à¥©â¨ ­  ­¥£®
; § £«ã誠
empty__:scf ; ­¥¢¥à­ë© ­®¬¥à ä㭪樨
ret
ds 100h - $ ; ¢ë஢­¨âì ­  £à ­¨æã 0100h
; ’ ¡«¨æ   ¤à¥á®¢ ä㭪権
; ¬«. ¡ ©âë  ¤à¥á®¢
SPEC_FUNC:
db empty__%256, empty__%256, empty__%256, empty__%256 ; 00..03
db empty__%256, empty__%256, empty__%256, empty__%256 ; 04..07
db empty__%256, empty__%256, empty__%256, empty__%256 ; 08..0B
db empty__%256, empty__%256, empty__%256, empty__%256 ; 0C..0F
db empty__%256, empty__%256, empty__%256, empty__%256 ; 10..13
db empty__%256, empty__%256, empty__%256, empty__%256 ; 14..17
db empty__%256, empty__%256, empty__%256, empty__%256 ; 18..1B
db empty__%256, empty__%256, empty__%256, empty__%256 ; 1C..1F
db empty__%256, empty__%256, empty__%256, empty__%256 ; 20..23
db empty__%256, empty__%256, empty__%256, empty__%256 ; 24..27
db empty__%256, empty__%256, empty__%256, empty__%256 ; 28..2B
db empty__%256, empty__%256, empty__%256, empty__%256 ; 2C..2F
db empty__%256, empty__%256, empty__%256, empty__%256 ; 30..33
db empty__%256, empty__%256, empty__%256, empty__%256 ; 34..37
db empty__%256, empty__%256, empty__%256, empty__%256 ; 38..3B
db empty__%256, empty__%256, empty__%256, empty__%256 ; 3C..3F
db empty__%256, empty__%256, empty__%256, empty__%256 ; 40..43
db empty__%256, empty__%256, empty__%256, empty__%256 ; 44..47
db empty__%256, empty__%256, empty__%256, empty__%256 ; 48..4B
db empty__%256, empty__%256, empty__%256, empty__%256 ; 4C..4F
db empty__%256, empty__%256, empty__%256, empty__%256 ; 50..53
db empty__%256, empty__%256, empty__%256, empty__%256 ; 54..57
db empty__%256, empty__%256, empty__%256, empty__%256 ; 58..5B
db empty__%256, empty__%256, empty__%256, empty__%256 ; 5C..5F
db empty__%256, empty__%256, empty__%256, empty__%256 ; 60..63
db empty__%256, empty__%256, empty__%256, empty__%256 ; 64..67
db empty__%256, empty__%256, empty__%256, empty__%256 ; 68..6B
db empty__%256, empty__%256, empty__%256, empty__%256 ; 6C..6F
db empty__%256, empty__%256, empty__%256, empty__%256 ; 70..73
db empty__%256, empty__%256, empty__%256, empty__%256 ; 74..77
db empty__%256, empty__%256, empty__%256, empty__%256 ; 78..7B
db empty__%256, empty__%256, empty__%256, empty__%256 ; 7C..7F
db empty__%256, empty__%256, empty__%256, empty__%256 ; 80..83
db empty__%256, empty__%256, empty__%256, empty__%256 ; 84..87
db empty__%256, empty__%256, empty__%256, empty__%256 ; 88..8B
db empty__%256, empty__%256, empty__%256, empty__%256 ; 8C..8F
db empty__%256, empty__%256, empty__%256, empty__%256 ; 90..93
db empty__%256, empty__%256, empty__%256, empty__%256 ; 94..97
db empty__%256, empty__%256, empty__%256, empty__%256 ; 98..9B
db empty__%256, empty__%256, empty__%256, empty__%256 ; 9C..9F
db empty__%256, empty__%256, empty__%256, empty__%256 ; A0..A3
db empty__%256, empty__%256, empty__%256, empty__%256 ; A4..A7
db empty__%256, empty__%256, empty__%256, empty__%256 ; A8..AB
db empty__%256, empty__%256, empty__%256, empty__%256 ; AC..AF
db empty__%256, empty__%256, empty__%256, empty__%256 ; B0..B3
db empty__%256, empty__%256, empty__%256, empty__%256 ; B4..B7
db empty__%256, empty__%256, empty__%256, empty__%256 ; B8..BB
db empty__%256, empty__%256, empty__%256, empty__%256 ; BC..BF
db empty__%256, empty__%256, empty__%256, empty__%256 ; C0..C3
db empty__%256, empty__%256, empty__%256, empty__%256 ; C4..C7
db empty__%256, empty__%256, empty__%256, empty__%256 ; C8..CB
db empty__%256, empty__%256, empty__%256, empty__%256 ; CC..CF
db empty__%256, empty__%256, empty__%256, empty__%256 ; D0..D3
db empty__%256, empty__%256, empty__%256, empty__%256 ; D4..D7
db empty__%256, empty__%256, empty__%256, empty__%256 ; D8..DB
db empty__%256, empty__%256, empty__%256, empty__%256 ; DC..DF
db empty__%256, empty__%256, empty__%256, empty__%256 ; E0..E3
db empty__%256, empty__%256, empty__%256, empty__%256 ; E4..E7
db empty__%256, empty__%256, empty__%256, empty__%256 ; E8..EB
db empty__%256, empty__%256, empty__%256, empty__%256 ; EC..EF
db empty__%256, empty__%256, empty__%256, empty__%256 ; F0..F3
db empty__%256, empty__%256, empty__%256, empty__%256 ; F4..F7
db empty__%256, empty__%256, empty__%256, empty__%256 ; F8..FB
db empty__%256, empty__%256, empty__%256, empty__%256 ; FC..FF
;
;0300h áâ. ¡ ©âë  ¤à¥á®¢
db empty__/256, empty__/256, empty__/256, empty__/256 ; 00..03
db empty__/256, empty__/256, empty__/256, empty__/256 ; 04..07
db empty__/256, empty__/256, empty__/256, empty__/256 ; 08..0B
db empty__/256, empty__/256, empty__/256, empty__/256 ; 0C..0F
db empty__/256, empty__/256, empty__/256, empty__/256 ; 10..13
db empty__/256, empty__/256, empty__/256, empty__/256 ; 14..17
db empty__/256, empty__/256, empty__/256, empty__/256 ; 18..1B
db empty__/256, empty__/256, empty__/256, empty__/256 ; 1C..1F
db empty__/256, empty__/256, empty__/256, empty__/256 ; 20..23
db empty__/256, empty__/256, empty__/256, empty__/256 ; 24..27
db empty__/256, empty__/256, empty__/256, empty__/256 ; 28..2B
db empty__/256, empty__/256, empty__/256, empty__/256 ; 2C..2F
db empty__/256, empty__/256, empty__/256, empty__/256 ; 30..33
db empty__/256, empty__/256, empty__/256, empty__/256 ; 34..37
db empty__/256, empty__/256, empty__/256, empty__/256 ; 38..3B
db empty__/256, empty__/256, empty__/256, empty__/256 ; 3C..3F
db empty__/256, empty__/256, empty__/256, empty__/256 ; 40..43
db empty__/256, empty__/256, empty__/256, empty__/256 ; 44..47
db empty__/256, empty__/256, empty__/256, empty__/256 ; 48..4B
db empty__/256, empty__/256, empty__/256, empty__/256 ; 4C..4F
db empty__/256, empty__/256, empty__/256, empty__/256 ; 50..53
db empty__/256, empty__/256, empty__/256, empty__/256 ; 54..57
db empty__/256, empty__/256, empty__/256, empty__/256 ; 58..5B
db empty__/256, empty__/256, empty__/256, empty__/256 ; 5C..5F
db empty__/256, empty__/256, empty__/256, empty__/256 ; 60..63
db empty__/256, empty__/256, empty__/256, empty__/256 ; 64..67
db empty__/256, empty__/256, empty__/256, empty__/256 ; 68..6B
db empty__/256, empty__/256, empty__/256, empty__/256 ; 6C..6F
db empty__/256, empty__/256, empty__/256, empty__/256 ; 70..73
db empty__/256, empty__/256, empty__/256, empty__/256 ; 74..77
db empty__/256, empty__/256, empty__/256, empty__/256 ; 78..7B
db empty__/256, empty__/256, empty__/256, empty__/256 ; 7C..7F
db empty__/256, empty__/256, empty__/256, empty__/256 ; 80..83
db empty__/256, empty__/256, empty__/256, empty__/256 ; 84..87
db empty__/256, empty__/256, empty__/256, empty__/256 ; 88..8B
db empty__/256, empty__/256, empty__/256, empty__/256 ; 8C..8F
db empty__/256, empty__/256, empty__/256, empty__/256 ; 90..93
db empty__/256, empty__/256, empty__/256, empty__/256 ; 94..97
db empty__/256, empty__/256, empty__/256, empty__/256 ; 98..9B
db empty__/256, empty__/256, empty__/256, empty__/256 ; 9C..9F
db empty__/256, empty__/256, empty__/256, empty__/256 ; A0..A3
db empty__/256, empty__/256, empty__/256, empty__/256 ; A4..A7
db empty__/256, empty__/256, empty__/256, empty__/256 ; A8..AB
db empty__/256, empty__/256, empty__/256, empty__/256 ; AC..AF
db empty__/256, empty__/256, empty__/256, empty__/256 ; B0..B3
db empty__/256, empty__/256, empty__/256, empty__/256 ; B4..B7
db empty__/256, empty__/256, empty__/256, empty__/256 ; B8..BB
db empty__/256, empty__/256, empty__/256, empty__/256 ; BC..BF
db empty__/256, empty__/256, empty__/256, empty__/256 ; C0..C3
db empty__/256, empty__/256, empty__/256, empty__/256 ; C4..C7
db empty__/256, empty__/256, empty__/256, empty__/256 ; C8..CB
db empty__/256, empty__/256, empty__/256, empty__/256 ; CC..CF
db empty__/256, empty__/256, empty__/256, empty__/256 ; D0..D3
db empty__/256, empty__/256, empty__/256, empty__/256 ; D4..D7
db empty__/256, empty__/256, empty__/256, empty__/256 ; D8..DB
db empty__/256, empty__/256, empty__/256, empty__/256 ; DC..DF
db empty__/256, empty__/256, empty__/256, empty__/256 ; E0..E3
db empty__/256, empty__/256, empty__/256, empty__/256 ; E4..E7
db empty__/256, empty__/256, empty__/256, empty__/256 ; E8..EB
db empty__/256, empty__/256, empty__/256, empty__/256 ; EC..EF
db empty__/256, empty__/256, empty__/256, empty__/256 ; F0..F3
db empty__/256, empty__/256, empty__/256, empty__/256 ; F4..F7
db empty__/256, empty__/256, empty__/256, empty__/256 ; F8..FB
db empty__/256, empty__/256, empty__/256, empty__/256 ; FC..FF
+115
View File
@@ -0,0 +1,115 @@
MODULE VECT
; rst 00h
jp $+3
db -1
db -1
db -1
db -1
db -1
; RST 08h. BIOS calls
push af
ld a,SYS_PORT.BIOS
out (SYS_PORT.ON),a
pop af
ret
db 0C9h
; RST 10h. DOS calls
jp alt10 ; Main.asm
db -1
db -1
db -1
db -1
db -1
; RST 18h
jp alt18 ; Main.asm
db -1
db -1
db -1
db -1
db -1
; rst 20h
jp $+3
db -1
db -1
db -1
db -1
db -1
; rst 28h
rst28: push af
.page+1:
ld a,0 ; á®åà. page_module0
out (SLOT0),a
pop af
jr spec_interrupt
; rst 30h
jp $+3
db -1
db -1
db -1
db -1
db -1
;
; RST 38h. Main Interrupt
jp $+3
di
push iy
push ix
push hl
push de
push bc
push af
ex af,af'
exx
push hl
push de
push bc
push af
;call show_clock ; ®â®¡à ¦¥­¨¥ ç á®¢
;di
ds 4;
pop af
pop bc
pop de
pop hl
exx
ex af,af'
pop af
pop bc
pop de
pop hl
pop ix
pop iy
ei
reti
db -1,-1,-1,-1,-1 ; ­  £à ­¨æã 0064h
;0064h
retn
db 0 ; 0066h (®â ­¥¬ áª. ¯à¥à뢠­¨ï ¢ IM0)
db 0
db 0
jp $-5
;================ Š®­¥æ ¡«®ª  ‚¥ªâ®à®¢ à¥áâ à⮢ =====================
;-------------------------------------------------
; ‚ë§®¢ ®¡à ¡®â稪  #28 à¥áâ àâ .
; ˆá¯®«ì§®¢ âì ᢮© á⥪.
;-------------------------------------------------
spec_interrupt:
ld (.spc_stk),sp
ld sp,spec_stack
call spec_funcs ; ®âà ¡®âª  ä㭪樨
.spc_stk+1:
ld sp,0
jp rst28 ; ¢ª«. 0-î áâà. ä¬
ds 64
spec_stack: ; á⥪ ¡ ­ª¨
ENDMODULE