suddenly can’t get aambundle to work. fails with this error message (trying to make a C64 disk image). what does this mean?
Unsupported story file version 1.0
suddenly can’t get aambundle to work. fails with this error message (trying to make a C64 disk image). what does this mean?
Unsupported story file version 1.0
I suspect you have an old version of aambundle. What does it say if you use aambundle --version?
ah. that’s probably it as i’m running 0.5.4. i always forget that the aamachine and dialog itself are separate beasts and i usually forget to update the former along with the latter.
although now i seem to have another problem. i’ve download the newest aamachine repository but when i ‘make’ i get error messages and it won’t compile (this is on macos).
gcc -Wall -O3 -DVERSION=\"1.0.1\" -DVER_MAJOR=1 -DVER_MINOR=0 -arch x86_64 -arch arm64 -o aamshow aamshow.c crc32.c aavm.c
gcc -Wall -O3 -DVERSION=\"1.0.1\" -DVER_MAJOR=1 -DVER_MINOR=0 -arch x86_64 -arch arm64 mkheader.c -o mkheader
./mkheader table_c64license <6502/license.txt >table_c64license.h
/Library/Developer/CommandLineTools/usr/bin/make -C 6502
cc -Wall -O2 -DVERSION=\"1.0.1\" aambox6502.c fake6502.c -o aambox6502
ld: warning: reducing alignment of section __DATA,__common from 0x8000 to 0x4000 because it exceeds segment maximum alignment
xa -o aambox_frontend.bin aambox_frontend.s
make[1]: xa: No such file or directory
make[1]: *** [aambox_frontend.bin] Error 1
make: *** [6502] Error 2
Yeah, there are some…oddities in the Makefiles. I think I’ve gotten them all fixed for the upcoming release, but I’m waiting for confirmation that the new Mac executables work before I make it official.
Go into the /src directory and make 6502 first. That should solve it. This will require the xa65 assembler.
Otherwise, just use the prebuilt binaries. Much easier!
Where does the source for the aamrun binary live? I don’t see it in src anywhere, and the one in Homebrew is broken. I’ve had to disable the patch in the Dialog source that uses it to get my builds to work.
See the recipes for aamrun.linux etc in src/Makefile; they all rely on the Node package yao-pkg/pkg.
Those recipes produce truly enormous binaries, since each binary contains an entire installation of Node with all necessary packages built in. If you already have Node installed (which is needed to build aamrun), then you probably don’t want aamrun. It’s meant to provide something that just works right out of the box for people who don’t want to worry about installing dependencies and building from source.
Or in other words, now that I’m awake enough to explain better—
The purpose of aamrun is so that people who just want to work on Dialog development don’t need the whole Å-machine development repository as well. It’s not a very good interpreter—not many features, a huge binary, doesn’t work with lipo on Mac, all-around a pretty bad program. But, it uses exactly the same engine as the Å-machine web interpreter, so if we run all the Dialog test cases through it, we can be confident they’ll work on the interpreter that people actually use. (Same with aambox, which is also not a great interpreter but uses the same engine as the C64 one.)
Which means not much effort has gone into making it easy to build. I can’t actually build it on my local machine, because the prereqs need a particular Node configuration and a ton of disk space. My intent with it is that it’ll only really be used as a prebuilt binary downloaded from Github; if you have Node and the Å-machine dev repo already, it’ll work better to just use that (which is what bin/aamrun.py in the Dialog repo does). So the full recipe, with all the dependencies, is in .github/workflows/build.yaml; the Makefile assumes you’re building through that.
Of course, it’s also not good that the binary is currently broken—hopefully this PR will fix that. That way, people who only want to work on the Dialog repo can just install the Å-machine tools via Homebrew and not worry about the details.
(Though, bin/aamrun.py should be adjusted to use aamrun only as a last resort, because if the Å-machine dev repo exists, then it might have a more up-to-date version. I’ll adjust that.)
Thanks. That was my concern.