Date: Wed, 11 Sep 1996 22:26:39 -0700 To: tghack-list@cpac.washington.edu From: daves@interlog.com (David Shadoff) X-Software: MLF v2.3, Copyright 1995, 1996 by Bt X-Original-Id: <199609120518.BAA26041@smtp.interlog.com> Subject: Updated Jump table (!) X-UIDL: ee03aa45966432b3e0b4b3b929d568bb Hi everyone... Just so you didn't think I've been sleeping lately... =) I got some new information from browsing the CD System 1.0 ROM, and found the exact names for vector addresses - the same as the 'DEVELO' articles cited. In fact, this also agreed with some other exploration I had been doing. Now I only need the last few... And a little more in-depth info about these... in case anybody wants to explore. These jump addresses are basically CDROM system card API calls, available to programmers. They should be stable from release to release. As for entry/exit parameters, some disassembly may be required. =) Remember, this is all HuCard segment $00, offset $00, referenced via MMR7 (ie. $E000 segment). Most of these should be fairly clear - but I'll split them into major categories: ; ; CDROM System Card Jump Table ; ; ; CD functions: ; 0E000: CD_BOOT - Boot System 0E003: CD_RESET 0E006: CD_BASE 0E009: CD_READ - Read data sectors into memory 0E00C: CD_SEEK 0E00F: CD_EXEC 0E012: CD_PLAY 0E015: CD_SEARCH 0E018: CD_PAUSE 0E01B: CD_STAT 0E01E: CD_SUBQ 0E021: CD_DINFO 0E024: CD_CONTNTS 0E027: CD_SUBRD 0E02A: CD_PCMRD 0E02D: CD_FADE ; ; ADPCM functions: ; 0E030: AD_RESET 0E033: AD_TRANS 0E036: AD_READ 0E039: AD_WRITE 0E03C: AD_PLAY 0E03F: AD_CPLAY 0E042: AD_STOP 0E045: AD_STAT ; ; Backup memory functions: ; 0E048: BM_FORMAT 0E04B: BM_FREE 0E04E: BM_READ 0E051: BM_WRITE 0E054: BM_DELETE 0E057: BM_FILES ; ; Misc functions: ; 0E05A: EX_GETVER 0E05D: EX_SETVEC 0E060: EX_GETFNT 0E063: EX_JOYSNS - Poll joysticks 0E066: EX_JOYREP ; ; Video-related stuff: ; 0E069: EX_SCRSIZ 0E06C: EX_DOTMOD 0E06F: EX_SCRMOD 0E072: EX_IMODE 0E075: EX_VMODE 0E078: EX_HMODE 0E07B: EX_VSYNC 0E07E: EX_RCRON - Set $F3 bit 2 & put in video processor reg 5 0E081: EX_RCROFF - Reset $F3 bit 2 & put in video processor reg 5 0E084: EX_IRQON - Set $F3 bit 3 & put in video processor reg 5 0E087: EX_IRQOFF - Reset $F3 bit 3 & put in video processor reg 5 0E08A: EX_BGON - Set $F3 bit 7 0E08D: EX_BGOFF - Reset $F3 bit 7 0E090: EX_SPRON - Set $F3 bit 6 0E093: EX_SPROFF - Reset $F3 bit 6 0E096: EX_DSPON - Set $F3 bits 6&7 0E099: EX_DSPOFF - Reset $F3 bits 6&7 0E09C: EX_DMAMOD 0E09F: EX_SPRDMA 0E0A2: EX_SATCLR 0E0A5: EX_SPRPUT 0E0A8: EX_SETRCR 0E0AB: EX_SETRED 0E0AE: EX_SETWRT 0E0B1: EX_SETDMA ; ; Binary/BCD conversion: ; 0E0B4: EX_BINBCD 0E0B7: EX_BCDBIN ; ; Random number generator (?) ; 0E0BA: EX_RND ; ; Integer math: ; 0E0BD: MA_MUL8U - 8-bit unsigned Multiply 0E0C0: MA_MUL8S - 8-bit signed Multiply 0E0C3: MA_MUL16U - 16-bit unsigned Multiply 0E0C6: MA_DIV16S - 16-bit signed Divide 0E0C9: MA_DIV16U - 16-bit unsigned Divide 0E0CC: MA_SQRT - Square Root 0E0CF: MA_SIN - Trigonometric Sine 0E0D2: MA_COS - Trigonometric Cosine 0E0D5: MA_ATNI - Trigonometric ArcTan ; ; Programmable Sound generator BIOS ; 0E0D8: PSG_BIOS ; ; Unknown specifics: ; 0E0DB: GRP_BIOS 0E0DE: KEY_BIOS 0E0E1: PSG_DRIVE 0E0E4: EX_COLORC 0E0E7: 0E0EA: 0E0ED: 0E0F0: -- Dave