fxdoc/asm/fx@3.10/t6k11.txt

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