1
0
mirror of https://github.com/Tolik-Trek/DOOM2.git synced 2026-06-15 00:51:33 +03:00
This commit is contained in:
Anatoliy Belyanskiy 2024-02-24 23:28:34 +10:00
parent 5f9d648c25
commit d120604544
3 changed files with 54 additions and 251 deletions

267
DOOM2.asm
View File

@ -73,11 +73,11 @@ Loader_length EQU 0
; ;
TABLE_X EQU #A000 ; â ¡«¨æ  ª®í䍿¨¥­â®¢ ¢ëá®âë TABLE_X EQU #A000 ; â ¡«¨æ  ª®í䍿¨¥­â®¢ ¢ëá®âë
TABLE_X_SIZE EQU #0800 ; ¥ñ à §¬¥à??? TABLE_X_SIZE EQU #0800 ; ¥ñ à §¬¥à???
MONSTR_TABLE EQU #A800 ; â ¡«¨æ  ¬®­áâ஢ MONSTR_TABLE EQU #A800 ; â ¡«¨æ  ¬®­áâ஢
MONSTR_TABLE_SIZE EQU #1800 ; ¥ñ à §¬¥à??? MONSTR_TABLE_SIZE EQU #1800 ; ¥ñ à §¬¥à???
TABLE_W EQU #2000 ; ⥪ã騥 ª àâë ¤«ï TRACE TABLE_W EQU #2000 ; ⥪ã騥 ª àâë ¤«ï TRACE
; Code start section ; Code start section
@ -95,7 +95,7 @@ TABLE_W EQU #2000 ; ⥪
;[]-------------------------------------------------------------------[] ;[]-------------------------------------------------------------------[]
BEGIN: DI BEGIN: DI
LD (CMD_Line),IX ; á®åà ­¨âì 㪠§ â¥«ì ­  ¯ à ¬¥âàë § ¯ã᪠ LD (CMD_Line),IX ; á®åà ­¨âì 㪠§ â¥«ì ­  ¯ à ¬¥âàë § ¯ã᪠
CMD_Line+1: CMD_Line+1:
LD HL,#8080 LD HL,#8080
CALL SET_HOME_PATH CALL SET_HOME_PATH
@ -109,11 +109,6 @@ CMD_Line+1:
CALL SAVE_ALL CALL SAVE_ALL
; ¢ë¯®«­¥­® ¢ ¢¨¤¥ ª®áâë«ì­®© § £«ã誨 ; ¢ë¯®«­¥­® ¢ ¢¨¤¥ ª®áâë«ì­®© § £«ã誨
CALL Load_Resources CALL Load_Resources
;
;CALL SAVE_TXT_SCREEN
; LD A,Dss.SetVMod.grf320x256
; LD BC,Dss.SetVMod.Screen_1
; RST ToDSS
;--------------------------------------- ;---------------------------------------
@ -123,7 +118,7 @@ CMD_Line+1:
out (c),a out (c),a
; ;
;-----------[§ £«ãè¨âì §¢ãª]------------ ;-----------[§ £«ãè¨âì §¢ãª]------------
LD A,#FF ; !FIXIT à §¢¥ â ª ­ ¤® £«ãè¨âì? <20>¥ à㤨¬¥­âë Sp97? LD A,#FF ; !FIXIT à §¢¥ â ª ­ ¤® £«ãè¨âì? <20>¥ à㤨¬¥­âë Sp97?
1: CALL CLEAR_COVOX_X 1: CALL CLEAR_COVOX_X
DEC A DEC A
CP #80 CP #80
@ -158,18 +153,6 @@ CMD_Line+1:
CALL CLEAR_GRAF_SCR CALL CLEAR_GRAF_SCR
; IN A,(SLOT3)
; PUSH AF
; LD A,3
; OUT (SLOT3),A
; LD HL,PALITRE
; LD DE,#C000
; LD BC,#0400
; LDIR
; POP AF
; OUT (SLOT3),A
CALL SET_PAL CALL SET_PAL
;----[®âªàëâì ¯®àâë ¬ áèâ ¡¨à®¢ ­¨ï]---- ;----[®âªàëâì ¯®àâë ¬ áèâ ¡¨à®¢ ­¨ï]----
@ -180,33 +163,17 @@ CMD_Line+1:
LD DE, %1111'1110'0110'1111 ; ¬ áª  LD DE, %1111'1110'0110'1111 ; ¬ áª 
LD BC,ACEX.SCALE*256 + BIOS.DCP_CONFIG LD BC,ACEX.SCALE*256 + BIOS.DCP_CONFIG
RST ToBIOS RST ToBIOS
; IN A,(SLOT3)
; EX AF,AF'
; LD A,DCP_PAGE
; OUT (SLOT3),A
; LD A,ACEX.SCALE
; LD (#C400),A ; ¯®àâ #XX00 Dos off
; LD (#C410),A ; ¯®àâ #XX00 Dos off
; LD (#C480),A ; ¯®àâ #XX00 Dos off
; LD (#C490),A ; ¯®àâ #XX00 Dos off
; LD (#C500),A ; ¯®àâ #XX00 Dos off
; LD (#C510),A ; ¯®àâ #XX00 Dos off
; LD (#C580),A ; ¯®àâ #XX00 Dos off
; LD (#C590),A ; ¯®àâ #XX00 Dos off
; EX AF,AF'
; OUT (SLOT3),A
; €ªâ¨¢ æ¨ï €ªá¥«ï ¬ áèâ ¡¨à®¢ ­¨ï, ®¡à â­® ⮫쪮 ç¥à¥§ à¥á¥â ; €ªâ¨¢ æ¨ï €ªá¥«ï ¬ áèâ ¡¨à®¢ ­¨ï, ®¡à â­® ⮫쪮 ç¥à¥§ à¥á¥â
LD BC,#0100 ; C - ¬ áèâ ¡ 1:1 LD BC,#0100 ; C - ¬ áèâ ¡ 1:1
OUT (C),C OUT (C),C
;----------------------------------------------------------------------- ;-----------------------------------------------------------------------;
;----------------------------------------------------------------------- ;-----------------------------------------------------------------------;
CALL MAIN CALL MAIN
;----------------------------------------------------------------------- ;-----------------------------------------------------------------------;
;----------------------------------------------------------------------- ;-----------------------------------------------------------------------;
; E)eeeeee X) xx I)iiii T)tttttt ; E)eeeeee X) xx I)iiii T)tttttt
; E) X) xx I) T) ; E) X) xx I) T)
@ -214,10 +181,10 @@ CMD_Line+1:
; E) X)xx I) T) ; E) X)xx I) T)
; E) X) xx I) T) ; E) X) xx I) T)
; E)eeeeee X) xx I)iiii T) ; E)eeeeee X) xx I)iiii T)
;----------------------------------------------------------------------- ;-----------------------------------------------------------------------;
; ;
;-----------[EXIT Procedure]------------; ;----------------[EXIT Procedure]-----------------;
RETURN_POINT: RETURN_POINT:
IN A,(FastRAM.OFF) IN A,(FastRAM.OFF)
LD A,SYS_PORT.BIOS LD A,SYS_PORT.BIOS
@ -237,31 +204,8 @@ RETURN_POINT:
.error: LD C,Dss.Exit .error: LD C,Dss.Exit
RST ToDSS RST ToDSS
JR .loop JR .loop
;--------------------------------------- ;-------------------------------------------------;
;-----------------------------------------------------------------------;
;----[LP_OPEN_S]------------------------
; Žâªàë⨥ áâ ­¤ àâ­ëå ®ª®­
; LD HL,#5104
; LD E,0 ; win_flag - ä« £¨ ®ª­ :
; ; bit 0 ®¯à¥¤¥«ï¥â áâà ­¨æã ०¨¬ , ª®â®à ï ¡ã¤¥â
; ; ®âªàëâ  ¯®á«¥ ¨á¯®«­¥­¨ï ä㭪樨
; LD B,4 ; 4 - ᯥªâà㬮¢áª®¥ ®ª­®, HL - ¯®«®¦¥­¨¥ ®ª­ 
; LD C,BIOS.LP_OPEN_S
; RST ToBIOS
; ;---------------------------------------
; SP_SAVE1:
; LD SP,0
; EXX
; POP HL
; EXX
; POP IX
; POP IY
; EI
; RET
;=======================================
;
SET_PAL_x: SET_PAL_x:
IN A,(FastRAM.OFF) IN A,(FastRAM.OFF)
@ -471,12 +415,10 @@ CLEAR_SP_PAL:
MAIN: CALL INIT_TABLE MAIN: CALL INIT_TABLE
RET C RET C
; IN A,(PORT_Y)
; LD (SAVE_PORT_Y),A
LD A,#C0 LD A,#C0
OUT (PORT_Y),A OUT (PORT_Y),A
CALL RECALC_MAP CALL RECALC_MAP
RET C ; ­ã¦­® «¨???!!! RET C ; ­ã¦­® «¨???!!!
;----!!!!!!!!!!!!!!!!!!!!!!!!!---------- ;----!!!!!!!!!!!!!!!!!!!!!!!!!----------
@ -486,12 +428,6 @@ MAIN: CALL INIT_TABLE
OUT (BorderColor),A OUT (BorderColor),A
CALL CLEAR_SP_PAL CALL CLEAR_SP_PAL
; !FIXIT ¯¥à¥¤¥« âì «®£¨ªã ¯®¤ ­®¢ë© ¡¨®á?
;---[ãáâ ­®¢ª  ᨭåàë, ®ç¨á⪠ íªà ­ ]--
; LD A,2 ; ०¨¬ Pentagon - 320 áâப ¢ íªà ­¥
; LD C,BIOS.FN_SYNC
; RST ToBIOS
;--------------------------------------- ;---------------------------------------
;------[Žâªàë⨥ áâ ­¤ àâ­ëå ®ª®­]------ ;------[Žâªàë⨥ áâ ­¤ àâ­ëå ®ª®­]------
@ -506,13 +442,13 @@ MAIN: CALL INIT_TABLE
; ;
LD HL,#4000 LD HL,#4000
LD E,0 LD E,0
LD B,8 ; £à ä¨ç¥áª®¥ ®ª­® 0, HL - ¯®«®¦¥­¨¥ ®ª­  LD B,8 ; £à ä¨ç¥áª®¥ ®ª­® 0, HL - ¯®«®¦¥­¨¥ ®ª­ 
LD C,BIOS.LP_OPEN_S LD C,BIOS.LP_OPEN_S
RST ToBIOS RST ToBIOS
; ;
LD HL,#5000 LD HL,#5000
LD E,1 LD E,1
LD B,9 ; £à ä¨ç¥áª®¥ ®ª­® 1, HL - ¯®«®¦¥­¨¥ ®ª­  LD B,9 ; £à ä¨ç¥áª®¥ ®ª­® 1, HL - ¯®«®¦¥­¨¥ ®ª­ 
LD C,BIOS.LP_OPEN_S LD C,BIOS.LP_OPEN_S
RST ToBIOS RST ToBIOS
;--------------------------------------- ;---------------------------------------
@ -533,11 +469,7 @@ D2_FRAM_page+1:
LD DE,#1000 LD DE,#1000
LD BC,D2_fram_END-TRACE LD BC,D2_fram_END-TRACE
LDIR LDIR
;
; IFN NORM_syncPORT
; IM 2 ; ¢®â ⥯¥àì ¬®¦­® ¢ª«îç âì
; ENDIF
POP AF POP AF
OUT (SLOT3),A OUT (SLOT3),A
;--------------------------------------- ;---------------------------------------
@ -699,7 +631,7 @@ DM_LOOP:
CALL SOUND CALL SOUND
CALL TRACE ; ¯à®à¨á®¢ª ! CALL TRACE ; ¯à®à¨á®¢ª !
CALL SOUND CALL SOUND
@ -888,7 +820,7 @@ NEXT_BYTE_:
LD (HL),0FFH LD (HL),0FFH
NO_FFING: NO_FFING:
INC HL INC HL
BIT 7,H ;!!!!!¯à®¢¥àª  ­  ª®­¥æ áâà ­¨æë #C000-FFFF!!!!! BIT 7,H ;!!!!!¯à®¢¥àª  ­  ª®­¥æ áâà ­¨æë #C000-FFFF!!!!!
JR NZ,NEXT_BYTE_ JR NZ,NEXT_BYTE_
OUT (C),B OUT (C),B
@ -929,7 +861,7 @@ INIT_TABLE:
LD (SKY_2),A LD (SKY_2),A
; ;
LD HL,TABLE_MAIN+26 LD HL,TABLE_MAIN+26
;LD A,26 ;!HARDCODE ;LD A,26 ;!HARDCODE
;ADD A,L ;ADD A,L
;LD L,A ;LD L,A
LD A,(HL) LD A,(HL)
@ -944,7 +876,7 @@ NEXT_HL_FFING:
PUSH DE PUSH DE
PUSH BC PUSH BC
CALL MADE_FFING ; § ¬¥­  FF- ¬¨ ¯à®§à ç­ëå æ¢¥â®¢ CALL MADE_FFING ; § ¬¥­  FF- ¬¨ ¯à®§à ç­ëå æ¢¥â®¢
POP BC POP BC
POP DE POP DE
@ -977,19 +909,19 @@ NEXT_HL_FFING:
;ADD A,L ;ADD A,L
;LD L,A ;LD L,A
LD A,(TABLE_MAIN+33) LD A,(TABLE_MAIN+33)
LD (EFF_PAGE),A ; §¢ãª ¢ëáâ५  LD (EFF_PAGE),A ; §¢ãª ¢ëáâ५ 
; LD HL,TABLE_MAIN ; LD HL,TABLE_MAIN
; LD A,34 ; LD A,34
; ADD A,L ; ADD A,L
; LD L,A ; LD L,A
LD A,(TABLE_MAIN+34) LD A,(TABLE_MAIN+34)
LD (PAGE_M_PLACE),A ; â ¡«¨æ  á 㣫 ¬¨ ¤«ï ¬®­áâ஢ LD (PAGE_M_PLACE),A ; â ¡«¨æ  á 㣫 ¬¨ ¤«ï ¬®­áâ஢
;--_[—¨â ¥¬ ç¥â¢ñàâë© ¡«®ª â ¡«¨æ H:]---; Tables disk my_tab*.* ;--_[—¨â ¥¬ ç¥â¢ñàâë© ¡«®ª â ¡«¨æ H:]---; Tables disk my_tab*.*
/* /*
LD A,3 ;2 ; ¯®å®¤ã, ª àâ  ã஢­ï ¨ ¥éñ çâ®-â® LD A,3 ;2 ; ¯®å®¤ã, ª àâ  ã஢­ï ¨ ¥éñ çâ®-â®
LD C,0CEH ; ¯®«ãç¨âì ¨¤¥­â¨ä¨ª â®à ¡«®ª  ®â à ¬¤¨áª  LD C,0CEH ; ¯®«ãç¨âì ¨¤¥­â¨ä¨ª â®à ¡«®ª  ®â à ¬¤¨áª 
RST ToBIOS RST ToBIOS
ret c ret c
;--------------------------------------- ;---------------------------------------
@ -1011,8 +943,8 @@ NEXT_HL_FFING:
; ;
;----[—¨â ¥¬ âà¥â¨© ¡«®ª â ¡«¨æ G:]-----; Tables disk mapw*.d2 ;----[—¨â ¥¬ âà¥â¨© ¡«®ª â ¡«¨æ G:]-----; Tables disk mapw*.d2
/* /*
LD A,2 ;1 ; à ¬¤¨áª á⥭®ª LD A,2 ;1 ; à ¬¤¨áª á⥭®ª
LD C,0CEH ; ¯®«ãç¨âì ¨¤¥­â¨ä¨ª â®à ¡«®ª  ®â à ¬¤¨áª  LD C,0CEH ; ¯®«ãç¨âì ¨¤¥­â¨ä¨ª â®à ¡«®ª  ®â à ¬¤¨áª 
RST ToBIOS RST ToBIOS
ret c ret c
;--------------------------------------- ;---------------------------------------
@ -1025,10 +957,10 @@ NEXT_HL_FFING:
LD A,B LD A,B
CP 17 CP 17
CCF CCF
RET C ; B - à §¬¥à à ¬¤¨áª  RET C ; B - à §¬¥à à ¬¤¨áª 
DEC A DEC A
LD (MAP_ELS),A ; ç¨á«® á⥭®ª LD (MAP_ELS),A ; ç¨á«® á⥭®ª
;!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! ;!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
/* /*
@ -1056,7 +988,7 @@ NEXT_HL_FFING:
RST ToBIOS RST ToBIOS
AND A AND A
RET RET
; ;!!!!!!!ᤥ« âì á®åà ­¥­¨¥ áªà¨­è®â®¢ ; ;!TODO ᤥ« âì á®åà ­¥­¨¥ áªà¨­è®â®¢
; LD A,4 ; LD A,4
; LD C,BIOS.GET_RAMD_ST ; ¯®«ãç¨âì ¨¤¥­â¨ä¨ª â®à ¡«®ª  ®â à ¬¤¨áª  ; LD C,BIOS.GET_RAMD_ST ; ¯®«ãç¨âì ¨¤¥­â¨ä¨ª â®à ¡«®ª  ®â à ¬¤¨áª 
; RST ToBIOS ; RST ToBIOS
@ -1076,11 +1008,11 @@ NEXT_HL_FFING:
*/ */
;*************************************** ;***************************************
BLOCK #8700-$,0 ;<E2809A><E282AC>ˆ<E2809A>ˆ BLOCK #8700-$,0 ;<E2809A><E282AC>ˆ<E2809A>ˆ
;!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! ;!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
; âãâ ¢ëà ¢­¨¢ ­¨¥ ­  0 ¢ ¬« ¤è¥¬ ; âãâ ¢ëà ¢­¨¢ ­¨¥ ­  0 ¢ ¬« ¤è¥¬
; ¡¨â¥  ¤à¥á  ; ¡¨â¥  ¤à¥á 
TABLE_MAIN: DS 37 ; ¡ãä¥à ¯®¤ áâà ­¨æë ä ©«  resurses.res +1 TABLE_MAIN: DS 37 ; ¡ãä¥à ¯®¤ áâà ­¨æë ä ©«  resurses.res +1
TABLE_PIC: DS 6 TABLE_PIC: DS 6
;!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! ;!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
@ -1633,40 +1565,6 @@ SAVE_PAL:
XOR A XOR A
OUT (SYS_PORT.OFF),A OUT (SYS_PORT.OFF),A
RET RET
; IN A,(SLOT3)
; PUSH AF
; IN A,(SLOT2)
; OUT (SLOT3),A
; ;
; LD HL,Pal_Restore_Buffer+#4000
; LD DE,0
; LD A,#80 + 0
; LD C,BIOS.PIC_GET_PAL
; RST ToBIOS
; ;
; LD HL,Pal_Restore_Buffer+#4000 + 1024
; LD DE,0
; LD A,#80 + 1
; LD C,BIOS.PIC_GET_PAL
; RST ToBIOS
; ;
; LD HL,Pal_Restore_Buffer+#4000 + 1024+1024
; LD DE,0
; LD A,6
; LD C,BIOS.PIC_GET_PAL
; RST ToBIOS
; ;
; LD HL,Pal_Restore_Buffer+#4000 + 1024+1024+1024
; LD DE,0
; LD A,7
; LD C,BIOS.PIC_GET_PAL
; RST ToBIOS
;
; POP AF
; OUT (SLOT3),A
; RET
;*********************************************************************** ;***********************************************************************
RESTORE_PAL: RESTORE_PAL:
LD A,SYS_PORT.BIOS LD A,SYS_PORT.BIOS
@ -1695,68 +1593,6 @@ RESTORE_PAL:
XOR A XOR A
OUT (SYS_PORT.OFF),A OUT (SYS_PORT.OFF),A
RET RET
;
; IN A,(SLOT2)
; PUSH AF
; OUT (SLOT3),A
; ;
; LD HL,Pal_Restore_Buffer+#4000
; LD DE,0
; LD A,4
; LD BC,#FF*256 + BIOS.PIC_SET_PAL ; ãáâ ­®¢ª  ¯ «¨âàë
; RST ToBIOS
;
; LD HL,Pal_Restore_Buffer+#4000 + 1024
; LD DE,0
; LD A,5
; LD BC,#FF*256 + BIOS.PIC_SET_PAL ; ãáâ ­®¢ª  ¯ «¨âàë
; RST ToBIOS
; ;
; LD HL,Pal_Restore_Buffer+#4000 + 1024+1024
; LD DE,0
; LD A,6
; LD BC,#FF*256 + BIOS.PIC_SET_PAL ; ãáâ ­®¢ª  ¯ «¨âàë
; RST ToBIOS
; ;
; LD HL,Pal_Restore_Buffer+#4000 + 1024+1024+1024
; LD DE,0
; LD A,7
; LD BC,#FF*256 + BIOS.PIC_SET_PAL ; ãáâ ­®¢ª  ¯ «¨âàë
; RST ToBIOS
;
; POP AF
; OUT (SLOT3),A
; RET
;***********************************************************************
;!TODO âãâ ­¥ ¯à®¢¥àï¥âáï ०¨¬ 80 ¨«¨ 40
; DEFINE _TXT_SCREEN #E000
; SAVE_TXT_SCREEN:
; DI
; LD C,BIOS.LP_GET_PLACE
; RST ToBIOS
; LD (LOAD_TXT_SCREEN.CURS),DE
; ;
; XOR A
; LD B,SHARED_PAGE
; LD HL,#2050 ; #2028
; LD DE,#0000
; LD IX,_TXT_SCREEN
; LD C,BIOS.WIN_COPY
; JP ToBIOS
; LOAD_TXT_SCREEN:
; DI
; XOR A
; LD B,SHARED_PAGE
; LD HL,#2050 ; #2028
; LD DE,#0000
; LD IX,_TXT_SCREEN
; LD C,BIOS.WIN_RESTORE
; RST ToBIOS
; ;
; .CURS+1: LD DE,#0000
; LD C,Dss.Locate
; JP ToDSS
;*********************************************************************** ;***********************************************************************
RESTORE_ALL: RESTORE_ALL:
; LD B,3 ; 3 - ãáâ ­®¢ª  CGA ¯ «¨âàë ; LD B,3 ; 3 - ãáâ ­®¢ª  CGA ¯ «¨âàë
@ -1850,39 +1686,6 @@ SCREEN_IN_CACHE:
;*********************************************************************** ;***********************************************************************
CHECK_SYSTEM: CHECK_SYSTEM:
_mCHECK_SYS_VERSIONS MIN_VER.DSS_V, MIN_VER.DSS_M, MIN_VER.DSS_B, MIN_VER.BIOS_V, MIN_VER.BIOS_M _mCHECK_SYS_VERSIONS MIN_VER.DSS_V, MIN_VER.DSS_M, MIN_VER.DSS_B, MIN_VER.BIOS_V, MIN_VER.BIOS_M
; LD C,Dss.Version
; RST ToDSS
; JR C,.Error_DOS
; LD HL,MIN_DSS_VERSION
; EX DE,HL
; SBC HL,DE
; JR C,.Error_DOS
; ;
; LD HL,-(MIN_DSS_BUILD)
; ADD HL,BC
; JR NC,.Error_DOS
; ;
; LD C,BIOS.DRV_VERSION
; RST ToBIOS
; JR C,.Error_BIOS
; LD HL,-(MIN_BIOS_VERSION)
; ADD HL,DE
; RET C
; .Error_BIOS:
; LD HL,.Error_BIOS
; JR .next
; .Error_DOS:
; LD HL,.Error_DSS
; .next: LD C,Dss.PChars
; RST ToDSS
; ;
; LD B,DSS_Error.sys.COMMON_ERROR
; .error: LD C,Dss.Exit
; RST ToDSS
; JR .loop
; .Error_BIOS: DB "\r\nERROR! Uncompatible version of BIOS. Needs version ",TXT_BIOS_VERSION," or higher.\r\n",0
; .Error_DSS: DB "\r\nERROR! Uncompatible version of DSS. Needs version ",TXT_DSS_VERSION," or higher.\r\n",0
;*********************************************************************** ;***********************************************************************
;---------------[Tables]---------------- ;---------------[Tables]----------------
ALIGN 2,0 ALIGN 2,0

