mirror of
https://git.k-space.ee/arti/vt1200.git
synced 2026-10-31 12:05:05 +02:00
109 lines
4.3 KiB
Plaintext
109 lines
4.3 KiB
Plaintext
GSP COFF Assembler, Version 2.00, 87.300 Sun Oct 18 02:56:54 2026
|
|
(c) Copyright 1985, 1987, Texas Instruments Inc.
|
|
|
|
PAGE 1
|
|
|
|
0001 ; blink.asm -- resident blink hooked on the display int
|
|
0002 ; own RAM trampoline at bit 00000DB0h (RLONG(0xFFFFFEA0
|
|
0003 ;
|
|
0004 ; `install` (called by rdebug `jump`, returns) rewrites
|
|
0005 ; `JA 3F7146D0h` stub to `JA handler`. `handler` runs
|
|
0006 ; interrupt, toggles a 64x64 box on the Terminal Manage
|
|
0007 ; 0600h invocations, then tail-jumps to the stock OS di
|
|
0008 ;
|
|
0009 ; This is the "draw before the OS handler" variant. If
|
|
0010 ; afterwards, the box will not survive; that is what th
|
|
0011 ;
|
|
0012 ; Linked at bit 01840000h by dwt/visual/build.sh.
|
|
0013
|
|
0014 00000000 .text
|
|
0015 00000000 _start:
|
|
0016 00000000 01E0 pushst
|
|
0017 00000010 0360 dint
|
|
0018 00000020 0540 setf 32, 0, 0
|
|
0019 00000030 09E0 movi handler, a0, L
|
|
00000040 00000190'
|
|
0020 00000060 0580 move a0, @00000DC0h, 0 ; stub target
|
|
00000070 00000DC0
|
|
0021 00000090 0550 setf 16, 0, 0
|
|
0022 000000A0 09E0 movi 0C080h, a0, L
|
|
000000B0 0000C080
|
|
0023 000000D0 0580 move a0, @00000DB0h, 0 ; JA opcode
|
|
000000E0 00000DB0
|
|
0024 00000100 4400 sub a0, a0
|
|
0025 00000110 0580 move a0, @0186F000h, 0 ; counter
|
|
00000120 0186F000
|
|
0026 00000140 0580 move a0, @0186F002h, 0 ; state (0 = black)
|
|
00000150 0186F002
|
|
0027 00000170 01C0 popst
|
|
0028 00000180 0960 rets
|
|
0029
|
|
0030 00000190 handler:
|
|
0031 00000190 098F mmtm sp, a0,a1,a2,a3,a4,a5
|
|
000001A0 FC00
|
|
0032 000001B0 0550 setf 16, 0, 0
|
|
0033 000001C0 0740 setf 32, 0, 1
|
|
0034 000001D0 05A0 move @0186F000h, a0, 0
|
|
000001E0 0186F000
|
|
0035 00000200 1020 inc a0
|
|
0036 00000210 0580 move a0, @0186F000h, 0
|
|
00000220 0186F000
|
|
0037 00000240 0B40 cmpi 0600h, a0
|
|
00000250 F9FF
|
|
0038 00000260 CB10 jrne draw
|
|
0039 00000270 4400 sub a0, a0
|
|
0040 00000280 0580 move a0, @0186F000h, 0
|
|
00000290 0186F000
|
|
0041 000002B0 05A1 move @0186F002h, a1, 0
|
|
000002C0 0186F002
|
|
0042 000002E0 0B41 cmpi 0, a1
|
|
000002F0 FFFF
|
|
0043 00000300 CB02 jrne was_white
|
|
GSP COFF Assembler, Version 2.00, 87.300 Sun Oct 18 02:56:54 2026
|
|
(c) Copyright 1985, 1987, Texas Instruments Inc.
|
|
|
|
PAGE 2
|
|
|
|
0044 00000310 1821 movk 1, a1
|
|
0045 00000320 C001 jruc set_state
|
|
0046 00000330 was_white:
|
|
0047 00000330 4421 sub a1, a1
|
|
0048 00000340 set_state:
|
|
0049 00000340 0581 move a1, @0186F002h, 0
|
|
00000350 0186F002
|
|
0050
|
|
0051 00000370 draw:
|
|
0052 00000370 05A1 move @0186F002h, a1, 0
|
|
00000380 0186F002
|
|
0053 000003A0 0B41 cmpi 0, a1
|
|
000003B0 FFFF
|
|
0054 000003C0 CB02 jrne pat_white
|
|
0055 000003D0 4442 sub a2, a2
|
|
0056 000003E0 C003 jruc pat_ready
|
|
0057 000003F0 pat_white:
|
|
0058 000003F0 09E2 movi 0FFFFh, a2, L
|
|
00000400 0000FFFF
|
|
0059 00000420 pat_ready:
|
|
0060 00000420 09E3 movi 04064100h, a3, L ; 04000000h + 400*1024 + 256
|
|
00000430 04064100
|
|
0061 00000450 09E4 movi 64, a4, L
|
|
00000460 00000040
|
|
0062 00000480 09E5 movi 4, a5, L
|
|
00000490 00000004
|
|
0063 000004B0 drow:
|
|
0064 000004B0 4CA1 move a5, a1
|
|
0065 000004C0 dword:
|
|
0066 000004C0 9043 move a2, *a3+, 0
|
|
0067 000004D0 3C41 dsjs a1, dword
|
|
0068 000004E0 0B03 addi 03C0h, a3
|
|
000004F0 03C0
|
|
0069 00000500 3CC4 dsjs a4, drow
|
|
0070
|
|
0071 00000510 09AF mmfm sp, a0,a1,a2,a3,a4,a5
|
|
00000520 003F
|
|
0072 00000530 C080 jauc 3F7146D0h ; stock OS display handler
|
|
00000540 3F7146D0
|
|
0073 .end
|
|
|
|
No Errors, No Warnings
|