[Coco] Coco SDC Explorer 0.21
Barry Nelson
barry.nelson at amobiledevice.com
Wed Nov 2 03:01:49 EDT 2016
> Darren A mechacoco at gmail.comĀ <mailto:coco%40maltedmedia.com?Subject=Re%3A%20%5BCoco%5D%20Coco%20SDC%20Explorer%200.21&In-Reply-To=%3CCAE8FjTahLeQd1J69kRs%2Bw%3DrjYkLWUUXf%3DyB9rqh%3D-dD6zK%2BDUQ%40mail.gmail.com%3E>
> Tue Nov 1 22:04:24 EDT 2016
> On Tue, Nov 1, 2016 at 7:25 PM, Allen Huffman wrote:
>
> > NIck, DOS boot will do the trick, but you will need it mounted in DRIVE 0.
> > Carl England's SuperBOOT would be ideal if he's ever made it available.
> >
> >
>
> If it can be made to run from ROM (or a ROM loader which copies it into
> RAM), put it into one of the SDC flash banks. Then you can just enter RUN
> @bank.
>
>
> - Darren
I wrote the program below to load any bin file from ROM. You actually append the entire bin file including the headers to the compiled ROM code, the loader reads the bin file headers and loads the file to the proper location. I do see a possible problem though, after loading the bin and running it, SDC DOS will not be resident, no DOS, only Extended Color BASIC. I do not know if that will be an issue, though I suspect it may be.
ORG $C000
ADDRSS EQU 9728 RAM LOCATION FOR CLRC000 ROUTINE
LOADER LEAX CLRC000,PCR Setup to copy CLRC000 routine
LDY #ADDRSS Destination
CLRCPY LDA ,X+
STA ,Y+
CMPY #ADDRSS+CLREND-CLRC000
BLE CLRCPY
* STORE ZEROS AT $C000 IN RAM THEN SET ROM MODE AGAIN AND RETURN
JSR ADDRSS
LDA #85 SET WARM RESET
STA 113
LDD #32960 SET EXTENDED BASIC RESET VECTOR
STD 114
JSR 47452 SET UP PARAMETERS FOR BASIC
LDA #53 RESTORE INTERRUPTS
STA 65283 THAT ARE
LDA #52 DISABLED ON
STA 65315 CARTRIDGE AUTO START
PSHS U
BASIN LEAU BINLOD,PCR
LDY 3,U TARGET ADDRESS
LEAX 5,U START OF ML
LDD 1,U LENGTH
ADDD 3,U CALCULATE END ADDRESS
PULS U
STD 733 STORE END ADDRESS
MLCOPY LDA ,X+ COPY ML PROGRAM TO RAM
STA ,Y+
CMPY 733
BLT MLCOPY
LDY 3,X GET EXEC ADDRESS
CLRA
STA 112 SET CONSOLE IN BUFFER FLAG
JMP ,Y
* THIS SUBROUTINE STORES A ZEROS AT $C000 IN RAM
* THIS IS NEEDED FOR A COCO 3
* IT IS COPIED TO RAM BEFORE BEING CALLED
CLRC000 CLRA
STA $FFDF
LDX #$C000
CLRLOOP STA ,X+
CMPX #$C0FF
BLE CLRLOOP
STA $FFDE
RTS
CLREND EQU *
BINLOD EQU *
END LOADER
* BIN file data including headers goes here.
More information about the Coco
mailing list