Troubles when planning to make a FDS template with CA65
Moderator: Moderators
- Hamtaro126
- Posts: 818
- Joined: Thu Jan 19, 2006 5:08 pm
Troubles when planning to make a FDS template with CA65
For example, I plan on porting a plain-jane copy of SMB2jDIS (Super Mario Bros Lost Levels Disassembly By Doppelganger) to CA65 instead of ASM6,
But first... I need to make a working template for a .FDS Image as a base, But it looks like a simple CFG file won't do it alone.
Would someone find a way around this?
But first... I need to make a working template for a .FDS Image as a base, But it looks like a simple CFG file won't do it alone.
Would someone find a way around this?
AKA SmilyMZX/AtariHacker.
Re: Troubles when planning to make a FDS template with CA65
I've seen no ca65 FDS projects but there are for asm6 here: viewtopic.php?f=2&t=15169
- Hamtaro126
- Posts: 818
- Joined: Thu Jan 19, 2006 5:08 pm
Re: Troubles when planning to make a FDS template with CA65
Didn't I already make it clear from the beginning?
ASM6 is what I have just already known and talked about for use with FDS,
CA65 may be a good assembler to switch to when needed.
It is not very possible right now due to the specifics on how the CFG must be setup.
I tried contacting the current CA65 Github Issues page about this, It's a No Go!
ASM6 is what I have just already known and talked about for use with FDS,
CA65 may be a good assembler to switch to when needed.
It is not very possible right now due to the specifics on how the CFG must be setup.
I tried contacting the current CA65 Github Issues page about this, It's a No Go!
AKA SmilyMZX/AtariHacker.
Re: Troubles when planning to make a FDS template with CA65
What exactly makes ca65 unable to assemble an FDS project?
Re: Troubles when planning to make a FDS template with CA65
For reference: https://github.com/cc65/cc65/issues/419
Download STREEMERZ for NES from fauxgame.com! — Some other stuff I've done: fo.aspekt.fi
Re: Troubles when planning to make a FDS template with CA65
I generally agree with the other commenters in that GitHub issue that an assembler is not really an appropriate tool to use for generating a disk image.
Is there an existing command-line tool to generate FDS images from individual files? I think integrating that into the build process would work much better and would require much less assembler-specific configuration for projects in general.
Is there an existing command-line tool to generate FDS images from individual files? I think integrating that into the build process would work much better and would require much less assembler-specific configuration for projects in general.
Re: Troubles when planning to make a FDS template with CA65
You'd probably need a specialized linker script anyway to spit out a separate file for each overlay segment, which segments the command-line builder combines into a .fds/.qd file.
And then you'd need to distribute the builder to anyone who wants to build your project, and the method by which that is done depends on the language in which the builder is written. Do more people have, or are more people willing to install, a Python 3 interpreter or a C++ compiler?
And then you'd need to distribute the builder to anyone who wants to build your project, and the method by which that is done depends on the language in which the builder is written. Do more people have, or are more people willing to install, a Python 3 interpreter or a C++ compiler?
- Hamtaro126
- Posts: 818
- Joined: Thu Jan 19, 2006 5:08 pm
Re: Troubles when planning to make a FDS template with CA65
If anyone is willing (this is not forced), try to make it with C.
AKA SmilyMZX/AtariHacker.
Re: Troubles when planning to make a FDS template with CA65
A similar reference: https://github.com/cc65/cc65/pull/259thefox wrote:For reference: https://github.com/cc65/cc65/issues/419
So would this tool just have to link a bunch of .bin files together and slap a header at the beginning?
Re: Troubles when planning to make a FDS template with CA65
Mostly?
Each file has a bunch of attributes, though; more than just a filename and a size.
ccovell has already adapted an existing FDS lister to be able to extract the actual data blocks, but there isn't a great place to put the extra metadata for reassembly.
Each file has a bunch of attributes, though; more than just a filename and a size.
ccovell has already adapted an existing FDS lister to be able to extract the actual data blocks, but there isn't a great place to put the extra metadata for reassembly.
Re: Troubles when planning to make a FDS template with CA65
I took a look at an asm6 fds example, and I don't think that ca65 is really the right tool for the job.
You could use segments for the different files on the disk, but then you'd be modifying the cfg file constantly. Especially since the files don't seem to have a set size, and I don't think ld65 will take a rom segment without a size (note: don't think).
There's also using just one module for the whole project and then the cfg file is pretty simple, but then you'd need pad commands which the assembler doesn't seem to have either.
Maybe I'm not the right person to be trying this but afaik asm6 is the way to go for making fds files no matter how you intend to do it.
You could use segments for the different files on the disk, but then you'd be modifying the cfg file constantly. Especially since the files don't seem to have a set size, and I don't think ld65 will take a rom segment without a size (note: don't think).
There's also using just one module for the whole project and then the cfg file is pretty simple, but then you'd need pad commands which the assembler doesn't seem to have either.
Maybe I'm not the right person to be trying this but afaik asm6 is the way to go for making fds files no matter how you intend to do it.
Re: Troubles when planning to make a FDS template with CA65
If you don't specify fill=yes in a MEMORY area, the size is treated as the maximum size of that memory area, not its exact size.nicklausw wrote:You could use segments for the different files on the disk, but then you'd be modifying the cfg file constantly. Especially since the files don't seem to have a set size, and I don't think ld65 will take a rom segment without a size (note: don't think).
ca65 has .res, which adds a particular number of bytes rather than adding enough bytes to get to a particular address.you'd need pad commands which the assembler doesn't seem to have either.
- rainwarrior
- Posts: 8734
- Joined: Sun Jan 22, 2012 12:03 pm
- Location: Canada
- Contact:
Re: Troubles when planning to make a FDS template with CA65
The linker is allowed to define symbols about the segment size which you can use in the code (they get patched in at link time, just like all other linked symbols). See: define = yes.nicklausw wrote:You could use segments for the different files on the disk, but then you'd be modifying the cfg file constantly. Especially since the files don't seem to have a set size, and I don't think ld65 will take a rom segment without a size (note: don't think).
Re: Troubles when planning to make a FDS template with CA65
I did try to make an old fds asm6 example compatible with ca65. It's...alright, I guess.
A big problem is that the way I did things, files use a config called file.cfg and the final fds uses fds.cfg. For files, I'm just blindly assuming they'll all be size=$4000, and for the final fds I got lazy and ended up setting the size=$4000+8548. If dynamic segment sizes were a thing, my set-up would probably be alright but I can't find anything even like that.
If anyone here wants to mess with it, I'll upload.
EDIT: sorry, I didn't see tepples' post above somehow! Trying his suggestion now.
A big problem is that the way I did things, files use a config called file.cfg and the final fds uses fds.cfg. For files, I'm just blindly assuming they'll all be size=$4000, and for the final fds I got lazy and ended up setting the size=$4000+8548. If dynamic segment sizes were a thing, my set-up would probably be alright but I can't find anything even like that.
If anyone here wants to mess with it, I'll upload.
EDIT: sorry, I didn't see tepples' post above somehow! Trying his suggestion now.
Re: Troubles when planning to make a FDS template with CA65
I might as well just upload my disaster here for anyone who wants to see. Running the fds gives a disk error. The code is very sloppy in that it uses previously made and bloated cfg files, gross looking code (not an insult to original creator but I haven't been going for cleanliness), and pretty sure I put ".segment "CODE"" three times in a row somewhere in there...but this is just annoying me. Maybe it'll fill in some blanks for someone else trying to do this with ca65.
Build with build.sh, windows users just rename it to build.bat and run that. Just please don't try using this as a template. You won't get very far .
Edit, I just figured out why it doesn't work but am not at my computer...didn't pad the fds header to be 16 bytes.
Build with build.sh, windows users just rename it to build.bat and run that. Just please don't try using this as a template. You won't get very far .
Edit, I just figured out why it doesn't work but am not at my computer...didn't pad the fds header to be 16 bytes.
- Attachments
-
- fdstemp.tar.gz
- (15.39 KiB) Downloaded 345 times