jedimatt42 / fcmd

command line shell program in cartridge rom form
MIT License
12 stars 0 forks source link

Cannot build: makeapi.py errors #14

Closed webdeck closed 4 years ago

webdeck commented 4 years ago

It looks like the BANK_ definition has changed and makeapi.py no longer works:

for f in `cat api.lst`; do grep $f b*.h; done | grep BANK_ | cut -d'(' -f2 | cut -d',' -f1-2 >api.banks
python2 makeapi.py api.lst api.banks api.asm
Traceback (most recent call last):
  File "makeapi.py", line 31, in <module>
    api_asm.write("\tref\t{}\n".format(n))
ValueError: zero length field name in format
make: *** [api.asm] Error 1
webdeck commented 4 years ago

I tried to work around this by looking at how the file history changed, and while I got something to compile, the FCMDC.bin file is 131072 bytes instead of 63363 bytes and it crashes when running the COPY command, so my workaround didn't work.

What do the correct api.banks and api.asm look like? I have attached the ones I created via hackery. api.asm.txt api.banks.txt

I'm using the dockerized cross compiler, in case that matters. https://github.com/ccureau/tms9900-gcc

jedimatt42 commented 4 years ago

It is a 128K ROM now... I've just merged out some work I've been doing on a branch...

this API is not 'released' I reserve the right to break compatibility with it still... but some of it works. I don't plan to release the API until version 2.0

The merge out code improved copy and checksum commands to read 17 blocks per operation, so there should be much less seeking.

I've change a lot of the api generation code... and the scripts are python3 now... I just updated the Makefile to be explicit about python3 also

webdeck commented 4 years ago

Thanks - I'm not trying to use the API, I'm just trying to build the project so that I can experiment with it, and I can't build it successfully. Is there a different branch that I should be using?

webdeck commented 4 years ago

Your latest commits fixed this. I can now build successfully.