- для тестирования Audio-CD и BIOS добавлены команды READTOC и CLOSETOC.
This commit is contained in:
parent
194e7a1fca
commit
80161c02af
BIN
bin/CDX.EXE
BIN
bin/CDX.EXE
Binary file not shown.
10
bin/CDX.TXT
10
bin/CDX.TXT
@ -1,5 +1,5 @@
|
|||||||
|
|
||||||
CDROM Extension utility v1.03
|
CDROM Extension utility v1.04
|
||||||
|
|
||||||
(c) Sprinter Team, 2025
|
(c) Sprinter Team, 2025
|
||||||
|
|
||||||
@ -20,6 +20,10 @@ LIST [\cd\path\] [pattern] --
|
|||||||
COPY \source \destination -- ª®¯¨à®¢ âì ä ©«ë
|
COPY \source \destination -- ª®¯¨à®¢ âì ä ©«ë
|
||||||
DUMP sector [offset] -- ¯®ª § âì ¤ ¬¯ ᥪâ®à ¤¨áª
|
DUMP sector [offset] -- ¯®ª § âì ¤ ¬¯ ᥪâ®à ¤¨áª
|
||||||
SEND hexline ["." separator] -- ®â¯à ¢ª ATAPI ¯ ª¥â
|
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
|
COPY \source \destination -- copy file(s) from CD-ROM to another disk
|
||||||
DUMP sector [offset] -- show sector dump from CD-ROM
|
DUMP sector [offset] -- show sector dump from CD-ROM
|
||||||
SEND hexline ["." separator] -- send ATAPI packet
|
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:
|
Switches:
|
||||||
-h,? -- help page
|
-h,? -- help page
|
||||||
|
|||||||
@ -1,5 +1,9 @@
|
|||||||
|
|
||||||
|
‚¥àá¨ï 1.04
|
||||||
|
- ¤«ï â¥áâ¨à®¢ ¨ï Audio-CD ¨ BIOS ¤®¡ ¢«¥ë ª®¬ ¤ë
|
||||||
|
READTOC ¨ CLOSETOC.
|
||||||
|
|
||||||
<EFBFBD>ЅрсЈя 1.03
|
<EFBFBD>ЅрсЈя 1.03
|
||||||
- ¯®¯à ¢«¥ cdx.txt
|
- ¯®¯à ¢«¥ cdx.txt.
|
||||||
- ЄЎЁ ЋЅ ЂЎЇЌЎІЎсть ЏЎсЋ ть ATAPI Џ ЊЅт.
|
- ЄЎЁ ЋЅ ЂЎЇЌЎІЎсть ЏЎсЋ ть ATAPI Џ ЊЅт.
|
||||||
- ¥á«¨ ¥â ¤¨áª ¢ ¯à¨¢®¤¥, â® ¥ ¯¨è¥â ®è¨¡ªã, çâ® ¥â ¯à¨¢®¤
|
- ¥á«¨ ¥â ¤¨áª ¢ ¯à¨¢®¤¥, â® ¥ ¯¨è¥â ®è¨¡ªã, çâ® ¥â ¯à¨¢®¤ .
|
||||||
|
|||||||
47
cdx.a80
47
cdx.a80
@ -1,5 +1,5 @@
|
|||||||
|
|
||||||
; LAST UPDATE: 07.07.2025 savelij
|
; LAST UPDATE: 13.07.2025 savelij
|
||||||
|
|
||||||
include macros.a80
|
include macros.a80
|
||||||
include bios_sp.a80
|
include bios_sp.a80
|
||||||
@ -389,23 +389,25 @@ MSG0 DB 0
|
|||||||
DZ "Closing tray..."
|
DZ "Closing tray..."
|
||||||
; 01234567890123456789012345678901234567890123456789012345678901234567890123456789
|
; 01234567890123456789012345678901234567890123456789012345678901234567890123456789
|
||||||
_SETVAR .MSG_USAGE
|
_SETVAR .MSG_USAGE
|
||||||
DB " Usage: CDX.EXE [-switches] [command] [param1] [param2]\r\n\r\n"
|
DB " Usage: CDX.EXE [-switches] [command] [param1] [param2]\r\n\r\n"
|
||||||
DB "Commands:\r\n"
|
DB "Commands:\r\n"
|
||||||
DB " CDX OPEN - Open tray\r\n"
|
DB " CDX OPEN - Open tray\r\n"
|
||||||
DB " CDX CLOSE - Close tray\r\n"
|
DB " CDX CLOSE - Close tray\r\n"
|
||||||
DB " CDX LIST [\\cd_path\\][pattern] - Show CDROM filelist\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 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 DUMP sector [offset] - Show sector dump from CDROM\r\n"
|
||||||
DB " CDX SEND hexline [\".\" separator] - Send ATAPI command\r\n"
|
DB " CDX SEND hexline [\".\" separator] - Send ATAPI command\r\n"
|
||||||
DB " example:\r\n"
|
DB " example:\r\n"
|
||||||
DB " CDX SEND 4B.000000.0000000000000000.00000000\r\n"
|
DB " CDX SEND 4B.000000.0000000000000000.00000000\r\n"
|
||||||
DB "\r\n"
|
DB "\r\n"
|
||||||
DB "Switches:\r\n"
|
DB " CDX READTOC - Read TOC Audio-CD\r\n"
|
||||||
DB " -1 CDROM installed as Primary IDE Master device\r\n"
|
DB " CDX CLOSETOC - Close tray and read TOC Audio-CD\r\n"
|
||||||
DB " -2 CDROM installed as Primary IDE Slave device\r\n"
|
DB "Switches:\r\n"
|
||||||
DB " -3 CDROM installed as Secondary IDE Master device\r\n"
|
DB " -1 CDROM installed as Primary IDE Master device\r\n"
|
||||||
DB " -4 CDROM installed as Secondary IDE Slave device\r\n"
|
DB " -2 CDROM installed as Primary IDE Slave device\r\n"
|
||||||
DZ " -h,? Help page\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
|
_SETVAR .MSG_UNK_DEVICE_NUMBER
|
||||||
DZ " Error: Unknown device number %1\r\n"
|
DZ " Error: Unknown device number %1\r\n"
|
||||||
_SETVAR .MSG_UNK_COMMAND
|
_SETVAR .MSG_UNK_COMMAND
|
||||||
@ -443,6 +445,15 @@ MSG0 DB 0
|
|||||||
DZ "Error: packet size incorrect\r\n"
|
DZ "Error: packet size incorrect\r\n"
|
||||||
_SETVAR .MSG_SEND_ATAPI
|
_SETVAR .MSG_SEND_ATAPI
|
||||||
DZ "Send ATAPI packet..."
|
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"
|
.crlf: DZ "\r\n"
|
||||||
|
|
||||||
|
|||||||
110
command.a80
110
command.a80
@ -1,5 +1,5 @@
|
|||||||
|
|
||||||
; LAST UPDATE: 05.07.2025 savelij
|
; LAST UPDATE: 13.07.2025 savelij
|
||||||
|
|
||||||
COMMAND LD HL,BUF1
|
COMMAND LD HL,BUF1
|
||||||
LD A,(HL)
|
LD A,(HL)
|
||||||
@ -24,9 +24,9 @@ COMP01 LD D,H
|
|||||||
COMP004 PUSH BC
|
COMP004 PUSH BC
|
||||||
PUSH DE
|
PUSH DE
|
||||||
COMP000 LD A,(DE)
|
COMP000 LD A,(DE)
|
||||||
CP 0x61
|
CP 'a' ;0x61
|
||||||
JP C,COMP001
|
JP C,COMP001
|
||||||
CP 0x7B
|
CP 'z'+1 ;0x7B
|
||||||
JP NC,COMP001
|
JP NC,COMP001
|
||||||
SUB 0x20
|
SUB 0x20
|
||||||
COMP001 CP (HL)
|
COMP001 CP (HL)
|
||||||
@ -69,28 +69,94 @@ COMP002 XOR A
|
|||||||
SCF
|
SCF
|
||||||
RET
|
RET
|
||||||
|
|
||||||
CMDLIST DB "CLOSE",0
|
CMDLIST DZ "CLOSE"
|
||||||
DW CCLOSE
|
DW CCLOSE
|
||||||
DB "COPY",0
|
DZ "COPY"
|
||||||
DW CCOPY
|
DW CCOPY
|
||||||
DB "DUMP",0
|
DZ "DUMP"
|
||||||
DW CDUMP
|
DW CDUMP
|
||||||
DB "EJECT",0
|
DZ "EJECT"
|
||||||
DW COPEN
|
DW COPEN
|
||||||
DB "HELP",0
|
DZ "HELP"
|
||||||
DW CHELP
|
DW CHELP
|
||||||
DB "LIST",0
|
DZ "LIST"
|
||||||
DW CDIR
|
DW CDIR
|
||||||
DB "OPEN",0
|
DZ "OPEN"
|
||||||
DW COPEN
|
DW COPEN
|
||||||
DB "SECTORDUMP",0
|
DZ "SECTORDUMP"
|
||||||
DW CDUMP
|
DW CDUMP
|
||||||
DZ "SEND"
|
DZ "SEND"
|
||||||
DW SENDPACKET
|
DW SENDPACKET
|
||||||
DB 0
|
DZ "READTOC"
|
||||||
|
DW READTOC
|
||||||
|
DZ "CLOSETOC"
|
||||||
|
DW CLOSETOC
|
||||||
|
DB 0
|
||||||
|
|
||||||
SENDPACKET LD A,MSG0.MSG_SEND_ATAPI
|
RESULT EQU DUMPBUF + 3000
|
||||||
CALL MESSAGE
|
|
||||||
|
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
|
CALL CONV_HEX
|
||||||
JR NC,.L1
|
JR NC,.L1
|
||||||
LD A,MSG0.MSG_ERR_PACKET
|
LD A,MSG0.MSG_ERR_PACKET
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user