View File

@ -187,14 +187,14 @@ SWITCH_SND:
JR SWITCH_SND JR SWITCH_SND
FILE_DATA: FILE_DATA:
DW 0 ; ­ ç «ì­ë© ª« áâ¥à DW 0 ; ­ ç «ì­ë© ª« áâ¥à
DW 0,0 ; ¤«¨­  ä ©«  DW 0,0 ; ¤«¨­  ä ©« 
; ;
DW 0 ; ⥪ã騩 ª« áâ¥à DW 0 ; ⥪ã騩 ª« áâ¥à
DW 0,0 ; ⥪ã饥 ¯®«®¦¥­¨¥ ¢ ä ©«¥ DW 0,0 ; ⥪ã饥 ¯®«®¦¥­¨¥ ¢ ä ©«¥
DW 0 ; ⥪ã騩 ­®¬¥à ᥪâ®à  ¢ ª« áâ¥à¥ DW 0 ; ⥪ã騩 ­®¬¥à ᥪâ®à  ¢ ª« áâ¥à¥
; ;
OPEN_FILE: ; DE - name OPEN_FILE: ; DE - name
CALL FIND_FILE CALL FIND_FILE
RET C RET C
@ -220,12 +220,12 @@ OPEN_FILE: ; DE - name
LD (FILE_DATA+10),HL LD (FILE_DATA+10),HL
LD (FILE_DATA+12),HL LD (FILE_DATA+12),HL
LD IX,(FILE_DATA) ; ­®¬¥à ¯¥à¢®£® ª« áâ¥à  LD IX,(FILE_DATA) ; ­®¬¥à ¯¥à¢®£® ª« áâ¥à 
DEC IX DEC IX
DEC IX ; -2 !!! DEC IX ; -2 !!!
LD HL,0 LD HL,0
SCF SCF
LD DE,(MSD_DATS.CLASTER_LEN + 1) ; ¤«¨­  ª« áâ¥à  ¢ ¡ ©â å LD DE,(MSD_DATS.CLASTER_LEN + 1) ; ¤«¨­  ª« áâ¥à  ¢ ¡ ©â å
RR D RR D
RR E RR E
.SEC_MUL: .SEC_MUL:
@ -294,27 +294,27 @@ FIND_FILE:
HDD_FN: EX AF,AF' HDD_FN: EX AF,AF'
IN A,(FastRAM.OFF) IN A,(FastRAM.OFF)
IN A,(SLOT1) ;IN A,(SLOT1)
PUSH AF ;PUSH AF
IN A,(SLOT3) IN A,(SLOT3)
PUSH AF PUSH AF
LD A,5 ;!FIXIT ;LD A,5 ;!FIXIT
OUT (SLOT1),A ;OUT (SLOT1),A
; ;
LD A,CBL.BUFFER_PAGE LD A,CBL.BUFFER_PAGE
OUT (SLOT3),A OUT (SLOT3),A
IN A,(PORT_Y) IN A,(PORT_Y)
PUSH AF PUSH AF
EX AF,AF' EX AF,AF'
RST ToBIOS ; ç¨â âì ᥪâ®à  á ¢¨­ç¥áâ¥à , äã­ªæ¨ï #45 RST ToBIOS ; ç¨â âì ᥪâ®à  á ¢¨­ç¥áâ¥à , äã­ªæ¨ï #45
; ;
POP AF POP AF
OUT (PORT_Y),A OUT (PORT_Y),A
POP AF POP AF
OUT (SLOT3),A OUT (SLOT3),A
POP AF ;POP AF
OUT (SLOT1),A ;OUT (SLOT1),A
IN A,(FastRAM.ON) ; ¢ª«îç ¥¬ ªíè IN A,(FastRAM.ON) ; ¢ª«îç ¥¬ ªíè
RET RET
; ;
; ;

@ -1 +1 @@
Subproject commit c9539a188d91551738e666770744c6007f0e5b01 Subproject commit 5a5dcf0bd035d2adaaa27d28bb8ed1bd86260d59