Thread Rating:
  • 0 Vote(s) - 0 Average
  • 1
  • 2
  • 3
  • 4
  • 5
Maximal size for a compiled program
#1
Hi, I am developing game with ZX Basic for a Spectrum 48k and when total size of compiled code approach up to 35-36K shit happens. Program can hang on or some pixels on screen are highlighted or INKEY stops to working.
Is there some limit?

I load code at address 24576 (24K) so I thought I have 40K room for free.
Reply
#2
(11-09-2019, 04:27 PM)Week of the agents Wrote: Hi, I am developing game with ZX Basic for a Spectrum 48k and when total size of compiled code approach up to 35-36K shit happens. Program can hang on or some pixels on screen are highlighted or INKEY stops to working.
Is there some limit?

I load code at address 24576 (24K) so I thought I have 40K room for free.
Theoretically it should work ok. If you don't use strings or do little usage of them, try reducing the heap (4k by default) compiling with the flag:
--heap-size=1024 for example (1k for heap). I recommend not to reduce heap size below 512.

Try please, and tell me.
Rolleyes
Reply
#3
TY for answer. I'm not using PRINT, RANDOMIZE even DO LOOP for minimize heap (GOTO everywhere). I already kill half of graphics cos of this ))) Will try your tip.

OK, I've set heap to 1k and continue to develop. Will report any result.
Reply
#4
Shocked 
[Image: bug.png?raw=1]

Nope, heap did not help  Sad
After several rooms I got this and later program stops react on keyboard events
Code size 36253
Compiler params
--tap --org=24576 --autorun --BASIC --optimize 2 --heap-size=512
Reply
#5
(11-10-2019, 08:34 PM)Week of the agents Wrote: [Image: bug.png?raw=1]

Nope, heap did not help  Sad
After several rooms I got this and later program stops react on keyboard events
Code size 36253
Compiler params
--tap --org=24576 --autorun --BASIC --optimize 2 --heap-size=512
Maybe if you compress the graphics and data and uncompress it when needed, can reduce the size of your programm? I used this in "Yumiko". Everytime the player changed move direction, a complete animation set was replaced. Also level data was compressed.
------------------------------------------------------------
http://lcd-one.da.ru redirector is dead
Visit my http://members.inode.at/838331/index.html home page!
Reply
#6
I have my own compress method, but mb can find another. I'd tried to reverse direction with procedure but lost FPS.
Reply
#7
(11-10-2019, 08:34 PM)Week of the agents Wrote: Nope, heap did not help  Sad
After several rooms I got this and later program stops react on keyboard events
Code size 36253
Compiler params
--tap --org=24576 --autorun --BASIC --optimize 2 --heap-size=512

First, congrats, the screen looks impressive.
It could be also stack corruption. Can you try --org=25000?
The screen might be corrupted due to a crash.
Reply
#8
I'd tried. But got same shit.
Now, I've rebuilded data structures and tomorrow would continue programming. Will see.
Reply
#9
Also, I've detected a memory leak bug that fix yesterday. It happens when you use something like:
Code:
LET myString$(1) = "A"

If so, you should download this beta version that has the bug fixed:
http://www.boriel.com/.../zxb/zxbasic-1....-win32.zip
http://www.boriel.com/files/zxb/zxbasic-...ta1.tar.gz
http://www.boriel.com/files/zxb/zxbasic-1.9.8-beta1.zip
Reply
#10
TY for the upgrade. But I'm not using any strings (only for debug).

I'm developing this game for Yandex Retro Games contest 2019.
After it (Dec 12th) I will share links with bas, graphics and additional programs for converting graphics and text data.
Reply
#11
Tongue 
Just have finished my game and everything is working (on emulators). Dec 4th will start contest (hope for streams) and 12th I will share .tap and code.

[Image: screenshot1.png?raw=1]
Reply
#12
(11-19-2019, 02:32 PM)Week of the agents Wrote: Just have finished my game and everything is working (on emulators). Dec 4th will start contest (hope for streams) and 12th I will share .tap and code.

Congrats!!! How did you fix it??? Shy
Reply
#13
Reworked data structures + heap 256b
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)