Skip to content

Instantly share code, notes, and snippets.

@ymgve
Created September 30, 2018 21:54
Show Gist options
  • Save ymgve/e6d9b90a0a75077fab79c81320d19079 to your computer and use it in GitHub Desktop.
Save ymgve/e6d9b90a0a75077fab79c81320d19079 to your computer and use it in GitHub Desktop.
;
; +-------------------------------------------------------------------------+
; | This file has been generated by The Interactive Disassembler (IDA) |
; | Copyright (c) 2015 Hex-Rays, <[email protected]> |
; | License info: 48-B611-7234-BB |
; | Doskey Lee, Kingsoft Internet Security Software |
; +-------------------------------------------------------------------------+
;
; Input MD5 : D28E36E9DC60C0F84D8D6E642CEDC8F0
; Input CRC32 : 6FC77259
; ---------------------------------------------------------------------------
; File Name : E:\projects\edos\dupdatatest\loaders\loader04_01.bin
; Format : Binary file
; Base Address: 0000h Range: 0000h - 02E2h Loaded length: 000002E2h
; Processor : NONE []
; Target assembler: Motorola FreeWare Assembler
; ===========================================================================
; Segment type: Pure code
; segment ROM
; assume dp = 0
loc_0: ; DATA XREF: ROM:loc_34r ROM:0038w ...
orcc #$10
lda #$C0 ; '�'
loc_4: ; DATA XREF: ROM:0058w ROM:loc_5Ar ...
tfr a, dp
loc_6: ; DATA XREF: ROM:0068w ROM:0079w ...
jsr $F01B
loc_9: ; DATA XREF: ROM:0054w ROM:018Dw ...
jsr sub_203
loc_C: ; DATA XREF: ROM:0056w ROM:0191w ...
lbcs loc_233
loc_10: ; DATA XREF: ROM:loc_F8r sub_23E+15r
lda #0
jsr $F02D
lda unk_270
loc_18: ; DATA XREF: sub_23E:loc_24Dw
bne loc_1D
loc_1A: ; DATA XREF: sub_23E+7r sub_23E+9w
jsr sub_25D
loc_1D: ; CODE XREF: ROM:loc_18j
; DATA XREF: sub_23E:loc_24Fr ...
jsr sub_1CE
ldd unk_277
subd #$A
std loc_F4+2
lda unk_27B
bne loc_32
lda #$6A ; 'j'
bra loc_34
; ---------------------------------------------------------------------------
loc_32: ; CODE XREF: ROM:002Cj
lda #$6B ; 'k'
loc_34: ; CODE XREF: ROM:0030j
cmpa <loc_0
beq loc_40
sta <loc_0
lda #$10
loc_3C: ; CODE XREF: ROM:003Ej
bita <loc_0+1
bne loc_3C
loc_40: ; CODE XREF: ROM:0036j
ldy unk_271
lbsr sub_1B7
ldu unk_286
ldx unk_288
clra
pshs a
ldb #8
lda #$C0 ; '�'
sta <loc_9+2
sta <loc_C+2
stu <loc_4
loc_5A: ; CODE XREF: ROM:005Fj
bitb <loc_4
sync
tst <loc_0
bmi loc_5A
ldy #$FF
loc_65: ; CODE XREF: ROM:00F0j
lda unk_1B6
stu <loc_6
bitb <loc_4
sync
bitb <loc_0+1
lbne loc_1A5
bitb <loc_4
sync
asla
bcc loc_7D
stu <loc_6
bra loc_7F
; ---------------------------------------------------------------------------
loc_7D: ; CODE XREF: ROM:0077j
stx <loc_6
loc_7F: ; CODE XREF: ROM:007Bj
bitb <loc_4
sync
bitb <loc_4
sync
asla
bcc loc_8C
stu <loc_6
bra loc_8E
; ---------------------------------------------------------------------------
loc_8C: ; CODE XREF: ROM:0086j
stx <loc_6
loc_8E: ; CODE XREF: ROM:008Aj
bitb <loc_4
sync
bitb <loc_4
sync
asla
bcc loc_9B
stu <loc_6
bra loc_9D
; ---------------------------------------------------------------------------
loc_9B: ; CODE XREF: ROM:0095j
stx <loc_6
loc_9D: ; CODE XREF: ROM:0099j
bitb <loc_4
sync
bitb <loc_4
sync
asla
bcc loc_AA
stu <loc_6
bra loc_AC
; ---------------------------------------------------------------------------
loc_AA: ; CODE XREF: ROM:00A4j
stx <loc_6
loc_AC: ; CODE XREF: ROM:00A8j
bitb <loc_4
sync
bitb <loc_4
sync
asla
bcc loc_B9
stu <loc_6
bra loc_BB
; ---------------------------------------------------------------------------
loc_B9: ; CODE XREF: ROM:00B3j
stx <loc_6
loc_BB: ; CODE XREF: ROM:00B7j
bitb <loc_4
sync
bitb <loc_4
sync
asla
bcc loc_C8
stu <loc_6
bra loc_CA
; ---------------------------------------------------------------------------
loc_C8: ; CODE XREF: ROM:00C2j
stx <loc_6
loc_CA: ; CODE XREF: ROM:00C6j
bitb <loc_4
sync
bitb <loc_4
sync
asla
bcc loc_D7
stu <loc_6
bra loc_D9
; ---------------------------------------------------------------------------
loc_D7: ; CODE XREF: ROM:00D1j
stx <loc_6
loc_D9: ; CODE XREF: ROM:00D5j
bitb <loc_4
sync
bitb <loc_4
sync
asla
bcc loc_E6
stu <loc_6
bra loc_E8
; ---------------------------------------------------------------------------
loc_E6: ; CODE XREF: ROM:00E0j
stx <loc_6
loc_E8: ; CODE XREF: ROM:00E4j
bitb <loc_4
sync
bitb <loc_4
sync
leay -1,y
lbne loc_65
loc_F4: ; DATA XREF: ROM:0026w
ldy #0
loc_F8: ; CODE XREF: ROM:0182j
lda <loc_10+1
stu <loc_6
bitb <loc_4
sync
bitb <loc_0+1
lbne loc_1A5
bitb <loc_4
sync
asla
bcc loc_10F
stu <loc_6
bra loc_111
; ---------------------------------------------------------------------------
loc_10F: ; CODE XREF: ROM:0109j
stx <loc_6
loc_111: ; CODE XREF: ROM:010Dj
bitb <loc_4
sync
bitb <loc_4
sync
asla
bcc loc_11E
stu <loc_6
bra loc_120
; ---------------------------------------------------------------------------
loc_11E: ; CODE XREF: ROM:0118j
stx <loc_6
loc_120: ; CODE XREF: ROM:011Cj
bitb <loc_4
sync
bitb <loc_4
sync
asla
bcc loc_12D
stu <loc_6
bra loc_12F
; ---------------------------------------------------------------------------
loc_12D: ; CODE XREF: ROM:0127j
stx <loc_6
loc_12F: ; CODE XREF: ROM:012Bj
bitb <loc_4
sync
bitb <loc_4
sync
asla
bcc loc_13C
stu <loc_6
bra loc_13E
; ---------------------------------------------------------------------------
loc_13C: ; CODE XREF: ROM:0136j
stx <loc_6
loc_13E: ; CODE XREF: ROM:013Aj
bitb <loc_4
sync
bitb <loc_4
sync
asla
bcc loc_14B
stu <loc_6
bra loc_14D
; ---------------------------------------------------------------------------
loc_14B: ; CODE XREF: ROM:0145j
stx <loc_6
loc_14D: ; CODE XREF: ROM:0149j
bitb <loc_4
sync
bitb <loc_4
sync
asla
bcc loc_15A
stu <loc_6
bra loc_15C
; ---------------------------------------------------------------------------
loc_15A: ; CODE XREF: ROM:0154j
stx <loc_6
loc_15C: ; CODE XREF: ROM:0158j
bitb <loc_4
sync
bitb <loc_4
sync
asla
bcc loc_169
stu <loc_6
bra loc_16B
; ---------------------------------------------------------------------------
loc_169: ; CODE XREF: ROM:0163j
stx <loc_6
loc_16B: ; CODE XREF: ROM:0167j
bitb <loc_4
sync
bitb <loc_4
sync
asla
bcc loc_178
stu <loc_6
bra loc_17A
; ---------------------------------------------------------------------------
loc_178: ; CODE XREF: ROM:0172j
stx <loc_6
loc_17A: ; CODE XREF: ROM:0176j
bitb <loc_4
sync
bitb <loc_4
sync
leay -1,y
lbne loc_F8
bitb <loc_4
sync
lda <loc_0
sta <loc_0
clr <loc_9+2
lda #$40 ; '@'
sta <loc_C+2
leas 1,s
jsr sub_21D
lbcs loc_233
jsr $F015
lda #0
jsr $F02D
rts
; ---------------------------------------------------------------------------
loc_1A5: ; CODE XREF: ROM:006Fj ROM:0101j
clr <loc_9+2
lda #$40 ; '@'
sta <loc_C+2
leas 1,s
jsr $F015
lbsr sub_23E
lbra loc_233
; ---------------------------------------------------------------------------
unk_1B6: fcb 0 ; DATA XREF: ROM:loc_65r
; =============== S U B R O U T I N E =======================================
sub_1B7: ; CODE XREF: ROM:0044p sub_293+7p ...
pshs x,y
cmpy #0
beq locret_1CC
loc_1BF: ; CODE XREF: sub_1B7+13j
ldx #$1388
loc_1C2: ; CODE XREF: sub_1B7+Fj
andcc #$FF
leax -1,x
bne loc_1C2
leay -1,y
bne loc_1BF
locret_1CC: ; CODE XREF: sub_1B7+6j
puls pc,y,x
; End of function sub_1B7
; =============== S U B R O U T I N E =======================================
sub_1CE: ; CODE XREF: ROM:loc_1DP
ldu #$271
ldb #$A
loc_1D3: ; CODE XREF: sub_1CE+Bj
jsr $F030
sta ,u+
decb
bne loc_1D3
rts
; End of function sub_1CE
; =============== S U B R O U T I N E =======================================
sub_1DC:
lda <loc_0
anda #$83 ; '�'
oraa #$27 ; '''
ldb <loc_0
orab #$7C ; '|'
cmpb <loc_0
beq loc_1EF
stb <loc_0
jsr $F02A
loc_1EF: ; CODE XREF: sub_1DC+Cj
sta <loc_0
lda #$10
pshs x
ldx #$8000
loc_1F8: ; CODE XREF: sub_1DC+22j
leax -1,x
beq loc_200
bita <loc_0+1
bne loc_1F8
loc_200: ; CODE XREF: sub_1DC+1Ej
puls x
rts
; End of function sub_1DC
; =============== S U B R O U T I N E =======================================
sub_203: ; CODE XREF: ROM:loc_9P
lda #8
bita <loc_0+1
beq loc_20D
lda #1
bra loc_21A
; ---------------------------------------------------------------------------
loc_20D: ; CODE XREF: sub_203+4j
lda #$20 ; ' '
bita <loc_0+1
bne loc_217
lda #2
bra loc_21A
; ---------------------------------------------------------------------------
loc_217: ; CODE XREF: sub_203+Ej
; sub_21D:loc_231j
andcc #$FE ; '�'
rts
; ---------------------------------------------------------------------------
loc_21A: ; CODE XREF: sub_203+8j sub_203+12j ...
orcc #1
rts
; End of function sub_203
; =============== S U B R O U T I N E =======================================
sub_21D: ; CODE XREF: ROM:0195P
lda #8
bita <loc_0+1
beq loc_227
lda #1
bra loc_21A
; ---------------------------------------------------------------------------
loc_227: ; CODE XREF: sub_21D+4j
lda #$10
bita <loc_0+1
beq loc_231
lda #3
bra loc_21A
; ---------------------------------------------------------------------------
loc_231: ; CODE XREF: sub_21D+Ej
bra loc_217
; End of function sub_21D
; ---------------------------------------------------------------------------
loc_233: ; CODE XREF: ROM:loc_Cj ROM:0198j ...
pshs a
jsr $F015
puls a
jsr $F02D
rts
; =============== S U B R O U T I N E =======================================
sub_23E: ; CODE XREF: ROM:01B0p
pshs a,b,x
ldx #$10
ldb #$DF ; '�'
andb <loc_1A+1
stb <loc_1A+1
ldb #$20 ; ' '
lda #2
loc_24D: ; CODE XREF: sub_23E+17j
stx <loc_18
loc_24F: ; CODE XREF: sub_23E+1Bj
bita <loc_1D
beq loc_257
bita <loc_10+1
bra loc_24D
; ---------------------------------------------------------------------------
loc_257: ; CODE XREF: sub_23E+13j
bitb <loc_1D
beq loc_24F
puls pc,x,b,a
; End of function sub_23E
; =============== S U B R O U T I N E =======================================
sub_25D: ; CODE XREF: ROM:loc_1AP
ldu #$27B
ldb #$18
loc_262: ; CODE XREF: sub_25D+Bj
jsr $F030
sta ,u+
decb
bne loc_262
lda #$FF
sta unk_270
rts
; End of function sub_25D
; ---------------------------------------------------------------------------
unk_270: fcb 0 ; DATA XREF: ROM:0015r sub_25D+Fw
unk_271: fcb 0 ; DATA XREF: ROM:loc_40r
fcb 0
fcb 0
fcb 0
fcb 0
fcb 0
unk_277: fcb 0 ; DATA XREF: ROM:0020r
fcb 0
fcb 0
fcb 0
unk_27B: fcb 0 ; DATA XREF: ROM:0029r
fcb 0
fcb 0
fcb 0
fcb 0
fcb 0
fcb 0
fcb 0
fcb 0
fcb 0
fcb 0
unk_286: fcb 0 ; DATA XREF: ROM:0047r
fcb 0
unk_288: fcb 0 ; DATA XREF: ROM:004Ar
fcb 0
fcb 0
fcb 0
fcb 0
fcb 0
fcb 0
fcb 0
fcb 0
fcb 0
fcb 0
; =============== S U B R O U T I N E =======================================
sub_293: ; CODE XREF: sub_2BD+9p
jsr $F000
ldy #$14
lbsr sub_1B7
jsr $F003
ldy #$14
lbsr sub_1B7
rts
; End of function sub_293
; =============== S U B R O U T I N E =======================================
sub_2A8: ; CODE XREF: sub_2BD+11p
jsr $F000
ldy #$28 ; '('
lbsr sub_1B7
jsr $F003
ldy #$28 ; '('
lbsr sub_1B7
rts
; End of function sub_2A8
; =============== S U B R O U T I N E =======================================
sub_2BD:
pshs a,b,x,y,u
lda #8
loc_2C1: ; CODE XREF: sub_2BD+16j
aslb
bcs loc_2CC
pshs a,b
bsr sub_293
puls b,a
bra loc_2D2
; ---------------------------------------------------------------------------
loc_2CC: ; CODE XREF: sub_2BD+5j
pshs a,b
bsr sub_2A8
puls b,a
loc_2D2: ; CODE XREF: sub_2BD+Dj
deca
bne loc_2C1
puls pc,u,y,x,b,a
; End of function sub_2BD
; =============== S U B R O U T I N E =======================================
sub_2D7:
pshs a,b,x,y,u
ldy #$28 ; '('
lbsr sub_1B7
puls pc,u,y,x,b,a
; End of function sub_2D7
; end of 'ROM'
end
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment