From: Sam on
As I wrote in a older message: I made a couple of cartridges for my
C64 with single .prg games. Last one didn't run but with the help of
iAN I fixed it. Now I have a "Out of memory in 1000" problem with one
of them.

The program is copied from EPROM to RAM. The program starts, music is
playing but after a second the C64 returns to Basic with "Out of
memory in 1000".

Can someone help me with this. ?? The .bin file is here:
http://www.siemappelman.nl/download/cartridge.zip

Regards, SAM
From: Joe Forster/STA on
> The program is copied from EPROM to RAM. The program starts, music is
> playing but after a second the C64 returns to Basic with "Out of
> memory in 1000".

I think the BASIC related printers (memory addresses $002B-$002E and
$0037-$0038, see http://sta.c64.org/cbm64mem.html ) are not set up
properly (or at all).
From: Sam on
On 26 jun, 22:49, "Joe Forster/STA" <s...(a)c64.org> wrote:
> > The program is copied from EPROM to RAM. The program starts, music is
> > playing but after a second the C64 returns to Basic with "Out of
> > memory in 1000".
>
> I think the BASIC related printers (memory addresses $002B-$002E and
> $0037-$0038, seehttp://sta.c64.org/cbm64mem.html) are not set up
> properly (or at all).

Hello Joe,

This is the code in the copy routine who sets the end of the program
memory:

A9 B5 lda #<$9fb5
85 AE sta eal
85 2D vartab
A9 9F lda#>$9fb5
85 AF sta eal+1
85 2E sta vartab+1

vartab = $2d
eal = $ae

What do you think about it ?

SAM



From: Joe Forster/STA on
> This is the code in the copy routine who sets the end of the program
> memory:
>
> A9 B5 lda #<$9fb5
> 85 AE sta eal
> 85 2D vartab
> A9 9F lda#>$9fb5
> 85 AF sta eal+1
> 85 2E sta vartab+1
>
> vartab = $2d
> eal = $ae
>
> What do you think about it ?

I think rather the end of the BASIC area - $0037-$0038 - is not set
up. That often causes weird "... basic bytes free" startup messages as
well as "out of memory" errors.
From: iAN CooG on
Sam <siemappelman(a)quicknet.nl> wrote:
> As I wrote in a older message: I made a couple of cartridges for my
> C64 with single .prg games. Last one didn't run but with the help of
> iAN I fixed it. Now I have a "Out of memory in 1000" problem with one
> of them.
>
> The program is copied from EPROM to RAM. The program starts, music is
> playing but after a second the C64 returns to Basic with "Out of
> memory in 1000".
>
> Can someone help me with this. ?? The .bin file is here:
> http://www.siemappelman.nl/download/cartridge.zip
>
> Regards, SAM

try using these 3 in sequence

jsr $A659
jsr $A533
jmp $A7AE

instead of jmp $801 (it's a basic program not an asm one that starts with
sys 2049!)

Alternatively, you can compress the file before making your eprom, using
exomizer
http://csdb.dk/release/?id=70940

exomizer sfx basic,$0801,$9fb5 smurf.prg -osmurf.exo.prg -n

smurf.exo.prg is now just 11kb ($0801-3454 here, check yourself after you've
done it), and the basic pointer are set correctly by the exomizer unpacker.
It starts with sys 2061 so you have to put JMP $080d in the code. Setting
$2d/$ae to $3454 is not mandatory with exomizer, it ignores them anyway
because the real filesize is stored internally.



--
-=[]=--- iAN CooG/HVSC & C64Intros ---=[]=-