forked from Lephenixnoir/fxdoc
53 lines
1.7 KiB
Plaintext
53 lines
1.7 KiB
Plaintext
<8001357c T6K11_Command>
|
|
Sends a command to the T6K11 interface.
|
|
r4: Register number (u8)
|
|
r5: Command argument (u8)
|
|
|
|
# Note that -76 << 24 = 0xb4000000.
|
|
8001357c: e1b4 mov #-76, r1
|
|
8001357e: d6a7 mov.l 0xb4010000 T6K11.DATA, r6
|
|
80013580: 4118 shll8 r1
|
|
80013582: 4128 shll16 r1
|
|
80013584: 2140 mov.b r4, @r1
|
|
80013586: 000b rts
|
|
80013588: 2650 mov.b r5, @r6
|
|
|
|
...
|
|
|
|
<%027 T6K11_WritePage>
|
|
Writes a byte of data to a T6K11 page (a byte of its RAM). Due to the
|
|
configuration of the T6K11 in OS fx@3.xx, rows and pages of the screen are in
|
|
ranges 0..63 and 4..19.
|
|
|
|
r4: Byte number on chosen row (in range 0..15) (u32)
|
|
r5: Row number (in range 0..63) (u32)
|
|
r6: Data (u8)
|
|
|
|
Stack> (data) (3 bytes) (page)
|
|
|
|
# T6K11_Command(8, row|0x80). Selects specified row.
|
|
800135c8: 4f22 sts.l pr, @-r15
|
|
800135ca: 7ff8 add #-8, r15
|
|
800135cc: 6063 mov r6, r0
|
|
800135ce: 80f7 mov.b r0, @(7,r15)
|
|
800135d0: 6053 mov r5, r0
|
|
800135d2: 2f42 mov.l r4, @r15
|
|
800135d4: cb80 or #-128, r0
|
|
800135d6: e408 mov #8, r4
|
|
800135d8: bfd0 bsr <8001357c> T6K11_Command
|
|
800135da: 6503 mov r0, r5
|
|
|
|
# T6K11_Command(8, page+4). Selects that page (8 consecutive pixels).
|
|
800135dc: 65f2 mov.l @r15, r5
|
|
800135de: e408 mov #8, r4
|
|
800135e0: bfcc bsr <8001357c> T6K11_Command
|
|
800135e2: 7504 add #4, r5
|
|
|
|
# T6K11_Command(10, data). Writes the data to the display driver.
|
|
800135e4: 84f7 mov.b @(7,r15), r0
|
|
800135e6: e40a mov #10, r4
|
|
800135e8: 650c extu.b r0, r5
|
|
800135ea: 7f08 add #8, r15
|
|
800135ec: afc6 bra <8001357c> T6K11_Command
|
|
800135ee: 4f26 lds.l @r15+, pr
|