mirror of
https://github.com/mi57730/a2d.git
synced 2024-11-25 10:30:50 +00:00
268 lines
6.2 KiB
PHP
268 lines
6.2 KiB
PHP
;;; ============================================================
|
|
;;; This chunk of code is wedged in between MGTK and the font,
|
|
;;; $851F - $87FF. No references to it have yet been identified.
|
|
|
|
.byte $03
|
|
.addr $85E9
|
|
|
|
L8522: php
|
|
lda winfo7+MGTK::Winfo::port+5,x
|
|
sta $08+1
|
|
ldy #$14
|
|
ldx #$00
|
|
L852C: lda ($08),y
|
|
sta L8590,x
|
|
iny
|
|
inx
|
|
cpx #$04
|
|
bne L852C
|
|
ldy #$1C
|
|
ldx #$00
|
|
L853B: lda ($08),y
|
|
sta L8594,x
|
|
iny
|
|
inx
|
|
cpx #$04
|
|
bne L853B
|
|
ldy #$03
|
|
sub16in ($06),y, L8590, ($06),y
|
|
iny
|
|
sub16in ($06),y, L8592, ($06),y
|
|
ldy #$03
|
|
add16in ($06),y, L8594, ($06),y
|
|
iny
|
|
add16in ($06),y, L8596, ($06),y
|
|
jsr $83A5
|
|
rts
|
|
|
|
L8590: .byte $24
|
|
L8591: .byte $00
|
|
L8592: .byte $23
|
|
L8593: .byte $00
|
|
L8594: .byte $00
|
|
L8595: .byte $00
|
|
L8596: .byte $00
|
|
L8597: .byte $00
|
|
|
|
ldax #0
|
|
: sta $D409,x
|
|
sta $D401,x
|
|
sta $D40D
|
|
inx
|
|
cpx #$04
|
|
bne :-
|
|
lda #$0A
|
|
sta $D40D
|
|
sta $D40F
|
|
|
|
MGTK_RELAY_CALL MGTK::SetPort, $D401
|
|
rts
|
|
|
|
addr_call $6B17, $1A39
|
|
ldx $D5CA
|
|
txs
|
|
rts
|
|
|
|
addr_call $6B17, $1A56
|
|
ldx $D5CA
|
|
txs
|
|
rts
|
|
|
|
addr_call $6B17, $1A71
|
|
ldx $D5CA
|
|
txs
|
|
rts
|
|
|
|
L85E0: cmp #$27
|
|
bne :+
|
|
addr_call $6B17, $1B22
|
|
ldx $D5CA
|
|
txs
|
|
jmp L8625
|
|
|
|
: cmp #$45
|
|
bne :+
|
|
addr_call $6B17, $1B3B
|
|
ldx $D5CA
|
|
txs
|
|
jmp L8625
|
|
|
|
: cmp #$52
|
|
bne :+
|
|
addr_call $6B17, $1B5B
|
|
ldx $D5CA
|
|
txs
|
|
jmp L8625
|
|
|
|
: cmp #$57
|
|
bne L8625
|
|
addr_call $6B17, $1B7C
|
|
ldx $D5CA
|
|
txs
|
|
L8625: MGTK_RELAY_CALL MGTK::HiliteMenu, $D63F ; ???
|
|
rts
|
|
|
|
addr_call $6B17, $1B9C
|
|
ldx $D5CA
|
|
txs
|
|
MGTK_RELAY_CALL MGTK::HiliteMenu, $D63F ; ???
|
|
rts
|
|
|
|
addr_call $6B17, $1BBF
|
|
ldx $D5CA
|
|
txs
|
|
MGTK_RELAY_CALL MGTK::HiliteMenu, $D63F ; ???
|
|
rts
|
|
|
|
sta L8737
|
|
sty L8738
|
|
and #$F0
|
|
sta on_line_unit_num
|
|
sta ALTZPOFF
|
|
MLI_CALL ON_LINE, on_line_params
|
|
sta ALTZPON
|
|
beq L867B
|
|
L8672: pha
|
|
dec $EF8A ; ???
|
|
dec $EF88 ; ???
|
|
pla
|
|
rts
|
|
|
|
L867B: lda on_line_buffer
|
|
beq L8672
|
|
jsr $8388 ; into dynamically loaded code???
|
|
jsr AllocateIcon ; AUX > MAIN call???
|
|
ldy L8738
|
|
sta $D464,y
|
|
asl a
|
|
tax
|
|
copy16 $F13A,x, $06
|
|
ldx #$00
|
|
ldy #$09
|
|
lda #' '
|
|
L869E: sta ($06),y
|
|
iny
|
|
inx
|
|
cpx #$12
|
|
bne L869E
|
|
ldy #$09
|
|
lda on_line_buffer
|
|
and #$0F
|
|
sta on_line_buffer
|
|
sta ($06),y
|
|
ldx #$00
|
|
ldy #$0B
|
|
L86B6: lda on_line_buffer+1,x
|
|
cmp #$41 ; convert to lowercase ???
|
|
bcc L86C4
|
|
cmp #$5F
|
|
bcs L86C4
|
|
clc
|
|
adc #$20
|
|
L86C4: sta ($06),y
|
|
iny
|
|
inx
|
|
cpx on_line_buffer
|
|
bne L86B6
|
|
ldy #9
|
|
lda ($06),y
|
|
clc
|
|
adc #2 ; increase length by 2 (spaces) ???
|
|
sta ($06),y
|
|
lda L8737 ; type?
|
|
and #$0F
|
|
|
|
cmp #$04
|
|
bne L86ED
|
|
ldy #IconEntry::iconbits
|
|
lda #<$14B4 ; $14B4 ???
|
|
sta ($06),y
|
|
iny
|
|
lda #>$14B4
|
|
sta ($06),y
|
|
jmp L870A
|
|
|
|
L86ED: cmp #$0B
|
|
bne L86FF
|
|
ldy #IconEntry::iconbits
|
|
lda #<$1470 ; $1470 ???
|
|
sta ($06),y
|
|
iny
|
|
lda #>$1470
|
|
sta ($06),y
|
|
jmp L870A
|
|
|
|
L86FF: ldy #IconEntry::iconbits
|
|
lda #<$1440 ; $1440 ???
|
|
sta ($06),y
|
|
iny
|
|
lda #>$1440
|
|
sta ($06),y
|
|
|
|
L870A: ldy #IconEntry::win_type
|
|
lda #0
|
|
sta ($06),y
|
|
inc L8738
|
|
lda L8738
|
|
asl a
|
|
asl a
|
|
tax
|
|
ldy #IconEntry::iconx
|
|
: lda L8739,x
|
|
sta ($06),y
|
|
inx
|
|
iny
|
|
cpy #7
|
|
bne :-
|
|
ldx $EF8A
|
|
dex
|
|
ldy #0
|
|
lda ($06),y
|
|
sta $EF8B,x
|
|
jsr $83A5
|
|
return #0
|
|
|
|
L8737: .byte $60 ; file type ???
|
|
L8738: .byte $04
|
|
L8739: .byte $00,$00,$00,$00
|
|
|
|
L873D: DEFINE_POINT 500, 16
|
|
DEFINE_POINT 500, 41
|
|
DEFINE_POINT 500, 66
|
|
DEFINE_POINT 500, 91
|
|
DEFINE_POINT 500, 116
|
|
|
|
DEFINE_POINT 440, 16
|
|
DEFINE_POINT 440, 41
|
|
DEFINE_POINT 440, 66
|
|
DEFINE_POINT 440, 91
|
|
DEFINE_POINT 440, 116
|
|
DEFINE_POINT 440, 141
|
|
|
|
DEFINE_POINT 400, 16
|
|
DEFINE_POINT 400, 41
|
|
DEFINE_POINT 400, 66
|
|
|
|
DEFINE_ON_LINE_PARAMS on_line_params, $60, on_line_buffer ; Slot 6 Drive 1
|
|
on_line_unit_num := on_line_params::unit_num
|
|
|
|
;; Per ProDOS TRM this should be 256 bytes!
|
|
on_line_buffer:
|
|
.byte $0B
|
|
.byte "GRAPHICS.TK",$00,$00,$00,$00,$00
|
|
.byte $00,$00,$00,$00,$00,$00,$00,$00
|
|
.byte $00,$00,$00,$00,$00,$00,$00,$00
|
|
.byte $00,$00,$00,$00,$00,$00,$00,$00
|
|
.byte $00,$00,$00,$00,$00,$00,$00,$00
|
|
.byte $00,$00,$00,$00,$00,$00,$00,$00
|
|
.byte $00,$00,$00,$00,$00,$00,$00,$00
|
|
.byte $00,$00,$00,$00,$00,$00,$00,$00
|
|
.byte $00,$00,$00,$00,$00,$00,$00,$00
|
|
.byte $00,$00,$00,$00,$00,$00,$00,$00
|
|
.byte $00,$00,$00,$00,$00,$00,$00,$00
|
|
.byte $00,$00,$00,$00,$00,$00,$00,$00
|
|
.byte $00,$00,$00,$00,$00,$00,$00,$00
|
|
.byte $00,$00,$00,$00,$00,$00,$00,$00
|
|
.byte $00,$00,$00,$00,$00,$00,$00,$00
|
|
.byte $00,$00,$00,$00,$00,$C8
|