summaryrefslogtreecommitdiffstats
path: root/oncology/dpfhack_display/reverse/common.in
diff options
context:
space:
mode:
Diffstat (limited to 'oncology/dpfhack_display/reverse/common.in')
-rw-r--r--oncology/dpfhack_display/reverse/common.in213
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