|
Post by VDC 8x2 on Jul 29, 2016 23:56:42 GMT
Here is a disassembly of geos128: the first file you run to start geos128.
.namespace J { .label SETMSG = $FF90 .label SETBNK = $FF68 .label SETNAM = $ffbd .label SETLFS = $FFBA .label LOAD = $ffbd } .namespace MMU { .label RCR = $d506 .label CR = $ff00 } .label FA = $ba //current divice number .pseudocommand mov src;tar { lda src sta tar } .pc = $1c00 "basic start code" :BasicUpstart(7184)
.pc = $1c10 "main" main: lda #$00 jsr J.SETMSG //kernal msg off lda #$01 //bank 1 to load into ldx #$00 //fn im bank 0 jsr J.SETBNK //SET bank for filename and data lda #$0a ldx #<nextFile ldy #>nextFile jsr J.SETNAM //filename is GEOBOOT128 lda #$50 //logical filenumber ldx FA //drive number ldy #$01 //secondary address jsr J.SETLFS lda #$00 ldx #$ff ldy #$ff jsr J.LOAD //load at $ffff and wrap around bcc !skip+ //load was fine jmp ($0302) //back to basic !skip: :mov #$06 ; MMU.RCR //8K Shared ram at bottom of memory :mov #$7e ; MMU.CR //bank 1 with i0 banked in jsr $2f3c //what this in geoboot128? nextFile: .text "GEOBOOT128"
It looks like it loads geoboot128 at $ffff and loops back to bank 1 $00 and up.
|
|