A2osX/BIN/MD.S.txt
2015-06-03 20:30:57 +02:00

134 lines
2.4 KiB
Plaintext
Raw Blame History

This file contains invisible Unicode characters

This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

PR#3
PREFIX /A2OSX.SRC
NEW
INC 1
AUTO 6
.LIST OFF
.OP 65C02
.OR $2000
.TF /A2OSX.BOOT/BIN/MD
*--------------------------------------
.INB INC/MACROS.I
.INB INC/KERNEL.I
.INB INC/A2OSX.I
.INB INC/A2OSX.API.I
.INB INC/LIBSTR.I
*--------------------------------------
ZPPTR1 .EQ ZPBIN
ZPPTR2 .EQ ZPBIN+2
*--------------------------------------
* File Header (16 Bytes)
*--------------------------------------
CS.START cld
jmp (.1,x)
.DA #$61 6502,Level 1 (65c02)
.DA #1 BIN Layout Version 1
.DA 0
.DA CS.END-CS.START Code Length To Relocate
.DA 0
.DA 0
.DA 0
*--------------------------------------
* Relocation Table
*--------------------------------------
.1 .DA CS.INIT
.DA CS.RUN
.DA CS.DOEVENT
.DA CS.QUIT
.DA 0
*--------------------------------------
CS.INIT stz hFullPath
ldy #S.PS.hARGS
lda (pPs),y
beq .9
>SYSCALL SYS.GetMemPtrA
>STYA ZPQuickPtr1
lda (ZPQuickPtr1)
beq .9
ldy #1
lda (ZPQuickPtr1),y
cmp #'/'
bne .1
ldy #S.PS.hARGS
lda (pPs),y
bra .2
.1 ldy #S.PS.hARGS
lda (pPs),y
>PUSHA
ldy #S.PS.hPREFIX
lda (pPs),y
>PUSHA
>SYSCALL SYS.PStrCat
sta hFullPath
.2 >SYSCALL SYS.MLICreateDirA
bcc .8
pha
jsr .8
pla
sec
rts
.8 lda hFullPath
beq .88
>SYSCALL SYS.FreeMemA
.88 clc
rts
.9 lda hFullPath
beq .99
>SYSCALL SYS.FreeMemA
.99 lda #SYSMGR.ERRSYN
sec
rts
*--------------------------------------
CS.RUN sec
rts
*--------------------------------------
CS.DOEVENT sec
rts
*--------------------------------------
CS.QUIT clc
rts
*--------------------------------------
PRBYTE pha
lsr
lsr
lsr
lsr
ora #$B0
cmp #$BA
bcc .1
adc #6
.1 jsr COUT
pla
and #$0F
ora #$B0
cmp #$BA
bcc COUT
adc #6
bra COUT
*--------------------------------------
CROUT lda #13
*--------------------------------------
COUT phx
phy
ldx #DEVMGR.COUT
jsr pDevJmp
ply
plx
rts
pDevJmp jmp (pDev)
*--------------------------------------
CS.END
hFullPath .BS 1
*--------------------------------------
MAN
SAVE BIN/MD.S
ASM