[A]tari [G]ame [T]ools - 2D prototyping engine for STE
- TheNameOfTheGame
- Fuji Shaped Bastard
- Posts: 2610
- Joined: Mon Jul 23, 2012 8:57 pm
- Location: Almost Heaven, West Virginia
Re: [A]tari [G]ame [T]ools - 2D prototyping engine for STE
Found a possible problem when running the "parallax" example under hatari.
It starts fine and looks fantastic:
Then after 2-3 minutes the screen gets messed up (the problem is repeatable):
It starts fine and looks fantastic:
Then after 2-3 minutes the screen gets messed up (the problem is repeatable):
You do not have the required permissions to view the files attached to this post.
Re: [A]tari [G]ame [T]ools - 2D prototyping engine for STE
It was the 1st thing I do with the file "assets_com.sh"prog99 wrote: Fri Sep 09, 2022 8:51 pm Edit assets_com.sh and remove the line that sets AGTROOT. Then try again. The docker image sets this for you.
set -e, is before the line about AGTROOT...
Will try this !prog99 wrote: Fri Sep 09, 2022 8:51 pm The image defaults to running make but you can also run other commands too such as -
docker run -v ${PWD}:/agt-tools/build -it prog99/agt-tools make clean
or if you fancy a poke around in the shell
docker run -v ${PWD}:/agt-tools/build -it prog99/agt-tools bash
etc...

Not sure if I understand well... You have done a new Docker image of AGT-Tools ?

