PR#3 PREFIX /A2OSX.BOOT DELETE A2OSX.SYSTEM PREFIX /A2OSX.SRC NEW INC 1 AUTO 8 .LIST OFF *-------------------------------------- * ****** START OF MLI QUIT CODE ****** * Load Address :$1000-$12FF *-------------------------------------- MLIOPEN00.PATH .EQ $200 MLIOPEN00.BUFF .EQ $0C00 1k Buffer for MLI open MLIREAD00.ADDR .EQ $2000 for loading KERNEL *-------------------------------------- .PH $1000 *-------------------------------------- * Kernel Stage 1 *-------------------------------------- A2osX.QC.Start .EQ * A2osX.QC cld jmp A2osX.QC.Start1 A2osX.QC.Prefix .BS 64 A2osX.QC.Start1 sei ldx #$FF txs cli bit RROMBNK1 >LDYAI A2osX.QC >STYA POWERUP jsr SETPWRC ldx #$17 .1 stz MEMTABL,x Reset ProDOS memory bitmap dex bpl .1 lda #$CF protect zero page, stack and page 1 sta MEMTABL lda #$07 sta MEMTABL+$17 protect ProDOS & A2osX global page lda #$8C Reset 80 col screen ($0C=FF=HOME) jsr $C300 >LDAXI MSG.INIT1 jsr A2osX.QC.PrintAX .3 jsr MLI .DA #MLISETPREFIX .DA MLISETPREFIX00 bcc .4 >LDAXI MSG.SETPREFIXKO jsr A2osX.QC.PrintAX >LDAXI A2osX.QC.Prefix jsr A2osX.QC.PrintAX >DEBUGOA bra .3 .4 >LDAXI MSG.SETPREFIXOK jsr A2osX.QC.PrintAX >LDAXI MSG.KLOADING jsr A2osX.QC.PrintAX jsr A2osX.QC.KLoad bcs .9 * >LDYAI GO.Reset * >STYA POWERUP * bit RROMBNK1 * jsr SETPWRC >LDAXI MSG.INIT1OK jsr A2osX.QC.PrintAX >DEBUGOA jmp $2000 .9 >LDAXI MSG.KLOADING.KO jsr A2osX.QC.PrintAX bra * *-------------------------------------- A2osX.QC.KLoad ldx A2osX.QC.Prefix .1 lda A2osX.QC.Prefix,x sta MLIOPEN00.PATH,x dex bne .1 ldx A2osX.QC.Prefix ldy #0 .2 lda SYSKERNEL+1,y sta MLIOPEN00.PATH+1,x inx iny cpy SYSKERNEL bne .2 stx MLIOPEN00.PATH >LDAXI MLIOPEN00.PATH jsr A2osX.QC.PrintAX jsr MLI .DA #MLIOPEN .DA MLIOPEN00 bcs .9 lda MLIOPEN00+5 sta MLIREAD00+1 sta MLICLOSE00+1 jsr MLI .DA #MLIREAD .DA MLIREAD00 bcs .9 jsr MLI .DA #MLICLOSE .DA MLICLOSE00 .9 rts *-------------------------------------- A2osX.QC.PrintAX >STAX TmpPtr1 lda (TmpPtr1) tax beq .9 ldy #1 .1 lda (TmpPtr1),y ora #$80 jsr COUT iny dex bne .1 .9 jsr CROUT rts *-------------------------------------- MLISETPREFIX00 .DA #1 .DA A2osX.QC.Prefix MLIOPEN00 .DA #3 .DA MLIOPEN00.PATH .DA MLIOPEN00.BUFF .BS 1 MLIREAD00 .DA #4 .BS 1 .DA MLIREAD00.ADDR .DA $8000 .BS 2 MLICLOSE00 .DA #1 .BS 1 *-------------------------------------- SYSKERNEL >PSTR "SYS/KERNEL" *-------------------------------------- MSG.INIT1 >PSTR "A2osX[Stage1]:Init" MSG.SETPREFIXOK >PSTR "Set Prefix OK" MSG.SETPREFIXKO >PSTR "Insert Vol:" MSG.KLOADING >PSTR "Loading Kernel..." MSG.KLOADING.KO >PSTR "Error While Loading Kernel." MSG.INIT1OK >PSTR "A2osX[Stage1]:Complete." *-------------------------------------- .BS $1300-* .EP *-------------------------------------- MAN SAVE A2OSX.S.QC LOAD A2OSX.S ASM