| |
Slammer
Registered: Feb 2004 Posts: 416 |
Kick Assembler Thread 2
The previous thread took a little long to load, so this is a new fresh one.. |
|
... 590 posts hidden. Click here to view all posts.... |
| |
Pantaloon
Registered: Aug 2003 Posts: 124 |
slammer, NICE! |
| |
Conrad
Registered: Nov 2006 Posts: 833 |
Quote: Conrad: No, Not right now. I have never worked with .crt files, but it sounds like a minor adjustment or? What are the requirements for such files?
JAC: Kick Assember assembles all illegal instructions in DTV mode.
There's no real major adjustment for .crt files other than just allow output files to be bigger than 64K. As long as ".pseudopc" is used in code that will be assembled outside the 64K range, I wouldn't think there would be an issue.
This is primarily for developing EasyFlash carts that can be 1MB big. :) |
| |
Slammer
Registered: Feb 2004 Posts: 416 |
Conrad: So you never want a start address above $ffff? The following source would be a problem because the format of the output file only have two bytes to note the start address:
.pc=$11000
.byte 1,2,3
|
| |
Conrad
Registered: Nov 2006 Posts: 833 |
Quote:Conrad: So you never want a start address above $ffff?
No, not for .crt files. They have their own header at the start of the file and don't have, let's say, a "start address" unlike normal .prg files.
check:
http://codebase64.org/doku.php?id=base:crt_file_format
so in essence, I would set .pc to $0000, and each "CHIP" block of data would always be mapped at $8000,$a000/$e000 (using .psuedopc) and would never be out of range.
I know that this additional feature would break the rule for normal .prg files, but that's the coder's choice really. If it's going to fuck up things like object-mapping, then by all means don't include it. I can find other ways around it. |
| |
Slammer
Registered: Feb 2004 Posts: 416 |
Ok, no problem, I did a more flexible memory block management routine yesterday. There will be a new version out soon.
I guess you can use the -binfile option to make a binary file (So you won't get the two address bytes at the start of the file). Then don't worry about setting the .pc to zero, just write the header bytes and include the code in pseudo blocks. I guess you can write .crt files directly this way without any workarounds. |
| |
Cruzer
Registered: Dec 2001 Posts: 1048 |
Very nice with the new Java plugin feature! I think that would call for more than the usual 0.01 increase in version number. I converted a pretty heavy precalc script, which immediately reduced the compile time from about 45 to 7 seconds, and there's even still some unconverted scripts left in the asm code.
Feature requests:
- Booleans as parameters for the Java macros
- List's and other "advanced" data structures as parameters. At least a list of numbers (double values) would be nice.
- Access to some of the usual KickAss functionality, e.g. for getting single/multicolor bytes from pics. |
| |
Conjuror
Registered: Aug 2004 Posts: 168 |
Slammer,
Thanks for the JAVA plugin, didn't expect it so soon! This will really help with my plan to build more in JAVA before ASM but then reuse the data model.
Great work!
|
| |
Slammer
Registered: Feb 2004 Posts: 416 |
V3.24 is now on the website
Conrad: With the -maxaddr option you can set the maximum memory address or set unlimited memory.
Cruzer: Thanks. To make it a major number higher something has to change with the underlying algorithm or framework:
Version 1 (which was never released) was a normal assembler.
Version 2 made it object oriented (values was not just numbers) and the script language was added.
Version 3 made it a flexible pass instead of a fixed pass assembler. Script calculations of previous passes are saved so they only get to be calculated once etc.
Seen in this context, plugins are just an extra feature.
Booleans was intended to be in the first release, but just didn't make it. List of values was saved for a later release. Both of them will come soon and probably other standard data structures such as hash tables. Specialized values like pictures are not the plan though.
|
| |
Cruzer
Registered: Dec 2001 Posts: 1048 |
Sounds good, Slammer! I didn't mean pictures as parameters, but to have access to an API with some of the same tools as you can currently access from KickAss scripts, e.g. for picture import. |
| |
Slammer
Registered: Feb 2004 Posts: 416 |
Hi. It's now possible to write modifier plugins. With these its possible to modify assembled bytes, eg. do packing, crunching, encrypting, call external executables or whatever. You can modify small pieces of code or the whole file.
Eg://----------------------------------------------------------------
jsr depack
jmp effect
//----------------------------------------------------------------
depack: .modify Pack(PK_INCLUDE_DEPACK) {
.pc = $2000
effect:
lda #12
sta $1234
.pc = $8000
data: .byte 1,2,3
}
//----------------------------------------------------------------
Kick Assembler won't be open source in the nearest future, but If you want to help improve Kick Assembler, then do a cool plugin and share it. |
Previous - 1 | ... | 27 | 28 | 29 | 30 | 31 | 32 | 33 | 34 | 35 | 36 | 37 | ... | 61 - Next |