Re: [A]tari [G]ame [T]ools - 2D prototyping engine for STE
Yes, its just built and pushed to docker hub. I've tested it on giantsprite and it worked fine.
Oh and to avoid confusing Doug, lets keep my build to our PMs until its stable. At least I now know the windows syntax.
All my real skills are undervalued
Re: [A]tari [G]ame [T]ools - 2D prototyping engine for STE
Yes, can reproduce on a fresh build on hatari macOS.(your screenshots are steem)TheNameOfTheGame wrote: Fri Sep 09, 2022 9:02 pm Found a possible problem when running the "parallax" example under hatari.
It starts fine and looks fantastic:
parallax.png
Then after 2-3 minutes the screen gets messed up (the problem is repeatable):
parallax_error.png
Code: Select all
mike@Mikes-MacBook-Pro ~ $ hatari
INFO : Hatari v2.4.1, compiled on: Aug 18 2022, 09:48:54
TODO : Support for Hatari window reparenting not built in
INFO : Inserted disk '/Users/mike/Documents/Untitled.st' to drive A:.
INFO : GEMDOS HDD emulation, C: <-> /Users/mike/Documents/ST.
WARN : Address Error reading at address $1ceb6d, PC=$c30a addr_e3=c30a op_e3=201d
All my real skills are undervalued
Re: [A]tari [G]ame [T]ools - 2D prototyping engine for STE
The problem with the parallax sample is a bug in the sample itself - I'm aware of it, just haven't got around to looking at it. It is tripping an engine safety check, which is the pattern you see on the screen. Probably a scrolling range issue.
d:m:l
Home: http://www.leonik.net/dml/sec_atari.py
AGT project https://bitbucket.org/d_m_l/agtools
BadMooD: https://bitbucket.org/d_m_l/badmood
Quake II p/l: http://www.youtube.com/playlist?list=PL ... 5nMm10m0UM
Home: http://www.leonik.net/dml/sec_atari.py
AGT project https://bitbucket.org/d_m_l/agtools
BadMooD: https://bitbucket.org/d_m_l/badmood
Quake II p/l: http://www.youtube.com/playlist?list=PL ... 5nMm10m0UM
Re: [A]tari [G]ame [T]ools - 2D prototyping engine for STE
There are definitely still some weird issues in some of the sprite clipping paths, but only in very specific conditions, which apparently don't disturb most of the samples (despite how varied they are)... I haven't figured it out yet but when I'm sure it has been resolved I'll post an update and hopefully that will be it settled for a while (and so, dockers can be refreshed and hopefully stable for a bit!)
d:m:l
Home: http://www.leonik.net/dml/sec_atari.py
AGT project https://bitbucket.org/d_m_l/agtools
BadMooD: https://bitbucket.org/d_m_l/badmood
Quake II p/l: http://www.youtube.com/playlist?list=PL ... 5nMm10m0UM
Home: http://www.leonik.net/dml/sec_atari.py
AGT project https://bitbucket.org/d_m_l/agtools
BadMooD: https://bitbucket.org/d_m_l/badmood
Quake II p/l: http://www.youtube.com/playlist?list=PL ... 5nMm10m0UM
Re: [A]tari [G]ame [T]ools - 2D prototyping engine for STE
Ok I found the issue and fixed it. I'll commit the fix today sometime - but it might be wise to hold off with docker business until I have more time to test all the samples more thorougly, including the private user projects and some of my own demos I haven't published yet. It's *probably* fine now but the code is fairly complex and deserves a bit more testing...
d:m:l
Home: http://www.leonik.net/dml/sec_atari.py
AGT project https://bitbucket.org/d_m_l/agtools
BadMooD: https://bitbucket.org/d_m_l/badmood
Quake II p/l: http://www.youtube.com/playlist?list=PL ... 5nMm10m0UM
Home: http://www.leonik.net/dml/sec_atari.py
AGT project https://bitbucket.org/d_m_l/agtools
BadMooD: https://bitbucket.org/d_m_l/badmood
Quake II p/l: http://www.youtube.com/playlist?list=PL ... 5nMm10m0UM
Re: [A]tari [G]ame [T]ools - 2D prototyping engine for STE
I went through it all again and checked all the samples, fixed more bugs, confirmed its all working properly with the non-public test projects.
The parallax sample bug is fixed, it shouldn't lock up anymore.
The abreed demo has been disk-swapped so the split-screen/coop version is now on disk1, the standard version is on disk2.
The sprtest sample has been modded to solid-fill sprites that switch from guard mode to clipping mode. This debug feature is controlled by a Makefile define/switch and can be enabled in other samples the same way.
The bosscore demo has been updated to use a faster sprite method for the giant boss as it was using the older slab primitive and it was dropping frames sometimes. Since the demo is also a sample showing how to set up slabs and custom clearing shapes, i left the old version in there and it can be switched over at build time with a define at the top of the source.
The rest is mainly bug and consistency fixes.
Should be safe to dockerize this version now
The parallax sample bug is fixed, it shouldn't lock up anymore.
The abreed demo has been disk-swapped so the split-screen/coop version is now on disk1, the standard version is on disk2.
The sprtest sample has been modded to solid-fill sprites that switch from guard mode to clipping mode. This debug feature is controlled by a Makefile define/switch and can be enabled in other samples the same way.
The bosscore demo has been updated to use a faster sprite method for the giant boss as it was using the older slab primitive and it was dropping frames sometimes. Since the demo is also a sample showing how to set up slabs and custom clearing shapes, i left the old version in there and it can be switched over at build time with a define at the top of the source.
The rest is mainly bug and consistency fixes.
Should be safe to dockerize this version now

