Difference between revisions of "PSX BIOS"

From Final Fantasy Hacktics Wiki
Jump to navigation Jump to search
m
m
Line 2: Line 2:
 
  000000b0: (Bios call - Second table) --> [[Bios call B]]
 
  000000b0: (Bios call - Second table) --> [[Bios call B]]
 
  000000c0: (Bios call - Third table) --> [[Bios call C]]
 
  000000c0: (Bios call - Third table) --> [[Bios call C]]
 +
00000500: [[C(0x09) SysInitKernelVariables]]
 +
00000540: [[C(0x1c) AdjustA0Table]]
 
  000005c4: [[Bios A]]
 
  000005c4: [[Bios A]]
 
  000005e0: [[Bios B]]
 
  000005e0: [[Bios B]]
 
  00000600: [[Bios C]]
 
  00000600: [[Bios C]]
 +
0000065c: [[B(0x56) GetC0Table]]
 +
00000668: [[B(0x57) GetB0Table]]
 +
00000c80: [[C(0x06) ExceptionHandler]]
 +
00000eb0: [[C(0x07) InstallExceptionHandlers]]
 +
00000f20: [[B(0x19) HookEntryInt]]
 +
00000f2c: [[B(0x18) ResetEntryInt]]
 +
00000f40: [[B(0x17) ReturnFromException]]
 +
0000113c: [[C(0x08) SysInitMemory]]
 +
00001174: [[B(0x00) alloc_kernel_memory]]
 +
00001408: [[B(0x01) free_kernel_memory]]
 +
00001420: [[C(0x02) SysEnqIntRP]] BUGGED
 +
00001444: [[C(0x03) SysDeqIntRP]] BUGGED
 +
00001508: [[C(0x00) EnqueueTimerAndVblankIrqs]]
 +
000015d8: [[C(0x0a) ChangeClearRCnt]]
 +
000015f8: [[B(0x02) init_timer]]
 +
000016ac: [[B(0x03) get_timer]]
 +
000016e4: [[B(0x04) enable_timer_irq]]
 +
00001728: [[B(0x05) disable_timer_irq]]
 +
0000175c: [[B(0x06) restart_timer]]
 +
00001b20: [[C(0x01) EnqueueSyscallHandler]]
 +
00001b44: [[B(0x07) DeliverEvent]]
 +
00001c5c: [[B(0x20) UnDeliverEvent]]
 +
00001d00: [[C(0x04) get_free_EvCB_slot]]
 +
00001d8c: [[B(0x08) OpenEvent]]
 +
00001e1c: [[B(0x09) CloseEvent]]
 +
00001e44: [[B(0x0a) WaitEvent]]
 +
00001ec8: [[B(0x0b) TestEvent]]
 +
00001f10: [[B(0x0c) EnableEvent]]
 +
00001f4c: [[B(0x0d) DisableEvent]]
 +
00001f88: [[C(0x05) get_free_TCB_slot]]
 +
00002018: [[B(0x0e) OpenTh]]
 +
000020a8: [[B(0x0f) CloseTh]]
 +
000020d4: [[B(0x10) ChangeTh]]
 +
00002724: [[C(0x0c) InitDefInt]]
 +
0000278c: [[C(0x0d) SetIrqAutoAck]]
 +
000027c0: [[C(0x12) InstallDevices]]
 +
00002870: [[C(0x1b) KernelRedirect]] an input of p1 = 1 on the ps2 causes a system error :D
 +
00002909: [[C(0x13) FlushStdInOutPut]]
 
  00002958: [[A(0x00) open]] also B(0x32)
 
  00002958: [[A(0x00) open]] also B(0x32)
 
  00002a64: [[A(0x01) lseek]] also B(0x33)
 
  00002a64: [[A(0x01) lseek]] also B(0x33)
Line 10: Line 50:
 
  00002c94: [[A(0x03) write]] also B(0x35)
 
  00002c94: [[A(0x03) write]] also B(0x35)
 
  00002e00: [[A(0x04) close]] also B(0x36)
 
  00002e00: [[A(0x04) close]] also B(0x36)
 +
00002e98: [[B(0x55) _get_error]]
 +
00002eec: [[B(0x54) _get_errno]]
 
  00002efc: [[A(0x05) ioctl]] also B(0x37)
 
  00002efc: [[A(0x05) ioctl]] also B(0x37)
 +
00002fc8: [[C(0x19) _ioabort]]
 
  00003000: [[A(0x06) exit]] also B(0x38)
 
  00003000: [[A(0x06) exit]] also B(0x38)
 
  0000346c: [[A(0x07) isatty]] also B(0x39)
 
  0000346c: [[A(0x07) isatty]] also B(0x39)
 +
000034b4: [[C(0x17) _circgetc]]
 +
0000352c: [[C(0x18) _circputc]]
 +
