| |
Majikeyric
Registered: Sep 2002 Posts: 83 |
Looking for 64 bit version of ACME
Hello all,
Did someone compile a x64 version of the ACME cross-assembler compatible for windows seven ?
Many thanks
Bye
Majikeyric |
|
... 10 posts hidden. Click here to view all posts.... |
| |
Ninja
Registered: Jan 2002 Posts: 411 |
To be very precise, it was originally developed for the Retro Replay ROM :) The other assemblers couldn't cope with the required bank-switching. (Now, this would make a nice trivia entry...) |
| |
Majikeyric
Registered: Sep 2002 Posts: 83 |
Many thanks everybody.
First I was believing that I was already using the Win32 version which crashed under Seven.
But I was using the DOS one \0/
The Win32 .exe works fine.
Many thanks Martin for your link to this improved version ;-)
|
| |
Count Zero
Registered: Jan 2003 Posts: 1932 |
Quote: Those looking for new assemblers might also have a peek at DreamAss. No, I won't do marketing and exploit that it was largely used for Edge of Disgrace. Oops, too late... ;)
I 2nd this attention whoring! :)
Not to make up a flame war on which assembler to use but rather to check all options for given projects.
Unfortunately there is no place dedicated to comparison of features and limitations. One of the better starting points would be http://codebase64.org/doku.php?id=links:start currently I suppose.
l8r
Count Zero/CyberpunX/SCS*TRC |
| |
Martin Piper
Registered: Nov 2007 Posts: 722 |
Quote: To be very precise, it was originally developed for the Retro Replay ROM :) The other assemblers couldn't cope with the required bank-switching. (Now, this would make a nice trivia entry...)
What exactly do you mean?
I can produce CRT files with bank-switching in ACME. |
| |
Frantic
Registered: Mar 2003 Posts: 1648 |
I think he refers to the following dreamass function:
.banknumbyte (labelpointingtomysubroutine)
This can be used to automatically produce jumptables that keeps track of which bank a certain routine resides in. It is also possible to redefine labels, which is handy if you want to include the same bankswitching code file in each ROM-bank, using the same labels (that should be accessible in the global scope). Redefining labels is possible in ACME too, though, if I remember correctly and I guess you may be able to "emulate" the "banknumbyte" thing too, somehow. Apart from these things I am not sure what exactly makes dreamass more suitable for generation of banked code. |
| |
doynax Account closed
Registered: Oct 2004 Posts: 212 |
Quoting FranticI think he refers to the following dreamass function:
.banknumbyte (labelpointingtomysubroutine)
This can be used to automatically produce jumptables that keeps track of which bank a certain routine resides in. It is also possible to redefine labels, which is handy if you want to include the same bankswitching code file in each ROM-bank, using the same labels (that should be accessible in the global scope). Redefining labels is possible in ACME too, though, if I remember correctly and I guess you may be able to "emulate" the "banknumbyte" thing too, somehow. Apart from these things I am not sure what exactly makes dreamass more suitable for generation of banked code. ACME can do both of those things. The unary ^ operator is used to get the bank byte. However I would probably avoid redefining jump tables entries in multiple banks and simply set them to their 16-bit mapping address instead.
ACME can't produce ROMs larger than 64 kB however but I suspect that limitation would be simple enough to remove. I've never tried to use banking myself so there might well be other complications.
|
| |
chatGPZ
Registered: Dec 2001 Posts: 11386 |
acme (and any other assembler i have tried) is very simple compared to dreamass when it comes to banked code ... for example dreamass can take your functions and arrange them in several banks for best fit. |
| |
Frantic
Registered: Mar 2003 Posts: 1648 |
@Groepaz: When I asked Doc Bacardi a few months ago about such automatic distribution of code to various banks in dreamass he replied:
"This feature is not finished yet, sorry! And I don't know when I will find the motivation to do it. :)"
So... :)
@Doynax: What do you mean with "16bit mapping adress"? |
| |
doynax Account closed
Registered: Oct 2004 Posts: 212 |
Quoting FranticWhat do you mean with "16bit mapping adress"? Err.. I had a bit of trouble finding an appropriate term.
What I meant was simply that the shared code must be placed at the same address within each bank for the fall-through to work properly anyway. So why not place them within an effective address block at the location within the 6502's address space at which the blocks will be is mapped in?
;Replicated bank-switching code
!pseudopc (* & $FFFF) {
switch:
.
.
.
}
As a bonus ACME will then verify that the "switch" label, and any other global labels within the block, truly are placed at a common address. |
Previous - 1 | 2 - Next |