Log inRegister an accountBrowse CSDbHelp & documentationFacts & StatisticsThe forumsAvailable RSS-feeds on CSDbSupport CSDb Commodore 64 Scene Database
You are not logged in - nap
CSDb User Forums


Forums > C64 Coding > Kick Assembler Thread 2
2009-07-21 17:20
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....
 
2012-06-16 09:44
Pantaloon

Registered: Aug 2003
Posts: 124
slammer, NICE!
2012-06-16 20:19
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. :)
2012-06-17 17:40
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

2012-06-18 07:46
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.
2012-06-18 09:25
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.
2012-06-19 09:29
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.
2012-06-19 12:52
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!
2012-06-20 14:47
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.



2012-06-20 19:30
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.
2012-07-05 20:33
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
RefreshSubscribe to this thread:

You need to be logged in to post in the forum.

Search the forum:
Search   for   in  
All times are CET.
Search CSDb
Advanced
Users Online
BOMB/ACRISE
zscs
Exile/Anubis
Matt
Viti/Hokuto Force
skull
Jetboy/Elysium
Guests online: 85
Top Demos
1 Next Level  (9.8)
2 Mojo  (9.7)
3 Coma Light 13  (9.7)
4 Edge of Disgrace  (9.6)
5 Comaland 100%  (9.6)
6 No Bounds  (9.6)
7 Uncensored  (9.6)
8 Wonderland XIV  (9.6)
9 Memento Mori  (9.6)
10 Bromance  (9.5)
Top onefile Demos
1 It's More Fun to Com..  (9.7)
2 Party Elk 2  (9.7)
3 Cubic Dream  (9.6)
4 Copper Booze  (9.5)
5 TRSAC, Gabber & Pebe..  (9.5)
6 Rainbow Connection  (9.5)
7 Dawnfall V1.1  (9.5)
8 Quadrants  (9.5)
9 Daah, Those Acid Pil..  (9.5)
10 Birth of a Flower  (9.5)
Top Groups
1 Nostalgia  (9.3)
2 Oxyron  (9.3)
3 Booze Design  (9.3)
4 Censor Design  (9.3)
5 Crest  (9.3)
Top Swappers
1 Derbyshire Ram  (10)
2 Jerry  (9.8)
3 Violator  (9.8)
4 Acidchild  (9.7)
5 Starlight  (9.6)

Home - Disclaimer
Copyright © No Name 2001-2024
Page generated in: 0.212 sec.