000035a4: [[C(0x0e) ReturnZero]] Also C(0x0f), C(0x10), C(0x11), C(0x14). with dev bios, would actually be [[C(0x0e) dev_sio_init]], [[C(0x0f) dev_sio_open]], [[C(0x10) dev_sio_in_out]], [[C(0x11) dev_sio_ioctl]], [[C(0x14) SystemError]]
 +
000035ac: [[B(0x40) cd]]
 +
00003678: [[B(0x59) testdevice]]
 +
00003744: [[B(0x45) erase]]
 +
00003810: [[B(0x46) undelete]]
 +
000038d8: [[B(0x41) format]]
 +
000039a4: [[B(0x42) firstfile2]]
 +
00003a70: [[B(0x43) nextfile]]
 +
00003aac: [[B(0x44) rename]]
 +
00003c2c: [[B(0x47) AddDrv]]
 +
00003ce0: [[B(0x48) DelDrv]]
 +
00003dac: [[B(0x49) PrintInstalledDevices]]
 +
00003e5c: [[C(0x1a) set_card_find_mode]]
 +
00003e68: [[C(0x1D) get_card_find_mode]]
 +
00003e80: [[C(0x16) _cdevscan]]
 +
00003f04: [[C(0x15) _cdevinput]]
 +
00003ff0: [[B(0x3c) getchar]]
 
  00004024: [[A(0x08) getc]] also B(0x3a)
 
  00004024: [[A(0x08) getc]] also B(0x3a)
 
  0000406c: [[A(0x3c) putchar]] also B(0x3d)
 
  0000406c: [[A(0x3c) putchar]] also B(0x3d)
Line 18: Line 80:
 
  00004164: [[A(0x3d) gets]] also B(0x3e)
 
  00004164: [[A(0x3d) gets]] also B(0x3e)
 
  00004304: [[A(0x3e) puts]] also B(0x3f)
 
  00004304: [[A(0x3e) puts]] also B(0x3f)
 +
 +
000040c8: [[B(0x12) InitPAD2]]
 +
000043d0: [[B(0x5b) ChangeClearPAD]]
 +
00004b90: [[B(0x13) StartPAD2]]
 +
00004c10: [[B(0x14) StopPAD2]]
 +
00004c70: [[B(0x4b) StartCARD2]]
 +
00004cf4: [[B(0x4c) StopCARD2]]
 +
00004d3c: [[B(0x50) _new_card]]
 +
00005da8: [[B(0x4a) InitCARD2]]
 +
00005e30: [[B(0x58) _card_chan]]
 +
00005e50: [[B(0x4f) _card_read]]
 +
00005f04: [[B(0x4e) _card_write]]
 +
00005fb8: [[B(0x4d) _card_info_subfunc]]
 +
0000605c: [[B(0x5c) _card_status]]
 +
00006070: [[B(0x5d) _card_wait]]
 +
0000609c: [[B(0x15) PAD_init2]]
 +
000061c4: [[B(0x16) PAD_dr]]
 +
000065e0: [[B(0x51) Krom2RawAdd]]
 +
00006670: [[B(0x52) Krom2Offset]] <- subfunction of Krom2RawAdd
 +
00006a50: [[B(0x52) SystemError]]
 +
00006a60: [[B(0c5a) SystemError]]
 +
00006ba0: [[C(0x0b) SystemError]]
 +
00006bb0: [[B(0x1a) SystemError]]
 +
00006bc0: [[B(0x1b) SystemError]]
 +
00006bd0: [[B(0x1c) SystemError]]
 +
00006be0: [[B(0x1d) SystemError]]
 +
00006bf0: [[B(0x1e) SystemError]]
 +
00006c00: [[B(0x1f) SystemError]]
 +
00006c10: [[B(0x21) SystemError]]
 +
00006c20: [[B(0x22) SystemError]]
 +
00006c30: [[B(0x23) SystemError]]
 +
00006c40: [[B(0x2a) SystemError]]
 +
00006c50: [[B(0x2b) SystemError]]

Revision as of 08:35, 23 September 2024

