- для тестирования Audio-CD и BIOS добавлены команды READTOC и CLOSETOC.

This commit is contained in:
savelij13 2025-07-13 18:55:55 +03:00
parent 194e7a1fca
commit 80161c02af
6 changed files with 134 additions and 45 deletions

Binary file not shown.

View File

@ -1,5 +1,5 @@
CDROM Extension utility v1.03
CDROM Extension utility v1.04
(c) Sprinter Team, 2025
@ -20,6 +20,10 @@ LIST [\cd\path\] [pattern] --
COPY \source \destination -- ª®¯¨à®¢ âì ä ©«ë
DUMP sector [offset] -- ¯®ª § âì ¤ ¬¯ ᥪâ®à  ¤¨áª 
SEND hexline ["." separator] -- ®â¯à ¢ª  ATAPI ¯ ª¥â 
READTOC -- ç⥭¨¥ TOC Audio-CD ¨ ¯®ª § áâ âãá  ç⥭¨ï ¨ ª®«¨ç¥á⢠
¤®à®¦¥ª ­  ¤¨áª¥.
CLOSETOC --  ­ «®£¨ç­® READTOC, ­® ¯¥à¥¤ ç⥭¨¥¬ ¯à¨­ã¤¨â¥«ì­®
¯®¤ ¥âáï ª®¬ ­¤  § ªàëâ¨ï âà¥ï.
Š«îç¨:
@ -55,6 +59,10 @@ LIST [\cd\path\] [pattern] -- show file(s)
COPY \source \destination -- copy file(s) from CD-ROM to another disk
DUMP sector [offset] -- show sector dump from CD-ROM
SEND hexline ["." separator] -- send ATAPI packet
READTOC -- reading the TOC Audio CD and showing the reading status and quantity
tracks on the disc.
CLOSETOC -- similar to READTOC, but forced before reading
the command to close the tray is given.
Switches:
-h,? -- help page

View File

@ -1,5 +1,9 @@
‚¥àá¨ï 1.04
- ¤«ï â¥áâ¨à®¢ ­¨ï Audio-CD ¨ BIOS ¤®¡ ¢«¥­ë ª®¬ ­¤ë
READTOC ¨ CLOSETOC.
<EFBFBD>ЅрсЈя 1.03
- ¯®¯à ¢«¥­ cdx.txt
- ¯®¯à ¢«¥­ cdx.txt.
- ЄЎЁ ЋЅ­  ЂЎЇЌЎІ­Ўсть ЏЎсЋ ть ATAPI Џ ЊЅт.
- ¥á«¨ ­¥â ¤¨áª  ¢ ¯à¨¢®¤¥, â® ­¥ ¯¨è¥â ®è¨¡ªã, çâ® ­¥â ¯à¨¢®¤ 
- ¥á«¨ ­¥â ¤¨áª  ¢ ¯à¨¢®¤¥, â® ­¥ ¯¨è¥â ®è¨¡ªã, çâ® ­¥â ¯à¨¢®¤ .

47
cdx.a80
View File

@ -1,5 +1,5 @@
; LAST UPDATE: 07.07.2025 savelij
; LAST UPDATE: 13.07.2025 savelij
include macros.a80
include bios_sp.a80
@ -389,23 +389,25 @@ MSG0 DB 0
DZ "Closing tray..."
; 01234567890123456789012345678901234567890123456789012345678901234567890123456789
_SETVAR .MSG_USAGE
DB " Usage: CDX.EXE [-switches] [command] [param1] [param2]\r\n\r\n"
DB "Commands:\r\n"
DB " CDX OPEN - Open tray\r\n"
DB " CDX CLOSE - Close tray\r\n"
DB " CDX LIST [\\cd_path\\][pattern] - Show CDROM filelist\r\n"
DB " CDX COPY \\source d:\\destination\\ - Copy file(s) from CDROM to another disk\r\n"
DB " CDX DUMP sector [offset] - Show sector dump from CDROM\r\n"
DB " CDX SEND hexline [\".\" separator] - Send ATAPI command\r\n"
DB " example:\r\n"
DB " CDX SEND 4B.000000.0000000000000000.00000000\r\n"
DB "\r\n"
DB "Switches:\r\n"
DB " -1 CDROM installed as Primary IDE Master device\r\n"
DB " -2 CDROM installed as Primary IDE Slave device\r\n"
DB " -3 CDROM installed as Secondary IDE Master device\r\n"
DB " -4 CDROM installed as Secondary IDE Slave device\r\n"
DZ " -h,? Help page\r\n"
DB " Usage: CDX.EXE [-switches] [command] [param1] [param2]\r\n\r\n"
DB "Commands:\r\n"
DB " CDX OPEN - Open tray\r\n"
DB " CDX CLOSE - Close tray\r\n"
DB " CDX LIST [\\cd_path\\][pattern] - Show CDROM filelist\r\n"
DB " CDX COPY \\source d:\\destination\\ - Copy file(s) from CDROM to another disk\r\n"
DB " CDX DUMP sector [offset] - Show sector dump from CDROM\r\n"
DB " CDX SEND hexline [\".\" separator] - Send ATAPI command\r\n"
DB " example:\r\n"
DB " CDX SEND 4B.000000.0000000000000000.00000000\r\n"
DB "\r\n"
DB " CDX READTOC - Read TOC Audio-CD\r\n"
DB " CDX CLOSETOC - Close tray and read TOC Audio-CD\r\n"
DB "Switches:\r\n"
DB " -1 CDROM installed as Primary IDE Master device\r\n"
DB " -2 CDROM installed as Primary IDE Slave device\r\n"
DB " -3 CDROM installed as Secondary IDE Master device\r\n"
DB " -4 CDROM installed as Secondary IDE Slave device\r\n"
DZ " -h,? Help page\r\n"
_SETVAR .MSG_UNK_DEVICE_NUMBER
DZ " Error: Unknown device number %1\r\n"
_SETVAR .MSG_UNK_COMMAND
@ -443,6 +445,15 @@ MSG0 DB 0
DZ "Error: packet size incorrect\r\n"
_SETVAR .MSG_SEND_ATAPI
DZ "Send ATAPI packet..."
_SETVAR .MSG_READTOC
DZ "Read audio CD-ROM TOC..."
_SETVAR .MSG_RESULT_READTOC
DB "RESULT: 0x00\r\n"
.MRR1 EQU $-4
DZ "Found in TOC: 0x00\r\n"
.MRR2 EQU $-5
_SETVAR .MSG_CLOSETRAY_READTOC
DZ "Close tray and read TOC Audio-CD..."
.crlf: DZ "\r\n"

