diff options
Diffstat (limited to 'oncology/dpfhack_display/reverse/common.in')
-rw-r--r-- | oncology/dpfhack_display/reverse/common.in | 213 |
1 files changed, 213 insertions, 0 deletions
diff --git a/oncology/dpfhack_display/reverse/common.in b/oncology/dpfhack_display/reverse/common.in new file mode 100644 index 00000000..8b64196c --- /dev/null +++ b/oncology/dpfhack_display/reverse/common.in @@ -0,0 +1,213 @@ +; ---- END USER DEFINED ---- +; Common stuff: seems mostly common to all firmware. No guarantee +; about correctness of the global variables for all firmwares. +; Routines in ROM: + +l 001e rom_001e + +; might not exist: +l 0911 rom_0911 + +; Likely some JPEG decoding +l 0a27 rom_0a27 +l 0a85 rom_0a85 +l 0add rom_0add +l 0d38 rom_0d38 +l 0d65 rom_0d65 +l 0e02 rom_0e02 +l 0f5c rom_0f5c +l 0fa9 rom_0fa9 + +l 0c0a rom_bootload + +; Called from IRQ routines: +l 0e1a rom_0e1a +l 0e72 rom_0e72 +l 0ef4 rom_0ef4 +l 0f16 rom_0f16 + +; Writes a byte to the LCD port p3 +l 0f25 rom_lcdwrite +; Probably alternative write function +l 0f34 rom_0f34 + +; Called from bank switching code: +l 0fae rom_0fae + +s 0e00 common_xdata_0e00 +s 0e40 common_xdata_0e40 +s 0e80 common_xdata_0e80 +s 1600 common_xdata_0e00_cseg +; s 1640 common_xdata_0e40_cseg +; s 1680 common_xdata_0e80_cseg + +; Common functions that seem to be called from all modules: + +l 124a g_var0 +l 1280 lcd_setcontext + +; Those might differ between different DPF firmware +s 1800 common_usb_1800 +s 1818 common_usb_resume_1818 + +; Most important: module loader trampoline +l 1934 tramp_return +l 1938 tramp_jsr +l 193a tramp_jmp +l 193e tramp_dyn + +; Global register variables(flags): +; _oi: Probably initialized in OTP +; G_: Very likely global over all modules (not overlayed) +; g_: Global (shared) among some modules, may be overlayed +; i_: Accessed from IRQ handler +r 0f G_ptr0_oi +r 10 G_count0 +r 11 G_adcbufadr +r 12 G_count1 +r 13 G_curp_l +r 14 G_curp_h +r 19 G_seconds? +r 1b G_internal +r 1d G_var +r 1e G_button +r 1f G_bankno +r 20 i_G_f +r 21 G_adc_flags +r 22 G_irqh6_flags +r 25 G_usbflg +r 26 g_sector_h +r 27 g_sector_m +r 28 g_sector_l +r 29 flags_29 +r 2a flags_2a +r 2b flags_2b +r 2c flags_2c +r 2d flags_2d +r 2e flags_2e +r 2f flags_2f +r 73 G_language +; The following registers denote the LCD controller context area +; See lcd_setcontext() +r 77 G_lcd_cxL +r 78 G_lcd_cxH +r 79 G_lcd_cyL +r 7a G_lcd_cyH +r 7b G_lcd_dxL +r 7c G_lcd_dxH +r 7d G_lcd_dyL +r 7e G_lcd_dyH + +; AX206 SFRs + +f 86 dpcon +f 87 pcon + +f 91 _mulres0 +f 92 _mulres1 +f 93 _mulres2 +f 94 _mulres3 +f 9a _wkpnd +f 9b _wken +f 9c _wkedg +f a4 _pie +f a5 _ckcon +f a8 _ien0 +f b0 _p3 +f b1 _tmr0con +f b3 _tmr0cnt +f b4 _tmr0pr +f b5 _tmr0psr +f b8 _ip +f bb _wdtcon +f c0 _p4 +f c1 _tmr2con +f c2 _tmr2cntl +f c3 _tmr2cnth +f c4 _tmr2perl +f c5 _tmr2perh +f c6 _tmr2pwml +f c7 _tmr2pwmh +f c8 _usbcon0 +f c9 _usbdata +f ca _usbaddr +f d1 _rtcnt +f d2 _adccon +f d3 _adcbaud +f d4 _adcbufh +f d6 _spibaud +f d7 _spibuf +f d8 _spicon +f dc _adcbufl +f e1 _tmr1con +f e2 _tmr1cntl +f e3 _tmr1cnth +f e4 _tmr1perl +f e5 _tmr1perh +f e6 _tmr1pwml +f e7 _tmr1pwmh +f e8 _eif0 +f e9 _p0dir +f ea _p1dir +f eb _p2dir +f ec _p3dir +f ed _p4dir +f f1 _uartsta +f f2 _uartcon +f f3 _uartbaud +f f4 _uartbuf +f f8 _tmr3con +f f9 _p0up +f fa _p1up +f fb _p2up +f fc _p3up +f fd _p4up + +; Addressable bits: +m 00 i_G_f.0 +m 01 i_G_f.1 +m 02 i_G_f.adcready +m 03 i_G_f.usbon +m 04 i_G_f.usbact +m 05 i_G_f.wkup +m 06 i_G_f.6 +m 07 i_G_f.7 +m 0f G_rtc2_flags.7 +m 10 sflags.0 +m 11 i_G_flag.1 +m 12 g_sflags.2 +m 13 sflags.3 +m 14 sflags.4 +m 15 sflags.5 +m 16 sflags.6 +m 17 sflags.7 +m 18 G_flags23.0 +m 19 G_flags23.1 +m 1a G_flags23.2 +m 20 bit_24.0 +m 21 bit_24.1 +m 22 bit_24.2 +m 23 bit_24.3 +m 24 bit_24.4 +m 25 bit_24.5 +m 26 bit_24.6 +m 27 bit_24.7 +m 28 G_usbflg.0 +m 29 G_usbflg.1 +m 2a G_usbflg.2 +m 2b G_usbflg.3 +m 2c G_usbflg.4 +m 2d G_usbflg.5 + +; I/O mappings: +k 86 _BUT_MENU +k 90 _LCD_RST +k 91 _LCD_WR +k 92 _LCD_RD +k 94 _LCD_A0 +k a0 _SPI_CS +k a1 _LCD_CS +k ce _USB_DONE +k df _SPIPND +k fb _T3CP +k e8 _T0P |