000000a0: Jump to 0x5c4 (Bios call - First table) --> Bios call A
000000b0: (Bios call - Second table) --> Bios call B
000000c0: (Bios call - Third table) --> Bios call C
00000500: C(0x09) SysInitKernelVariables
00000540: C(0x1c) AdjustA0Table
000005c4: Bios A
000005e0: Bios B
00000600: Bios C
0000065c: B(0x56) GetC0Table
00000668: B(0x57) GetB0Table
00000c80: C(0x06) ExceptionHandler
00000eb0: C(0x07) InstallExceptionHandlers
00000f20: B(0x19) HookEntryInt
00000f2c: B(0x18) ResetEntryInt
00000f40: B(0x17) ReturnFromException
0000113c: C(0x08) SysInitMemory
00001174: B(0x00) alloc_kernel_memory
00001408: B(0x01) free_kernel_memory
00001420: C(0x02) SysEnqIntRP BUGGED
00001444: C(0x03) SysDeqIntRP BUGGED
00001508: C(0x00) EnqueueTimerAndVblankIrqs 
000015d8: C(0x0a) ChangeClearRCnt
000015f8: B(0x02) init_timer
000016ac: B(0x03) get_timer
000016e4: B(0x04) enable_timer_irq
00001728: B(0x05) disable_timer_irq
0000175c: B(0x06) restart_timer
00001b20: C(0x01) EnqueueSyscallHandler
00001b44: B(0x07) DeliverEvent
00001c5c: B(0x20) UnDeliverEvent
00001d00: C(0x04) get_free_EvCB_slot
00001d8c: B(0x08) OpenEvent
00001e1c: B(0x09) CloseEvent
00001e44: B(0x0a) WaitEvent
00001ec8: B(0x0b) TestEvent
00001f10: B(0x0c) EnableEvent
00001f4c: B(0x0d) DisableEvent
00001f88: C(0x05) get_free_TCB_slot
00002018: B(0x0e) OpenTh
000020a8: B(0x0f) CloseTh
000020d4: B(0x10) ChangeTh
00002724: C(0x0c) InitDefInt
0000278c: C(0x0d) SetIrqAutoAck
000027c0: C(0x12) InstallDevices
00002870: C(0x1b) KernelRedirect an input of p1 = 1 on the ps2 causes a system error :D
00002909: C(0x13) FlushStdInOutPut
00002958: A(0x00) open also B(0x32)
00002a64: A(0x01) lseek also B(0x33)
00002b28: A(0x02) read also B(0x34)
00002c94: A(0x03) write also B(0x35)
00002e00: A(0x04) close also B(0x36)
00002e98: B(0x55) _get_error
00002eec: B(0x54) _get_errno
00002efc: A(0x05) ioctl also B(0x37)
00002fc8: C(0x19) _ioabort
00003000: A(0x06) exit also B(0x38)
0000346c: A(0x07) isatty also B(0x39)
000034b4: C(0x17) _circgetc
0000352c: C(0x18) _circputc
000035a4: C(0x0e) ReturnZero Also C(0x0f), C(0x10), C(0x11), C(0x14). with dev bios, would actually be C(0x0e) dev_sio_init, C(0x0f) dev_sio_open, C(0x10) dev_sio_in_out, C(0x11) dev_sio_ioctl, C(0x14) SystemError
000035ac: B(0x40) cd
00003678: B(0x59) testdevice
00003744: B(0x45) erase
00003810: B(0x46) undelete
000038d8: B(0x41) format
000039a4: B(0x42) firstfile2
00003a70: B(0x43) nextfile
00003aac: B(0x44) rename
00003c2c: B(0x47) AddDrv
00003ce0: B(0x48) DelDrv
00003dac: B(0x49) PrintInstalledDevices
00003e5c: C(0x1a) set_card_find_mode
00003e68: C(0x1D) get_card_find_mode
00003e80: C(0x16) _cdevscan
00003f04: C(0x15) _cdevinput
00003ff0: B(0x3c) getchar 
00004024: A(0x08) getc also B(0x3a)
0000406c: A(0x3c) putchar also B(0x3d)
00004134: A(0x09) putc also B(0x3b)
00004164: A(0x3d) gets also B(0x3e)
00004304: A(0x3e) puts also B(0x3f)
000040c8: B(0x12) InitPAD2
000043d0: B(0x5b) ChangeClearPAD
00004b90: B(0x13) StartPAD2
00004c10: B(0x14) StopPAD2
00004c70: B(0x4b) StartCARD2
00004cf4: B(0x4c) StopCARD2
00004d3c: B(0x50) _new_card
00005da8: B(0x4a) InitCARD2
00005e30: B(0x58) _card_chan
00005e50: B(0x4f) _card_read
00005f04: B(0x4e) _card_write
00005fb8: B(0x4d) _card_info_subfunc 
0000605c: B(0x5c) _card_status
00006070: B(0x5d) _card_wait
0000609c: B(0x15) PAD_init2
000061c4: B(0x16) PAD_dr
000065e0: B(0x51) Krom2RawAdd
00006670: B(0x52) Krom2Offset <- subfunction of Krom2RawAdd
00006a50: B(0x52) SystemError
00006a60: B(0c5a) SystemError
00006ba0: C(0x0b) SystemError
00006bb0: B(0x1a) SystemError 
00006bc0: B(0x1b) SystemError 
00006bd0: B(0x1c) SystemError 
00006be0: B(0x1d) SystemError 
00006bf0: B(0x1e) SystemError 
00006c00: B(0x1f) SystemError 
00006c10: B(0x21) SystemError 
00006c20: B(0x22) SystemError 
00006c30: B(0x23) SystemError 
00006c40: B(0x2a) SystemError
00006c50: B(0x2b) SystemError