Skip to content

Instantly share code, notes, and snippets.

@uyjulian
Created November 24, 2024 09:04
Show Gist options
  • Save uyjulian/6f44dc4e32a2a88c1bdf454ca5359fb4 to your computer and use it in GitHub Desktop.
Save uyjulian/6f44dc4e32a2a88c1bdf454ca5359fb4 to your computer and use it in GitHub Desktop.

DVRP AtaEmu proxied commands info

The task will enter an infinite loop if the following commands are encountered:
Queued 7h: 26h, 36h, C7h, CCh
Packet 8h: A0h, A2h
Special case unhandled 9h: B1h

Special handling for command 20h: will get translated to command C8h
Special handling for command 24h: will get translated to command 25h
Special handling for command ECh: word 60 and 61 will get overwritten with the game area size
Special handling for command 30h: will get translated to command CAh
Special handling for command 34h: will get translated to command 35h

Main list

Cmd o:0x0 Type o:0x4 ? o:0x8 Cond o:0xC Xfer type Name
00h 1h 1h 0h ND NOP
03h 1h 1h 0h ND CFA REQUEST EXTENDED ERROR
08h 5h 1h 2h DR DEVICE RESET
20h 2h FFFFFFFFh 1h PI READ SECTOR(S)
24h 2h FFFFFFFFh 1h PI READ SECTOR(S) EXT
25h 4h 1h 1h DM READ DMA EXT
26h 7h 1h 1h DMQ READ DMA QUEUED EXT
27h 1h 1h 1h ND READ NATIVE MAX ADDRESS EXT
29h 2h FFFFFFFFh 1h PI READ MULTIPLE EXT
2Fh 2h FFFFFFFFh 1h PI READ LOG EXT
30h 3h FFFFFFFFh 1h PO WRITE SECTOR(S)
32h Ah 1h 0h WRITE LONG (obsolete)
34h 3h FFFFFFFFh 1h PO WRITE SECTOR(S) EXT
35h 4h 1h 1h DM WRITE DMA EXT
36h 7h 1h 1h DMQ WRITE DMA QUEUED EXT
37h 1h 1h 1h ND SET MAX ADDRESS EXT
38h 3h FFFFFFFFh 0h PO CFA WRITE SECTORS WITHOUT ERASE
39h 3h FFFFFFFFh 1h PO WRITE MULTIPLE EXT
3Fh 3h FFFFFFFFh 1h PO WRITE LOG EXT
40h 1h FFFFFFFFh 0h ND READ VERIFY SECTOR(S)
42h 1h FFFFFFFFh 0h ND READ VERIFY SECTOR(S) EXT
70h 1h 1h 2h SEEK (obsolete)
87h 2h 1h 0h PI CFA TRANSLATE SECTOR
8Eh 9h 1h 1h (vendor specific SCE)
90h 6h 1h 0h DD EXECUTE DEVICE DIAGNOSTIC
91h 1h 1h 0h INITIALIZE DEVICE PARAMETERS (obsolete)
92h 3h 1h 0h PO DOWNLOAD MICROCODE
A0h 8h 1h 0h P PACKET
A1h 2h 1h 0h PI IDENTIFY PACKET DEVICE
A2h 8h 1h 0h P/DMQ SERVICE
B0h 9h 1h 1h ND SMART
B1h 9h 1h 0h ND DEVICE CONFIGURATION OVERLAY
C0h 1h FFFFFFFFh 0h ND CFA ERASE SECTORS
C4h 2h FFFFFFFFh 0h PI READ MULTIPLE
C5h 3h FFFFFFFFh 0h PO WRITE MULTIPLE
C6h 1h 1h 0h ND SET MULTIPLE MODE
C7h 7h 1h 0h DMQ READ DMA QUEUED
C8h 4h 1h 1h DM READ DMA
CAh 4h 1h 1h DM WRITE DMA
CCh 7h 1h 0h DMQ WRITE DMA QUEUED
CDh 3h FFFFFFFFh 0h PO CFA WRITE MULTIPLE WITHOUT ERASE
DAh 1h 1h 0h GET MEDIA STATUS (obsolete)
DEh 1h 1h 0h MEDIA LOCK (obsolete)
DFh 1h 1h 0h MEDIA UNLOCK (obsolete)
E0h 1h 1h 2h ND STANDBY IMMEDIATE
E1h 1h 1h 2h ND IDLE IMMEDIATE
E2h 1h 1h 2h ND STANDBY
E3h 1h 1h 2h ND IDLE
E4h 2h 1h 0h PI READ BUFFER
E5h 1h 1h 2h ND CHECK POWER MODE
E6h 1h 1h 2h ND SLEEP
E7h 1h 1h 2h ND FLUSH CACHE
E8h 3h 1h 0h PO WRITE BUFFER
EAh 1h 1h 2h ND FLUSH CACHE EXT
ECh 2h 1h 1h PI IDENTIFY DEVICE
EDh 1h 1h 0h MEDIA EJECT (obsolete)
EFh 1h 1h 2h ND SET FEATURES
F1h 3h 1h 0h PO SECURITY SET PASSWORD
F2h 3h 1h 0h PO SECURITY UNLOCK
F3h 1h 1h 0h ND SECURITY ERASE PREPARE
F4h 3h 1h 0h PO SECURITY ERASE UNIT
F5h 1h 1h 0h ND SECURITY FREEZE LOCK
F6h 3h 1h 0h PO SECURITY DISABLE PASSWORD
F8h 1h 1h 0h ND READ NATIVE MAX ADDRESS
F9h 1h 1h 0h ND SET MAX ADDRESS

8Eh subcommand info

Cmd o:0x0 Type o:0x4 ? o:0x8 Cond o:0xC
8Eh 20h 2h 1h 0h
8Eh 30h 3h 1h 0h
8Eh ECh 2h 1h 1h
8Eh EDh 3h 1h 1h
8Eh EEh 1h 1h 1h
8Eh F1h 3h 1h 0h
8Eh F2h 3h 1h 0h
8Eh F3h 1h 1h 0h
8Eh F4h 1h 1h 0h
8Eh F5h 1h 1h 0h

B0h (SMART) subcommand info

Cmd o:0x0 Type o:0x4 ? o:0x8 Cond o:0xC Xfer type Name
B0h D0h 2h 1h 1h PI SMART READ DATA
B0h D2h 1h 1h 1h ND SMART ENABLE/DISABLE ATTRIBUTE AUTOSAVE
B0h D3h 1h 1h 1h (obsolete)
B0h D4h 1h 1h 1h ND SMART EXECUTE OFF-LINE IMMEDIATE
B0h D5h 2h 1h 1h PI SMART READ LOG
B0h D6h 3h 1h 1h PO SMART WRITE LOG
B0h D8h 1h 1h 1h ND SMART ENABLE OPERATIONS
B0h D9h 1h 1h 1h ND SMART DISABLE OPERATIONS
B0h DAh 1h 1h 1h ND SMART RETURN STATUS
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment