[Coco] Mass flasher user input pls

Barry Nelson barry.nelson at amobiledevice.com
Fri Nov 3 18:13:18 EDT 2017


By prepending the program below in front of any bin file, including the bin headers, you can turn almost any bin into a bank switched rom that can be flashed into a CoCo Flash.

                :00001         ORG        $C000
     02DD       :00002 ADDRSS  EQU        $02DD    RAM LOCATION LOADER
C000 308C11     :00003 LOADER  LEAX       STARTLD,PCR Setup to copy to RAM
C003 108E02DD   :00004         LDY        #ADDRSS  Destination
C007 A680       :00005 RAMCPY  LDA        ,X+
C009 A7A0       :00006         STA        ,Y+
C00B 108C0342   :00007         CMPY       #ADDRSS+LDEND-STARTLD
C00F 2FF6       :00008         BLE        RAMCPY
C011 7E02DD     :00009         JMP        ADDRSS
C014 4F         :00010 STARTLD CLRA
C015 B7FF40     :00011         STA        $FF40   SET ROM BANK TO 0
C018 A78C5D     :00012         STA        BANKN,PCR
                :00013 * THIS SUBROUTINE STORES A ZEROS AT $C000 IN RAM
                :00014 * THIS IS NEEDED FOR A COCO 3
C01B B7FFDF     :00015         STA        $FFDF
C01E 8EC000     :00016         LDX        #$C000
C021 A780       :00017 CLRLOOP STA        ,X+
C023 8CC0FF     :00018         CMPX       #$C0FF
C026 2FF9       :00019         BLE        CLRLOOP
C028 B7FFDE     :00020         STA        $FFDE
                :00021 * Now setup basic
C02B 8655       :00022         LDA        #85      SET WARM RESET 
C02D 9771       :00023         STA        113 
C02F CC80C0     :00024         LDD        #32960   SET EXTENDED BASIC RESET VECTOR 
C032 DD72       :00025         STD        114 
C034 BDB95C     :00026         JSR        47452    SET UP PARAMETERS FOR BASIC 
C037 8635       :00027         LDA        #53      RESTORE INTERRUPTS 
C039 B7FF03     :00028         STA        65283    THAT ARE 
C03C 8634       :00029         LDA        #52      DISABLED ON 
C03E B7FF23     :00030         STA        65315    CARTRIDGE AUTO START 
C041 3440       :00031         PSHS       U
C043 CEC079     :00032 BASIN   LDU        #BINLOD+$8000
C046 10AE43     :00033         LDY        3,U      TARGET ADDRESS
C049 3045       :00034         LEAX       5,U      START OF ML
C04B EC41       :00035         LDD        1,U      LENGTH
C04D E343       :00036         ADDD       3,U      CALCULATE END ADDRESS
C04F 3540       :00037         PULS       U
C051 FD02DD     :00038         STD        733      STORE END ADDRESS
C054 A680       :00039 MLCOPY  LDA        ,X+      COPY ML PROGRAM TO RAM
C056 A7A0       :00040         STA        ,Y+
C058 8CFE00     :00041         CMPX       #$FE00
C05B 2D0D       :00042         BLT        NOTNXT
C05D A68C18     :00043         LDA        BANKN,PCR
C060 4C         :00044         INCA
C061 A78C14     :00045         STA        BANKN,PCR CHANGE TO NEXT ROM BANK
C064 B7FF40     :00046         STA        $FF40    SET ROM BANK NUMBER
C067 8EC000     :00047         LDX        #$C000   START AGAIN AT BEGINING OF ROM
C06A 10BC02DD   :00048 NOTNXT  CMPY       733
C06E 2DE4       :00049         BLT        MLCOPY
C070 10AE03     :00050         LDY        3,X      GET EXEC ADDRESS
C073 4F         :00051         CLRA
C074 9770       :00052         STA        112      SET CONSOLE IN BUFFER FLAG 
C076 6EA4       :00053         JMP        ,Y
C078 00         :00054 BANKN   FCB        0
     C079       :00055 LDEND   EQU        *
     C079       :00056 BINLOD  EQU        *
                :00057         END        LOADER


More information about the Coco mailing list