[Coco] Programs larger than 32K?

Arthur Flexser flexser at fiu.edu
Sat Jan 19 20:04:34 EST 2019


Maybe the program below, which I wrote in 1984 and ran across a copy of,
can do the trick for you?  It doesn't use the all-RAM mode, but gives you
some extra memory by freeing up the area used by disk Basic to give you
memory equivalent to what you'd have with a cassette-only system, freeing
up an extra 2K or so.

In general, going to the all-RAM mode will not give you any extra memory
that Basic can make use of in a CoCo 1/2  Special tricks are needed to use
the all-RAM mode to get extra memory under Basic.

I believe there were some commercial programs for the CoCo 1/2 that might
accomplish what you want and which might be in the archives, but I don't
know the names of them.  I think the one Curtis referred to was called
KEY264K.  I think there was a program that moved a RAM copy of the ROMs
higher up in memory to allow Basic extra memory, resembling a mode that the
Dragon computers used.  There were definitely programs for the CoCo 3 to
allow Basic to make use of that computer's extra memory from Basic, like
Big Basic from Danosoft, but you're using a CoCo 2.

You get an extra 8K for each amount you decrease the PCLEAR value by from
its default value of 4.
If you don't need any memory for graphics, use the poke to allow PCLEAR 0.
Try PCLEAR 1 or, if needed, PCLEAR 0 to see if Basic will then have enough
memory to load in the program.

Art

10 'THIS LOADER PROGRAM WILL ENABLE DISK USERS TO RUN EXTENDED BASIC
GRAPHICS PROGRAMS
20 'THAT ARE ORDINARILY TOO LARGE TO BE RUN ON A DISK SYSTEM.
30 'THIS IS ACCOMPLISHED BY HAVING GRAPHICS MEMORY START AT $600,
40 'AS IN EXTENDED BASIC, RATHER THAN AT $E00, SO THAT MEMORY AVAILABLE TO
BASIC IS THE SAME AS WITHOUT DISK.
50 'TO USE, JUST SUBSTITUTE THE NAME OF YOUR PROGRAM FOR "PROGNAME" IN THE
NEXT TO LAST LINE.
60 'YOU MAY ALSO NEED TO CHANGE THE PCLEAR VALUE IN THE LAST LINE (MINIMUM
OF PCLEAR 2 REQUIRED).
70 'YOU SHOULD ADD THE STATEMENT POKE&HFF40,0 TO THE START OF YOUR
80 'GRAPHICS PROGRAM, SO THAT THE DISK MOTOR WILL SHUT OFF.
90 'THIS LOADER WILL LEAVE THE COMPUTER IN A *VERY ABNORMAL* STATE
100 'ONCE ANY GRAPHICS HAVE BEEN DRAWN--BE SURE TO COLD START
110 'BEFORE ANY FURTHER DISK OPERATIONS ARE ATTEMPTED.
120 '
130 'ART FLEXSER [72355,407]      MIAMI       JULY 1984
140 '
150 GOTO310
160 CLS:PRINT at 104, "***IMPORTANT!***"
170 PRINT: PRINTTAB(5)"AFTER RUNNING PROGRAM,"
180 PRINTTAB(6)"PRESS RESET TO COLD"
190 PRINTTAB(6)"START MACHINE BEFORE"
200 PRINTTAB(6)"ATTEMPTING ANY DISK"
210 PRINTTAB(5)"OPERATIONS, OR DAMAGE"
220 PRINTTAB(6)"TO FILES MAY RESULT!"
230 POKE&HFF03,&H34: POKE&H10D,&H89:POKE&H10E,&H4C: POKE&HFF03, &H35
'EXTENDED BASIC IRQ SERVICING ONLY
240 POKE&HB0,1:POKE&HB1,&H3F 'MOVE USR VECTORS TO $13F
250 'CHANGE 3 HOOKS TO EXTENDED BASIC VALUES
260 POKE&H18B,57:POKE396,136:P0KE397,70:POKE395,126 'EXPRESSION EVAL
270 POKE&H173,H39 'CLOSE FILE
280 POKE&H192,&H88:POKE&H193,&HF0 'ERROR DRIVER
290 POKE&H71,0 'COLD START ON RESET
300 RUN "PROGNAME"
310 POKE&HBC,6:PMODE0:PCLEAR4:GOTO160 'SET START OF GRAPHICS TO $600


On Sat, Jan 19, 2019 at 5:46 PM Evan Wright via Coco <coco at maltedmedia.com>
wrote:

> Apologies for the second plea for help....
> Is there a way to load a program BASIC that is more than 32K?   (I have a
> program that is too large to fit into the  CoCo 2 when it's not in all-RAM
> mode)
> If put the machine in all-RAM mode from BASIC the machine crashes (which
> is kind of expected). But,  I can't have the program put the machine in all
> RAM mode, because I can't get it loaded in the first place (the CMOC
> nobasic example).
> Do people have a main segment that is less than 32k, which puts the CoCo
> in all-RAM mode, then load the remaining data from separate files?
> Evan
>
>
> --
> Coco mailing list
> Coco at maltedmedia.com
> https://pairlist5.pair.net/mailman/listinfo/coco
>


More information about the Coco mailing list