This commit is contained in:
Tolik 2025-04-23 02:39:28 +10:00
parent 4a5753ea2c
commit be60675850
2 changed files with 55 additions and 3 deletions

View File

@ -771,8 +771,8 @@ SYS_PAGE EQU #FE
//°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°
.MS_BPB EQU #C400 ; ¡ãä¥à BPB
//°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°
; IDENTIFY ATA buffer
.HD_IDF_ADR EQU #C600 ; !FIXIT áâàãªâãன ᤥ« âì!!!
; IDENTIFY ATA buffer ; !FIXIT áâàãªâãன ᤥ« âì!!!
.HD_IDF_ADR EQU #C600 ; á çñâ­®£®  ¤à¥á . ˆá¯®«ì§ã¥âáï ¢ HDD_PROG tr-dos
.HD_IDF_ADR.sec_cyl EQU .HD_IDF_ADR+4
.HD_IDF_ADR.heads EQU .HD_IDF_ADR+6 ; Number of heads
.HD_IDF_ADR.sectors EQU .HD_IDF_ADR+12 ; Number of sectors per track

View File

@ -648,4 +648,56 @@ Description
08h - 1Eh Reserved
1Fh Unknown or no device type
The Peripheral Device Type shall be set to 05h to indicate a CD-ROM Device.
*/
*/
/* ZIP DRIVE
…᫨ ­  ¯à¨¢®¤¥ ­ ¦ â  ª­®¯ª  ¢ë¡à®á , â® ¯®«ãç¨âì íâã ¨­ä®à¬ æ¨ï ¬®¦­® ®â¯à ¢¨¢ ATAPI ª®¬ ­¤ã 06 - MODE NON SENSE
2-© ¡ ©â 2-© áâà ­¨æë == 1 ¥á«¨ ­ ¦ â eject, 0 ¥á«¨ ­¥ ­ ¦ â.
* ZIP100 CMD - 06h
* Three pages:
* 00 - 6 bytes
* 01 - 88 bytes
* 02 - 64 bytes - ZIP disk id
const uint8_t zip_disk_100[3][88] = {
{ 0x00, 0x04, 0x00, 0x01, 0x02, 0x03 },
{ 0x01, 0x56, 0x01, 0x00, 0x00, 0x02, 0x06, 0x48, 0x06, 0x01, 0x06, 0x48, 0x06, 0x00, 0x00, 0x01,
0x01, 0x00, 0x00, 0x00, 0x00, 0x0f, 0x00, 0x01, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x0f, 0x18, 0x25, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0e, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 },
{ 0x02, 0x3e, 0x00, 0x02, 0x00, 0x00, 0x02, 0xff, 0xff, 0x00, 0x00, 0x02, 0x00, 0x00, 0x7e, 0x00,
0x00, 0x00, 0x7e, 0x00, 0x00, 0x00, 0x30, 0x34, 0x35, 0x31, 0x30, 0x32, 0x34, 0x33, 0x35,
0x35, 0x33, 0x39, 0x39, 0x30, 0x33, 0x38, 0x30, 0x33, 0x5a, 0x49, 0x50, 0x31, 0x20, 0x20,
0x20, 0x4b, 0x41, 0x41, 0x32, 0x31, 0x30, 0x30, 0x45, 0x33, 0x31, 0x31, 0x20, 0x20, 0x20,
0x20, 0x00, 0x12 }
};
const uint8_t zip_disk_250[3][88] = {
{ 0x00, 0x04, 0x00, 0x01, 0x02, 0x03 },
{ 0x01, 0x56, 0x02, 0x00, 0x00, 0x00, 0x12, 0xf6, 0x12, 0x2e, 0x12, 0xf6, 0x12,
0x2e, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xd1, 0x00, 0x17, 0x01,
0x10, 0x00, 0x00, 0x00, 0x29, 0x01, 0x00, 0x00, 0x01, 0x0f, 0x3e, 0x24,
0x42, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x24, 0x00,
0x00, 0x00, 0x00, 0x00, 0xbb, 0x00, 0x17, 0x29, 0x31, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x15, 0x00, 0x00, 0x00, 0x1b, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00,
0x00, 0x00, 0x00 },
{ 0x02, 0x3e, 0x00, 0x02, 0x00, 0x00, 0x07, 0x78, 0x3b, 0x00, 0x00, 0x02, 0x00,
0x00, 0x7e, 0x00, 0x00, 0x00, 0x7e, 0x00, 0x00, 0x00, 0x31, 0x39, 0x39,
0x33, 0x35, 0x31, 0x38, 0x31, 0x32, 0x37, 0x31, 0x30, 0x30, 0x30, 0x32,
0x37, 0x30, 0x33, 0x5a, 0x49, 0x50, 0x32, 0x20, 0x20, 0x20, 0x41, 0x41,
0x41, 0x41, 0x53, 0x30, 0x36, 0x36, 0x33, 0x76, 0x47, 0x20, 0x20, 0x20,
0x20, 0x10, 0x10 }
};
‘¨£­ «¨§¨à®¢ âì ¯à¨¢®¤ã ®â¤ âì ¤¨áª¥âã ¬®¦­® ç¥à¥§ ¯à®¯à¨¥â à­ãî ª®¬ ­¤ã 0x0D, ¢ âà¥â쥬 ¡ ©â¥ ãáâ ­®¢¨âì ä« £. (“ ¬¥­ï ¢ ª®¤¥ ¢á¥ ­ ®¡®à®â)
…᫨ ª®­¥ç­® ®â¤ ç  ¤¨áª¥âë ­¥ § ¡«®ª¨à®¢ ­  ª®¬ ­¤®© "0x1E: // PREVENT/ALLOW MEDIUM REMOVAL"
// ZIP VENDOR SPECIFIC
// (0d 00 0a 01 00 00 00 00 00 00 00 00 00 - Eject disk if not prohibited)
// (0d 00 0a 00 00 00 00 00 00 00 00 00 00 - Clear Eject flag)
uint8_t eject = packet[3];
log_debug("ZIP disk eject: %s\n",eject?"EJECT":"CLEAR EJECT");
*/