d:m:l
Home: http://www.leonik.net/dml/sec_atari.py
AGT project https://bitbucket.org/d_m_l/agtools
BadMooD: https://bitbucket.org/d_m_l/badmood
Quake II p/l: http://www.youtube.com/playlist?list=PL ... 5nMm10m0UM
Home: http://www.leonik.net/dml/sec_atari.py
AGT project https://bitbucket.org/d_m_l/agtools
BadMooD: https://bitbucket.org/d_m_l/badmood
Quake II p/l: http://www.youtube.com/playlist?list=PL ... 5nMm10m0UM
- TheNameOfTheGame
- Fuji Shaped Bastard
- Posts: 2610
- Joined: Mon Jul 23, 2012 8:57 pm
- Location: Almost Heaven, West Virginia
Re: [A]tari [G]ame [T]ools - 2D prototyping engine for STE
Thanks for the update. All the examples compiled here on Linux except for sprtest.
Had this error:
Changed the end of assets_com.sh for sprtest to:
and then it finished. Am I supposed to have lzsa on Linux? I only see lz77.
Had this error:
Code: Select all
configured AGT native tools @ ../../scripts/../bin/Linux/x86_64
note: aliased [lzsa] to [lzs2]
wrapping assets/1ems.ems_ with [lzs2]
../../scripts/pack.sh: line 129: ../../scripts/../bin/Linux/x86_64/lzsa: No such file or directory
PackWrap: compressed asset wrapper for AGT : dml/2022
error: could not stat packed file: assets/1ems.ems_.lzs2
wrapping failed with exit code 1.
make: *** [Makefile:203: cache/assets_common.dep] Error 1
Code: Select all
#
# pack the copies
#
${PACK} ${OUT}/1ems.ems_ lz77
${PACK} ${OUT}/2emx.emx_ lz77
${PACK} ${OUT}/3emh.emh_ lz77
${PACK} ${OUT}/4slab.sls_ lz77
${PACK} ${OUT}/4slab.slr_ lz77
Re: [A]tari [G]ame [T]ools - 2D prototyping engine for STE
Oh - you can change it to lz77 and it should work. I'll do that here before the next commit. lzsa is more representative of what you'd probably use though for compressed assets, unless speed was the priority.
BTW it's not actually using those compressed assets in the sample, its just previewing what the compression ratios would look like if you did use them. The other demos etc. do actually compress their assets though.
I didn't want to ship linux binaries and especially didn't want to duplicate the lzsa git repo in the AGT project - you can grab it from github and compile yourself but it's difficult to distribute with AGT 'out of the box' for Linux (not least because there are different distros).
BTW it's not actually using those compressed assets in the sample, its just previewing what the compression ratios would look like if you did use them. The other demos etc. do actually compress their assets though.
I didn't want to ship linux binaries and especially didn't want to duplicate the lzsa git repo in the AGT project - you can grab it from github and compile yourself but it's difficult to distribute with AGT 'out of the box' for Linux (not least because there are different distros).
d:m:l
Home: http://www.leonik.net/dml/sec_atari.py
AGT project https://bitbucket.org/d_m_l/agtools
BadMooD: https://bitbucket.org/d_m_l/badmood
Quake II p/l: http://www.youtube.com/playlist?list=PL ... 5nMm10m0UM
Home: http://www.leonik.net/dml/sec_atari.py
AGT project https://bitbucket.org/d_m_l/agtools
BadMooD: https://bitbucket.org/d_m_l/badmood
Quake II p/l: http://www.youtube.com/playlist?list=PL ... 5nMm10m0UM
Re: [A]tari [G]ame [T]ools - 2D prototyping engine for STE
Just rebuilt my docker image against Doug's latest pushes.
I've also made the default action to automagically strip setting AGTTOOLS from Makefile & *.sh. It'll also run dos2unix on any .sh files too as windows carriage returns cause bash to work unpredictably.
I've also made the default action to automagically strip setting AGTTOOLS from Makefile & *.sh. It'll also run dos2unix on any .sh files too as windows carriage returns cause bash to work unpredictably.
All my real skills are undervalued
Re: [A]tari [G]ame [T]ools - 2D prototyping engine for STE
Thank you prog99 !prog99 wrote: Sun Sep 11, 2022 8:39 pm Just rebuilt my docker image against Doug's latest pushes.
I've also made the default action to automagically strip setting AGTTOOLS from Makefile & *.sh. It'll also run dos2unix on any .sh files too as windows carriage returns cause bash to work unpredictably.
I will try as soon as possible !