View File

@ -1,5 +1,5 @@
; LAST UPDATE: 05.07.2025 savelij
; LAST UPDATE: 13.07.2025 savelij
COMMAND LD HL,BUF1
LD A,(HL)
@ -24,9 +24,9 @@ COMP01 LD D,H
COMP004 PUSH BC
PUSH DE
COMP000 LD A,(DE)
CP 0x61
CP 'a' ;0x61
JP C,COMP001
CP 0x7B
CP 'z'+1 ;0x7B
JP NC,COMP001
SUB 0x20
COMP001 CP (HL)
@ -69,28 +69,94 @@ COMP002 XOR A
SCF
RET
CMDLIST DB "CLOSE",0
DW CCLOSE
DB "COPY",0
DW CCOPY
DB "DUMP",0
DW CDUMP
DB "EJECT",0
DW COPEN
DB "HELP",0
DW CHELP
DB "LIST",0
DW CDIR
DB "OPEN",0
DW COPEN
DB "SECTORDUMP",0
DW CDUMP
CMDLIST DZ "CLOSE"
DW CCLOSE
DZ "COPY"
DW CCOPY
DZ "DUMP"
DW CDUMP
DZ "EJECT"
DW COPEN
DZ "HELP"
DW CHELP
DZ "LIST"
DW CDIR
DZ "OPEN"
DW COPEN
DZ "SECTORDUMP"
DW CDUMP
DZ "SEND"
DW SENDPACKET
DB 0
DZ "READTOC"
DW READTOC
DZ "CLOSETOC"
DW CLOSETOC
DB 0
SENDPACKET LD A,MSG0.MSG_SEND_ATAPI
CALL MESSAGE
RESULT EQU DUMPBUF + 3000
CLOSETOC LD A,MSG0.MSG_CLOSETRAY_READTOC
CALL MESSAGE
LD HL,APCMD.CLOSETRAY
CALL SENDPAKET
JR READTOC.L2
READTOC LD A,MSG0.MSG_READTOC
CALL MESSAGE
.L2 LD A,0xAA
LD (RESULT + 6),A
LD HL,APCMD.READTOC
CALL SENDPAKET
LD HL,RESULT-2
LD B,0xFF
LD DE,8
.L1 INC B
ADD HL,DE
LD A,(HL)
CP 0xAA
JR NZ,.L1
LD A,B
CALL A2HEX
LD HL,MSG0.MRR2
LD (HL),B
INC HL
LD (HL),A
LD A,(RESULT)
CALL A2HEX
LD HL,MSG0.MRR1
LD (HL),B
INC HL
LD (HL),A
LD A,MSG0.MSG_RESULT_READTOC
JP MESSAGE
SENDPAKET LD DE,RESULT
LD A,(CDDRIVE)
SPBIOS BIOSF.DRV_EXTENDED,DRV_EXTENDED.ATAPI_Custom_PCMD
RET
A2HEX PUSH AF
AND %11110000
RRCA
RRCA
RRCA
RRCA
CALL .L2
LD B,A
POP AF
AND %00001111
.L2 ADD A,'0'
CP '9'+1
RET C
ADD A,7
RET
APCMD
.READTOC DB 0x43,0x02,0x00,0x00,0x00,0x00,0x01,0x03,0x24,0x00,0x00,0x00
.CLOSETRAY DB 0x1B,0x00,0x00,0x00,0x03,0x00,0x00,0x00,0x00,0x00,0x00,0x00
SENDPACKET LD A,MSG0.MSG_SEND_ATAPI
CALL MESSAGE
CALL CONV_HEX
JR NC,.L1
LD A,MSG0.MSG_ERR_PACKET

View File

@ -1,4 +1,4 @@
; LAST UPDATE: 05.07.2025 savelij
; LAST UPDATE: 13.07.2025 savelij
VERS EQU "1.03"
VERS EQU "1.04"