From 45359335b2f09a342e6ff913f5d4366361a4314c Mon Sep 17 00:00:00 2001 From: Anatoliy Belyanskiy Date: Sat, 29 Jul 2023 00:01:29 +1000 Subject: [PATCH] ... --- Shared_Includes | 2 +- src/bios/exp/BIOS_FUNC.asm | 192 ++++++++++++++++++++----------------- src/bios/exp/FUNC_5x.asm | 2 +- 3 files changed, 105 insertions(+), 91 deletions(-) diff --git a/Shared_Includes b/Shared_Includes index 552b44b..b25c377 160000 --- a/Shared_Includes +++ b/Shared_Includes @@ -1 +1 @@ -Subproject commit 552b44b20bb90ad446fbd70d3229a935c89412d3 +Subproject commit b25c3779d6af8abc2970d3a9a55006f43292c86e diff --git a/src/bios/exp/BIOS_FUNC.asm b/src/bios/exp/BIOS_FUNC.asm index 08612e3..3e617ef 100644 --- a/src/bios/exp/BIOS_FUNC.asm +++ b/src/bios/exp/BIOS_FUNC.asm @@ -438,8 +438,6 @@ TAB_FNS: _mInfoALIGN 256,0 ;===========================================================[ 5x TABLE ] -TAB_5xFNS: - ; Drives Numbers: ; 0 FDD ; 1..5 reserved @@ -449,104 +447,110 @@ TAB_5xFNS: ; 9..B reserved ; C CDROM ; D..F reserved - -; Столбец - тип драйва -; строка - номер функции - +TAB_5xFNS: ; --< LOW PART >-- ;-------------------------------------------------------------[ FDD #0 ] ; - DB low FN_RESERVED_5x ;#50 - Дубль. На эту функцию прыгает из основного обработчика - DB low FDD_5x.RESET ;#51 - DB low FDD_5x.LONG_READ ;#52 - DB low FDD_5x.LONG_WRITE ;#53 - DB low FN_ABSENT_5x ;#54 - DB low FDD_5x.READ ;#55 - DB low FDD_5x.WRITE ;#56 - DB low FDD_5x.DETECT ;#57 - DB low FDD_5x.GETMED ;#58 - DB low FDD_5x.SETMED ;#59 + DB low FN_RESERVED_5x ;#50 - Дубль. На эту функцию прыгает из основного обработчика + DB low FDD_5x.RESET ;#51 + DB low FDD_5x.LONG_READ ;#52 + DB low FDD_5x.LONG_WRITE ;#53 + DB low FN_ABSENT_5x ;#54 + DB low FDD_5x.READ ;#55 + DB low FDD_5x.WRITE ;#56 + DB low FDD_5x.DETECT ;#57 + DB low FDD_5x.GETMED ;#58 + DB low FDD_5x.SETMED ;#59 - DB low DRV_VERSION ;#5A - Дубль. На эту функцию прыгает из основного обработчика - DB low FN_RESERVED_5x ;#5B - Дубль. На эту функцию прыгает из основного обработчика - DB low FN_RESERVED_5x ;#5C - Дубль. На эту функцию прыгает из основного обработчика - DB low FN_RESERVED_5x ;#5D - Дубль. На эту функцию прыгает из основного обработчика - DB low FN_RESERVED_5x ;#5E - Дубль. На эту функцию прыгает из основного обработчика - DB low DRV_LIST ;#5F - Дубль. На эту функцию прыгает из основного обработчика + DB low DRV_VERSION ;#5A - Дубль. На эту функцию прыгает из основного обработчика + DB low FN_RESERVED_5x ;#5B - Дубль. На эту функцию прыгает из основного обработчика + DB low FN_RESERVED_5x ;#5C - Дубль. На эту функцию прыгает из основного обработчика + DB low FN_RESERVED_5x ;#5D - Дубль. На эту функцию прыгает из основного обработчика + DB low FN_RESERVED_5x ;#5E - Дубль. На эту функцию прыгает из основного обработчика + DB low DRV_LIST ;#5F - Дубль. На эту функцию прыгает из основного обработчика ; ;---------------------------------------------------------------------[] - _mNoDrive_5xTable 5, 0 +;-----------------------------[ #1..#5 ] + _mNoDrive_5xTable 5, 0 +;-------------------------------------[] ;-------------------------------------------------------[ RAM DRIVE #6 ] ; - DB low FN_RESERVED_5x - DB low FN_ABSENT_5x - DB low RMD_5x.LONG_READ - DB low RMD_5x.LONG_WRITE - DB low FN_ABSENT_5x - DB low RMD_5x.READ - DB low RMD_5x.WRITE - DB low FN_ABSENT_5x - DB low RMD_5x.GETMED - DB low RMD_5x.SETMED + DB low FN_RESERVED_5x + DB low FN_ABSENT_5x + DB low RMD_5x.LONG_READ + DB low RMD_5x.LONG_WRITE + DB low FN_ABSENT_5x + DB low RMD_5x.READ + DB low RMD_5x.WRITE + DB low FN_ABSENT_5x + DB low RMD_5x.GETMED + DB low RMD_5x.SETMED - DB low DRV_VERSION - DB low FN_RESERVED_5x - DB low FN_RESERVED_5x - DB low FN_RESERVED_5x - DB low FN_RESERVED_5x - DB low DRV_LIST + DB low DRV_VERSION + DB low FN_RESERVED_5x + DB low FN_RESERVED_5x + DB low FN_RESERVED_5x + DB low FN_RESERVED_5x + DB low DRV_LIST +;---------------------------------------------------------------------[] + +;---------------------------------[ #7 ] + _mNoDrive_5xTable 1, 0 +;-------------------------------------[] -;-----------------------------[] - _mNoDrive_5xTable 1, 0 ;-------------------------------------------------------------[ HDD #8 ] ; - DB low FN_RESERVED_5x - DB low HDD_5x.RESET - DB low HDD_5x.LONG_READ - DB low HDD_5x.LONG_WRITE - DB low HDD_5x.VERIFY - DB low HDD_5x.READ - DB low HDD_5x.WRITE - DB low HDD_5x.DETECT - DB low HDD_5x.GETMED - DB low HDD_5x.SETMED + DB low FN_RESERVED_5x + DB low HDD_5x.RESET + DB low HDD_5x.LONG_READ + DB low HDD_5x.LONG_WRITE + DB low HDD_5x.VERIFY + DB low HDD_5x.READ + DB low HDD_5x.WRITE + DB low HDD_5x.DETECT + DB low HDD_5x.GETMED + DB low HDD_5x.SETMED - DB low DRV_VERSION - DB low FN_RESERVED_5x - DB low FN_RESERVED_5x - DB low FN_RESERVED_5x - DB low FN_RESERVED_5x - DB low DRV_LIST - -;-----------------------------[] - _mNoDrive_5xTable 3, 0 -;----------------------------------------------------------[ CDROM #C0 ] + DB low DRV_VERSION + DB low FN_RESERVED_5x + DB low FN_RESERVED_5x + DB low FN_RESERVED_5x + DB low FN_RESERVED_5x + DB low DRV_LIST +;---------------------------------------------------------------------[] + +;-----------------------------[ #9..#B ] + _mNoDrive_5xTable 3, 0 +;-------------------------------------[] + +;-----------------------------------------------------------[ CDROM #C ] ; - DB low FN_RESERVED_5x - DB low CD_5x.RESET - DB low CD_5x.LONG_READ - DB low FN_ABSENT_5x - DB low FN_ABSENT_5x - DB low CD_5x.READ - DB low FN_ABSENT_5x - DB low CD_5x.DETECT - DB low FN_ABSENT_5x - DB low FN_ABSENT_5x + DB low FN_RESERVED_5x + DB low CD_5x.RESET + DB low CD_5x.LONG_READ + DB low FN_ABSENT_5x + DB low FN_ABSENT_5x + DB low CD_5x.READ + DB low FN_ABSENT_5x + DB low CD_5x.DETECT + DB low FN_ABSENT_5x + DB low FN_ABSENT_5x - DB low DRV_VERSION - DB low FN_RESERVED_5x - DB low FN_RESERVED_5x - DB low FN_RESERVED_5x - DB low FN_RESERVED_5x - DB low DRV_LIST + DB low DRV_VERSION + DB low FN_RESERVED_5x + DB low FN_RESERVED_5x + DB low FN_RESERVED_5x + DB low FN_RESERVED_5x + DB low DRV_LIST +;---------------------------------------------------------------------[] + +;-----------------------------[ #D..#F ] + _mNoDrive_5xTable 3, 0 +;-------------------------------------[] -;-----------------------------[] - _mNoDrive_5xTable 3, 0 -;-----------------------------[] ; - ; --< HIGH PART >-- ;-------------------------------------------------------------[ FDD #0 ] ; @@ -570,7 +574,9 @@ TAB_5xFNS: ; ;---------------------------------------------------------------------[] - _mNoDrive_5xTable 5, 1 +;-----------------------------[ #1..#5 ] + _mNoDrive_5xTable 5, 1 +;-------------------------------------[] ;-------------------------------------------------------[ RAM DRIVE #6 ] ; @@ -591,9 +597,12 @@ TAB_5xFNS: DB high FN_RESERVED_5x DB high FN_RESERVED_5x DB high DRV_LIST +;---------------------------------------------------------------------[] + +;---------------------------------[ #7 ] + _mNoDrive_5xTable 1, 1 +;-------------------------------------[] -;-----------------------------[] - _mNoDrive_5xTable 1, 1 ;-------------------------------------------------------------[ HDD #8 ] ; DB high FN_RESERVED_5x @@ -613,9 +622,12 @@ TAB_5xFNS: DB high FN_RESERVED_5x DB high FN_RESERVED_5x DB high DRV_LIST +;---------------------------------------------------------------------[] + +;-----------------------------[ #9..#B ] + _mNoDrive_5xTable 3, 1 +;-------------------------------------[] -;-----------------------------[] - _mNoDrive_5xTable 3, 1 ;----------------------------------------------------------[ CDROM #C0 ] ; DB high FN_RESERVED_5x @@ -635,10 +647,12 @@ TAB_5xFNS: DB high FN_RESERVED_5x DB high FN_RESERVED_5x DB high DRV_LIST +;---------------------------------------------------------------------[] -;-----------------------------[] - _mNoDrive_5xTable 3, 1 -;=======================================================================; +;-----------------------------[ #D..#F ] + _mNoDrive_5xTable 3, 1 +;-------------------------------------[] +;======================================================================; ;************************************ ; Вход в функцию по RST18 и RST8 diff --git a/src/bios/exp/FUNC_5x.asm b/src/bios/exp/FUNC_5x.asm index 0e1fc33..5f0a03d 100644 --- a/src/bios/exp/FUNC_5x.asm +++ b/src/bios/exp/FUNC_5x.asm @@ -29,7 +29,7 @@ DRV_LIST: ; ????? PUSH IY LD A,SYS_PAGE OUT (SLOT3),A ; !TODO сделать структурой - LD (IX+0),#04 ; DB 0 ;LEN + LD (IX+0),#04 ; DB 0 ;LEN ;!HARDCODE LD (IX+1),#00 ; DB 0 ;FDD COUNT LD (IX+2),#00 ; DB 0 ;HDD COUNT LD (IX+3),#00 ; DB 0 ;CDROM COUNT