Index: alcyon/gcurpos.s
===================================================================
--- alcyon/gcurpos.s	(revision 7bf3856f4ff505a2174d89c937caf328029e3574)
+++ alcyon/gcurpos.s	(revision 7bf3856f4ff505a2174d89c937caf328029e3574)
@@ -0,0 +1,894 @@
+.globl _io_time
+.globl _io_lcd
+.globl _io_ser
+.globl _io_midi
+.globl _io_disk
+.globl _io_tone
+.globl _io_leds
+.globl _io_kbrd
+.globl _lcd_a0
+.globl _lcd_a1
+.globl _io_vreg
+.globl _io_vraw
+.globl _io_vram
+.globl _io_fpu
+.globl _v_regs
+.globl _v_odtab
+.globl _v_actab
+.globl _v_ct0
+.globl _v_gt1
+.globl _v_score
+.globl _v_cgtab
+.globl _v_curs0
+.globl _v_curs1
+.globl _v_curs2
+.globl _v_curs3
+.globl _v_curs4
+.globl _v_curs5
+.globl _v_curs6
+.globl _v_curs7
+.globl _v_tcur
+.globl _v_kbobj
+.globl _v_lnobj
+.globl _v_win0
+.globl _v_cur
+.globl _fc_sw
+.globl _fc_val
+.globl _v_obtab
+.globl _v_curob
+.globl _v_nobj
+.globl _v_obpri
+.globl _sgcsw
+.globl _stcrow
+.globl _stccol
+.data
+L1:.dc.w $FFFF
+.dc.w $0
+.dc.w $0
+.dc.w $0
+.dc.w $FF
+.dc.w $0
+.dc.w $0
+.dc.w $0
+.dc.w $F0F
+.dc.w $0
+.dc.w $0
+.dc.w $0
+.dc.w $F00F
+.dc.w $0
+.dc.w $0
+.dc.w $0
+.dc.w $0
+.dc.w $F
+.dc.w $0
+.dc.w $0
+.dc.w $0
+.dc.w $F0
+.dc.w $0
+.dc.w $0
+.dc.w $0
+.dc.w $F00
+.dc.w $0
+.dc.w $0
+.dc.w $0
+.dc.w $F000
+.dc.w $0
+.dc.w $0
+.dc.w $0
+.dc.w $0
+.dc.w $F
+.dc.w $0
+.dc.w $0
+.dc.w $0
+.dc.w $FFF0
+.dc.w $F
+.dc.w $0
+.dc.w $0
+.dc.w $FF0
+.dc.w $0
+.dc.w $0
+.dc.w $0
+.dc.w $F0F0
+.dc.w $FFF
+.dc.w $0
+.dc.w $0
+.dc.w $F0F0
+.dc.w $F
+.dc.w $0
+.dc.w $0
+.dc.w $F000
+.dc.w $F0
+.dc.w $0
+.dc.w $0
+.dc.w $F000
+.dc.w $F00
+.dc.w $0
+.dc.w $0
+.dc.w $0
+.dc.w $0
+.text
+.data
+L2:.dc.w $FFF0
+.dc.w $F
+.dc.w $0
+.dc.w $0
+.dc.w $FF0
+.dc.w $0
+.dc.w $0
+.dc.w $0
+.dc.w $F0F0
+.dc.w $0
+.dc.w $0
+.dc.w $0
+.dc.w $F0
+.dc.w $F
+.dc.w $0
+.dc.w $0
+.dc.w $0
+.dc.w $F0
+.dc.w $0
+.dc.w $0
+.dc.w $0
+.dc.w $F00
+.dc.w $0
+.dc.w $0
+.dc.w $0
+.dc.w $F000
+.dc.w $0
+.dc.w $0
+.dc.w $0
+.dc.w $0
+.dc.w $F
+.dc.w $0
+.dc.w $0
+.dc.w $0
+.dc.w $F0
+.dc.w $0
+.dc.w $0
+.dc.w $0
+.dc.w $FF00
+.dc.w $FF
+.dc.w $0
+.dc.w $0
+.dc.w $FF00
+.dc.w $0
+.dc.w $0
+.dc.w $0
+.dc.w $F00
+.dc.w $FFFF
+.dc.w $0
+.dc.w $0
+.dc.w $F00
+.dc.w $FF
+.dc.w $0
+.dc.w $0
+.dc.w $0
+.dc.w $F0F
+.dc.w $0
+.dc.w $0
+.dc.w $0
+.dc.w $F00F
+.dc.w $0
+.dc.w $0
+.dc.w $0
+.dc.w $0
+.text
+.data
+L3:.dc.w $0
+.dc.w $0
+.dc.w $F000
+.dc.w $FFF
+.dc.w $0
+.dc.w $0
+.dc.w $0
+.dc.w $FF0
+.dc.w $0
+.dc.w $0
+.dc.w $0
+.dc.w $F0F
+.dc.w $0
+.dc.w $0
+.dc.w $F000
+.dc.w $F00
+.dc.w $0
+.dc.w $0
+.dc.w $F00
+.dc.w $0
+.dc.w $0
+.dc.w $0
+.dc.w $F0
+.dc.w $0
+.dc.w $0
+.dc.w $0
+.dc.w $F
+.dc.w $0
+.dc.w $0
+.dc.w $F000
+.dc.w $0
+.dc.w $0
+.dc.w $0
+.dc.w $F00
+.dc.w $0
+.dc.w $0
+.dc.w $FF00
+.dc.w $FF
+.dc.w $0
+.dc.w $0
+.dc.w $0
+.dc.w $FF
+.dc.w $0
+.dc.w $0
+.dc.w $FFFF
+.dc.w $F0
+.dc.w $0
+.dc.w $0
+.dc.w $FF00
+.dc.w $F0
+.dc.w $0
+.dc.w $0
+.dc.w $F0F0
+.dc.w $0
+.dc.w $0
+.dc.w $0
+.dc.w $F00F
+.dc.w $0
+.dc.w $0
+.dc.w $0
+.dc.w $0
+.dc.w $0
+.dc.w $0
+.dc.w $0
+.text
+.data
+L4:.dc.w $0
+.dc.w $0
+.dc.w $0
+.dc.w $FFFF
+.dc.w $0
+.dc.w $0
+.dc.w $0
+.dc.w $FF00
+.dc.w $0
+.dc.w $0
+.dc.w $0
+.dc.w $F0F0
+.dc.w $0
+.dc.w $0
+.dc.w $0
+.dc.w $F00F
+.dc.w $0
+.dc.w $0
+.dc.w $F000
+.dc.w $0
+.dc.w $0
+.dc.w $0
+.dc.w $F00
+.dc.w $0
+.dc.w $0
+.dc.w $0
+.dc.w $F0
+.dc.w $0
+.dc.w $0
+.dc.w $0
+.dc.w $F
+.dc.w $0
+.dc.w $0
+.dc.w $F000
+.dc.w $0
+.dc.w $0
+.dc.w $F000
+.dc.w $FFF
+.dc.w $0
+.dc.w $0
+.dc.w $0
+.dc.w $FF0
+.dc.w $0
+.dc.w $0
+.dc.w $FFF0
+.dc.w $F0F
+.dc.w $0
+.dc.w $0
+.dc.w $F000
+.dc.w $F0F
+.dc.w $0
+.dc.w $0
+.dc.w $F00
+.dc.w $F
+.dc.w $0
+.dc.w $0
+.dc.w $F0
+.dc.w $F
+.dc.w $0
+.dc.w $0
+.dc.w $0
+.dc.w $0
+.dc.w $0
+.dc.w $0
+.text
+.data
+L5:.dc.w $0
+.dc.w $0
+.dc.w $0
+.dc.w $0
+.dc.w $0
+.dc.w $0
+.dc.w $F000
+.dc.w $F00
+.dc.w $0
+.dc.w $0
+.dc.w $F000
+.dc.w $F0
+.dc.w $0
+.dc.w $0
+.dc.w $F0F0
+.dc.w $F
+.dc.w $0
+.dc.w $0
+.dc.w $F0F0
+.dc.w $FFF
+.dc.w $0
+.dc.w $0
+.dc.w $FF0
+.dc.w $0
+.dc.w $0
+.dc.w $0
+.dc.w $FFF0
+.dc.w $F
+.dc.w $0
+.dc.w $0
+.dc.w $F
+.dc.w $0
+.dc.w $0
+.dc.w $F000
+.dc.w $0
+.dc.w $0
+.dc.w $0
+.dc.w $F00
+.dc.w $0
+.dc.w $0
+.dc.w $0
+.dc.w $F0
+.dc.w $0
+.dc.w $0
+.dc.w $0
+.dc.w $F
+.dc.w $0
+.dc.w $0
+.dc.w $F00F
+.dc.w $0
+.dc.w $0
+.dc.w $0
+.dc.w $F0F
+.dc.w $0
+.dc.w $0
+.dc.w $0
+.dc.w $FF
+.dc.w $0
+.dc.w $0
+.dc.w $0
+.dc.w $FFFF
+.dc.w $0
+.dc.w $0
+.dc.w $0
+.text
+.data
+L6:.dc.w $0
+.dc.w $0
+.dc.w $0
+.dc.w $0
+.dc.w $0
+.dc.w $0
+.dc.w $0
+.dc.w $F00F
+.dc.w $0
+.dc.w $0
+.dc.w $0
+.dc.w $F0F
+.dc.w $0
+.dc.w $0
+.dc.w $F00
+.dc.w $FF
+.dc.w $0
+.dc.w $0
+.dc.w $F00
+.dc.w $FFFF
+.dc.w $0
+.dc.w $0
+.dc.w $FF00
+.dc.w $0
+.dc.w $0
+.dc.w $0
+.dc.w $FF00
+.dc.w $FF
+.dc.w $0
+.dc.w $0
+.dc.w $F0
+.dc.w $0
+.dc.w $0
+.dc.w $0
+.dc.w $F
+.dc.w $0
+.dc.w $0
+.dc.w $F000
+.dc.w $0
+.dc.w $0
+.dc.w $0
+.dc.w $F00
+.dc.w $0
+.dc.w $0
+.dc.w $0
+.dc.w $F0
+.dc.w $0
+.dc.w $0
+.dc.w $F0
+.dc.w $F
+.dc.w $0
+.dc.w $0
+.dc.w $F0F0
+.dc.w $0
+.dc.w $0
+.dc.w $0
+.dc.w $FF0
+.dc.w $0
+.dc.w $0
+.dc.w $0
+.dc.w $FFF0
+.dc.w $F
+.dc.w $0
+.dc.w $0
+.text
+.data
+L7:.dc.w $0
+.dc.w $0
+.dc.w $0
+.dc.w $0
+.dc.w $F00F
+.dc.w $0
+.dc.w $0
+.dc.w $0
+.dc.w $F0F0
+.dc.w $0
+.dc.w $0
+.dc.w $0
+.dc.w $FF00
+.dc.w $F0
+.dc.w $0
+.dc.w $0
+.dc.w $FFFF
+.dc.w $F0
+.dc.w $0
+.dc.w $0
+.dc.w $0
+.dc.w $FF
+.dc.w $0
+.dc.w $0
+.dc.w $FF00
+.dc.w $FF
+.dc.w $0
+.dc.w $0
+.dc.w $0
+.dc.w $F00
+.dc.w $0
+.dc.w $0
+.dc.w $0
+.dc.w $F000
+.dc.w $0
+.dc.w $0
+.dc.w $0
+.dc.w $0
+.dc.w $F
+.dc.w $0
+.dc.w $0
+.dc.w $0
+.dc.w $F0
+.dc.w $0
+.dc.w $0
+.dc.w $0
+.dc.w $F00
+.dc.w $0
+.dc.w $0
+.dc.w $0
+.dc.w $F000
+.dc.w $F00
+.dc.w $0
+.dc.w $0
+.dc.w $0
+.dc.w $F0F
+.dc.w $0
+.dc.w $0
+.dc.w $0
+.dc.w $FF0
+.dc.w $0
+.dc.w $0
+.dc.w $F000
+.dc.w $FFF
+.text
+.data
+L8:.dc.w $0
+.dc.w $0
+.dc.w $0
+.dc.w $0
+.dc.w $F0
+.dc.w $F
+.dc.w $0
+.dc.w $0
+.dc.w $F00
+.dc.w $F
+.dc.w $0
+.dc.w $0
+.dc.w $F000
+.dc.w $F0F
+.dc.w $0
+.dc.w $0
+.dc.w $FFF0
+.dc.w $F0F
+.dc.w $0
+.dc.w $0
+.dc.w $0
+.dc.w $FF0
+.dc.w $0
+.dc.w $0
+.dc.w $F000
+.dc.w $FFF
+.dc.w $0
+.dc.w $0
+.dc.w $0
+.dc.w $F000
+.dc.w $0
+.dc.w $0
+.dc.w $0
+.dc.w $0
+.dc.w $F
+.dc.w $0
+.dc.w $0
+.dc.w $0
+.dc.w $F0
+.dc.w $0
+.dc.w $0
+.dc.w $0
+.dc.w $F00
+.dc.w $0
+.dc.w $0
+.dc.w $0
+.dc.w $F000
+.dc.w $0
+.dc.w $0
+.dc.w $0
+.dc.w $0
+.dc.w $F00F
+.dc.w $0
+.dc.w $0
+.dc.w $0
+.dc.w $F0F0
+.dc.w $0
+.dc.w $0
+.dc.w $0
+.dc.w $FF00
+.dc.w $0
+.dc.w $0
+.dc.w $0
+.dc.w $FFFF
+.text
+.data
+L9:
+*line 223
+.dc.l _v_curs0
+*line 224
+.dc.l _v_curs1
+*line 226
+.dc.l _v_curs2
+*line 227
+.dc.l _v_curs3
+*line 229
+.dc.l _v_curs4
+*line 230
+.dc.l _v_curs5
+*line 232
+.dc.l _v_curs6
+*line 234
+.dc.l _v_curs7
+.text
+.globl _gcurpos
+.text
+_gcurpos:
+~~gcurpos:
+~xloc=R7
+~yloc=R6
+link R14,#0
+movem.l R2-R7/R13-R13,-(sp)
+~ab=R5
+~xo=R4
+~yo=R3
+~op=R13
+*line 254
+move 8(R14),R7
+*line 254
+move 10(R14),R6
+*line 254
+*line 254
+cmp #256,R7
+bge L11
+*line 255
+*line 256
+clr R4
+*line 257
+*line 258
+*line 259
+cmp #175,R6
+bge L12
+*line 259
+clr R5
+*line 259
+clr R3
+*line 260
+bra L13
+L12:
+*line 261
+move #4,R5
+*line 261
+move #-15,R3
+L13:
+*line 262
+bra L14
+L11:
+*line 263
+*line 264
+*line 265
+move #-14,R4
+*line 266
+*line 267
+*line 268
+cmp #175,R6
+bge L15
+*line 268
+move #2,R5
+*line 268
+clr R3
+*line 269
+bra L16
+L15:
+*line 270
+move #6,R5
+*line 270
+move #-15,R3
+L16:L14:
+*line 273
+*line 274
+clr R0
+move 10+_v_regs,R0
+and #384,R0
+beq L17
+*line 274
+clr (sp)
+jsr _vbank
+*line 275
+L17:
+*line 276
+or #16,120+_v_odtab
+*line 277
+move #15,(sp)
+jsr _objclr
+*line 279
+move.l #_v_obtab,R13
+*line 280
+move R7,R0
+add R4,R0
+move R0,4(R13)
+*line 281
+move R6,R0
+add R3,R0
+move R0,6(R13)
+*line 282
+move R5,R8
+move R7,R1
+and #1,R1
+add R1,R8
+add.l R8,R8
+add.l R8,R8
+add.l #L9,R8
+move.l (R8),8(R13)
+*line 283
+move 4(R13),R0
+asr #1,R0
+and #1023,R0
+or #1024,R0
+move R0,16(R13)
+*line 285
+move #15,(sp)
+clr -(sp)
+jsr _SetPri
+addq.l #2,sp
+*line 287
+move R6,R0
+ext.l R0
+divs #14,R0
+move R0,_stcrow
+*line 288
+move R7,R0
+asr #3,R0
+move R0,_stccol
+*line 289
+move R5,R0
+move R7,R1
+and #1,R1
+add R1,R0
+bra L10
+L10:tst.l (sp)+
+movem.l (sp)+,R3-R7/R13-R13
+unlk R14
+rts
+.globl _andcopy
+.text
+_andcopy:
+~~andcopy:
+~to=R13
+~from=R12
+~with=R7
+~len=18
+link R14,#0
+movem.l R5-R7/R12-R13,-(sp)
+~i=R6
+*line 307
+move.l 8(R14),R13
+*line 307
+move.l 12(R14),R12
+*line 307
+move 16(R14),R7
+*line 307
+move 18(R14),R6
+bra L21
+L22:
+*line 308
+clr R0
+move R7,R0
+and (R12)+,R0
+move R0,(R13)+
+L20:L21:
+*line 307
+move R6,R0
+sub #1,R6
+tst R0
+bne L22
+L19:L18:tst.l (sp)+
+movem.l (sp)+,R6-R7/R12-R13
+unlk R14
+rts
+.globl _arcurs
+.text
+_arcurs:
+~~arcurs:
+~icolor=8
+link R14,#0
+movem.l R6-R7,-(sp)
+~color=R7
+*line 322
+move 8(R14),(sp)
+jsr _exp_c
+move R0,R7
+*line 324
+*line 325
+clr R0
+move 10+_v_regs,R0
+and #384,R0
+cmp #256,R0
+beq L24
+*line 325
+move #1,(sp)
+jsr _vbank
+*line 326
+L24:
+*line 327
+move #64,(sp)
+move R7,-(sp)
+move.l #L1,-(sp)
+move.l #_v_curs0,-(sp)
+jsr _andcopy
+adda.l #10,sp
+*line 328
+move #64,(sp)
+move R7,-(sp)
+move.l #L2,-(sp)
+move.l #_v_curs1,-(sp)
+jsr _andcopy
+adda.l #10,sp
+*line 329
+move #64,(sp)
+move R7,-(sp)
+move.l #L3,-(sp)
+move.l #_v_curs2,-(sp)
+jsr _andcopy
+adda.l #10,sp
+*line 330
+move #64,(sp)
+move R7,-(sp)
+move.l #L4,-(sp)
+move.l #_v_curs3,-(sp)
+jsr _andcopy
+adda.l #10,sp
+*line 331
+move #64,(sp)
+move R7,-(sp)
+move.l #L5,-(sp)
+move.l #_v_curs4,-(sp)
+jsr _andcopy
+adda.l #10,sp
+*line 332
+move #64,(sp)
+move R7,-(sp)
+move.l #L6,-(sp)
+move.l #_v_curs5,-(sp)
+jsr _andcopy
+adda.l #10,sp
+*line 333
+move #64,(sp)
+move R7,-(sp)
+move.l #L7,-(sp)
+move.l #_v_curs6,-(sp)
+jsr _andcopy
+adda.l #10,sp
+*line 334
+move #64,(sp)
+move R7,-(sp)
+move.l #L8,-(sp)
+move.l #_v_curs7,-(sp)
+jsr _andcopy
+adda.l #10,sp
+L23:tst.l (sp)+
+movem.l (sp)+,R7-R7
+unlk R14
+rts
+.globl _sgcon
+.text
+_sgcon:
+~~sgcon:
+link R14,#-4
+*line 348
+*line 349
+tst _sgcsw
+bne L25
+*line 350
+*line 351
+*line 352
+clr R0
+move 10+_v_regs,R0
+and #384,R0
+beq L26
+*line 352
+clr (sp)
+jsr _vbank
+*line 353
+L26:
+*line 354
+and #-17,120+_v_odtab
+*line 355
+move #1,_sgcsw
+L25:unlk R14
+rts
+.globl _sgcoff
+.text
+_sgcoff:
+~~sgcoff:
+link R14,#-4
+*line 366
+*line 367
+tst _sgcsw
+beq L27
+*line 368
+*line 369
+*line 370
+clr R0
+move 10+_v_regs,R0
+and #384,R0
+beq L28
+*line 370
+clr (sp)
+jsr _vbank
+*line 371
+L28:
+*line 372
+or #16,120+_v_odtab
+*line 373
+clr _sgcsw
+L27:unlk R14
+rts
+.data