Re: [A]tari [G]ame [T]ools - 2D prototyping engine for STE
Just to say the latest Docker image from prog99, work fine under Windows10, and I'm able to build all stuff provided on the AGT bitbucket...
I'm happy !
Now, need to learn & learn & learn all specifics commands from the AGT's engine...
Thanks @dml & thanks @prog99
I'm happy !
Now, need to learn & learn & learn all specifics commands from the AGT's engine...
Thanks @dml & thanks @prog99
Re: [A]tari [G]ame [T]ools - 2D prototyping engine for STE
The MC68000 decoder for ARJ can decode all types of ARJ compressed data. ARJ m1, m2 and m3 have the same format as ARJBETA m7, the original ARJ has a dictionary size of les than 32 k, ARJBETA m7 uses a 64 kB dictionary. But there is stil a difference in packing ratio when you compare ARJ -m1 -jm with ARJBETA -m1. Archives created with ARJBETA -m1 are fully compatible with ARJ -m1 but have a better packing ratio because it uses the lz77 engine in ARJBETA is beter. Instead of ARJ you can also use the lh7 method of LHA, this is fully compatible with ARJBETA m7, the decoder can decompress them, but the packing ratio is not as good as the one in ARJBETA.dml wrote: Thu Aug 18, 2022 12:12 pm I forgot to add - arjbeta.exe is one of two tools needed to pack arj assets. The second tool parses the arj index and extracts the raw blocks for the decompressor. So it's not enough to just build the correct ARJ on Linux unfortunately. Still, it seems like a solvable problem if there is a need.
Hans Wessels (Mr Ni!) did the real hard work on ARJ - not sure if he is still around here reading/posting but if anyone would know the requirements it is Hans.
Hans
Re: [A]tari [G]ame [T]ools - 2D prototyping engine for STE
duplicate deleted
Re: [A]tari [G]ame [T]ools - 2D prototyping engine for STE
Hi Hans - that's very helpful info. Thanks for filling those details on the 68k decoder and packer compatibility!
d:m:l
Home: http://www.leonik.net/dml/sec_atari.py
AGT project https://bitbucket.org/d_m_l/agtools
BadMooD: https://bitbucket.org/d_m_l/badmood
Quake II p/l: http://www.youtube.com/playlist?list=PL ... 5nMm10m0UM
Home: http://www.leonik.net/dml/sec_atari.py
AGT project https://bitbucket.org/d_m_l/agtools
BadMooD: https://bitbucket.org/d_m_l/badmood
Quake II p/l: http://www.youtube.com/playlist?list=PL ... 5nMm10m0UM
Re: [A]tari [G]ame [T]ools - 2D prototyping engine for STE
Have just orederd an UltraDev cartridge - hoping it kicks my butt into gear to get going with AGT again! The idea of having a second screen for debug output is awesome. I'm half thinking it'd be cool to have something like an imGui lite, to format the output into boxes for various watch expresssesions etc. but imagine that'd be a bit too intensive in terms of CPU usage
-
- Hardware Guru
- Posts: 4722
- Joined: Sat Sep 10, 2005 11:11 am
- Location: Kosice, Slovakia
- Contact:
Re: [A]tari [G]ame [T]ools - 2D prototyping engine for STE
Indeed. I think the closest one could be the SuperVidel's Blitter, that could manage to render an additional layer with very little overhead.LaceySnr wrote: Wed Jan 18, 2023 1:16 pm it'd be cool to have something like an imGui lite, to format the output into boxes for various watch expresssesions etc. but imagine that'd be a bit too intensive in terms of CPU usage
Ideally, if SuperVidel supported true alpha channel, that would be then a whole different story.
When working on Falcon projects, I usually use Aranym's natfeat debug output, for tricky scenarios then Hatari and its console output (which is usable also for ST/STE development).
- Eero Tamminen
- Fuji Shaped Bastard
- Posts: 3993
- Joined: Sun Jul 31, 2011 1:11 pm
Re: [A]tari [G]ame [T]ools - 2D prototyping engine for STE
I assume you know these, so this is just a comment to others...mikro wrote: Wed Jan 18, 2023 1:36 pm When working on Falcon projects, I usually use Aranym's natfeat debug output, for tricky scenarios then Hatari and its console output (which is usable also for ST/STE development).
While Aranym is nice and fast, it's more like an Atari clone than Falcon, as it emulates 040, does no cache emulation, and I do not know of any real program that would work with its (threaded) DSP emulation.
Hatari offers NatFeats debug output too, and has also example code for using NatFeats from Atari programs: https://git.tuxfamily.org/hatari/hatari ... readme.txt
Re: [A]tari [G]ame [T]ools - 2D prototyping engine for STE
Saw an earlier post this error:
got renamed to . I can see it's a globla shared thing, and can see why pflib can't find it (it's in spr_clear.s), but haven't worked out a way for it to include that then doesn't cause duplicate symbol conflicts instead.
Anyone know what I'm missing to build these demos etc. on the latest commit?
I can't build any of the demos/examples at the moment with a similar error, though it appearsCode: Select all
build/aglib_ste.a(pflib.o):pflib.o:(.text+0x6d2e): undefined reference to `_drawcontext'
Code: Select all
_drawcontext
Code: Select all
_g_drawcontext
Anyone know what I'm missing to build these demos etc. on the latest commit?
Re: [A]tari [G]ame [T]ools - 2D prototyping engine for STE
Hi Matt - I saw some of recent the PRs etc. on bitbucket but I've been really busy to look at any of this properly. I will take a closer look when I get a bit more time. But maybe a clue meantime...
IIRC the drawcontext stuff was changed to allow the game code to have multiple contexts (since there are now multiple viewports and each one can have a different clipping window, stride etc). The samples were fixed to cope with this. However any existing projects not in the repo would need updated in a similar way. I forget the exact details but I'll post when I get a chance to figure it out.
IIRC the drawcontext stuff was changed to allow the game code to have multiple contexts (since there are now multiple viewports and each one can have a different clipping window, stride etc). The samples were fixed to cope with this. However any existing projects not in the repo would need updated in a similar way. I forget the exact details but I'll post when I get a chance to figure it out.
d:m:l
Home: http://www.leonik.net/dml/sec_atari.py
AGT project https://bitbucket.org/d_m_l/agtools
BadMooD: https://bitbucket.org/d_m_l/badmood
Quake II p/l: http://www.youtube.com/playlist?list=PL ... 5nMm10m0UM
Home: http://www.leonik.net/dml/sec_atari.py
AGT project https://bitbucket.org/d_m_l/agtools
BadMooD: https://bitbucket.org/d_m_l/badmood
Quake II p/l: http://www.youtube.com/playlist?list=PL ... 5nMm10m0UM
Re: [A]tari [G]ame [T]ools - 2D prototyping engine for STE
No worries - figured you were quite busy hence just wondering if someone had found a solution in general. Were those samples on a branch or something because I can't build the ones freshly cloned from the repo. Started trying to get my head around it last night but had to tap out to get some sleep.
Re: [A]tari [G]ame [T]ools - 2D prototyping engine for STE
Pretty sure you need to do a clean as you have stale object files from a previous build. See the dml's reply last time someone raised this same linker error:LaceySnr wrote: Wed Feb 22, 2023 9:44 am Saw an earlier post this error:
I can't build any of the demos/examples at the moment with a similar errorCode: Select all
build/aglib_ste.a(pflib.o):pflib.o:(.text+0x6d2e): undefined reference to `_drawcontext'
dml wrote: Fri Sep 09, 2022 6:33 pm The missing symbol is something that was removed from the engine, but added to the samples. I'm pretty sure the changes made it into the repo as I have none outstanding - but I'll double check it.
Try cleaning the project fully to get it to rebuild all the sample & engine code again. The sprites also need rebuilt because the version info changed.
Code: Select all
> make clean-all && make disk1
Re: [A]tari [G]ame [T]ools - 2D prototyping engine for STE
Yeah I tried that but it didn't seem to fix it - will play around some more tonight. Been a long time since I touched this stuff but keen to get back into something!