From: Sam on 26 Jun 2010 16:30 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 26 Jun 2010 16:49 > 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 26 Jun 2010 17:40 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 27 Jun 2010 08:44 > 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 27 Jun 2010 09:32 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 ---=[]=-
|
Next
|
Last
Pages: 1 2 3 Prev: Wanted : BASM by Computer Alliance Next: 2010 FIFA Cup and Commodore 64 |