Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

Best C64 assembler?

1,261 views
Skip to first unread message

ZappedC64

unread,
Nov 12, 2011, 8:53:33 PM11/12/11
to

I saw a bunch of people coding in assembly at ECCC in Chicago a few
months ago and I was curious... what assembler was everyone using?

/Zapped/

Groepaz

unread,
Nov 13, 2011, 3:13:11 AM11/13/11
to
ZappedC64 wrote:

> I saw a bunch of people coding in assembly at ECCC in Chicago a few
> months ago and I was curious... what assembler was everyone using?

the most popular one is probably turbo assembler (or these days, "turbo
macro pro")

--

http://www.hitmen-console.org http://magicdisk.untergrund.net
http://www.pokefinder.org http://ftp.pokefinder.org

Anyone who slaps a 'this page is best viewed with Browser X' label on a Web
page appears to be yearning for the bad old days, before the Web, when you
had very little chance of reading a document written on another computer,
another word processor, or another network.
<Tim Berners-Lee>


ZappedC64

unread,
Nov 13, 2011, 9:46:30 AM11/13/11
to
On Sun, 13 Nov 2011 09:13:11 +0100, Groepaz <gro...@gmx.net> wrote:
>the most popular one is probably turbo assembler (or these days, "turbo
>macro pro")

Thank you. I did find that one last night.

Are there any good places to look for some sample TMP code? I want to
get an idea of how to file header layout and assembler syntax.

Thanks,
/Zapped/

rusure

unread,
Nov 13, 2011, 3:17:09 PM11/13/11
to
I'm probably the only guy here who has used and liked the MACRO
ASSEMBLER DEVELOPMENT SYSTEM (MADS). Right out of the box, MADS is
cumbersome. I augmented the original version with upgrades to make it
easier to use. The ONE thing I like about MADS is its symbolic cross
reference utility. For some reason the C course I took at the
community college in the 90's didn't use XMAPS as a debugging and
documentation tool. XMAPS must be passe.

MADS site : http://www.haddewig.de/nogames64/tools.html
Click on the Commodore Assembler entry. The MADS files from
the WEB site are 1 byte longer than those on the original
Commodore system disk, except for the DOS WEDGE booting programs.
Both WEDGE booters appear to perform equivalent operations.
MADS doc : http://project64.c64.org/misc/index.html

Andreas Kohlbach

unread,
Nov 13, 2011, 10:14:09 PM11/13/11
to
ZappedC64 wrote on 12. November 2011:
>
> I saw a bunch of people coding in assembly at ECCC in Chicago a few
> months ago and I was curious... what assembler was everyone using?

Starting "monitor4096" and hacking in the code directly into the RAM. ;-)
--
Andreas

Quantum Leaper

unread,
Nov 14, 2011, 10:15:57 PM11/14/11
to
I perfer Power Assember (or called Buddy assember), it has a 64 and 128
versions and is very easy to use. I used it for years on my 64 and 128,
I even wrote a couple cheat programs for Bard Tale 2 and 3 with it. It
includes an assember that you can use Basics editor or a sequental file for
compiling your code.


ZappedC64

unread,
Nov 16, 2011, 3:55:55 PM11/16/11
to
On Mon, 14 Nov 2011 21:15:57 -0600, "Quantum Leaper"
<lea...@bigfoot.com> wrote:
>I perfer Power Assember (or called Buddy assember), it has a 64 and 128
>versions and is very easy to use. I used it for years on my 64 and 128,
>I even wrote a couple cheat programs for Bard Tale 2 and 3 with it. It
>includes an assember that you can use Basics editor or a sequental file for
>compiling your code.

Do any of you use a cross-assembler? I have seen a few out there.

/Zapped/

Quantum Leaper

unread,
Nov 16, 2011, 6:20:09 PM11/16/11
to
I don't use a cross-assembler at least for the C64/128, I perfer
programming on the Real thing or in an emulator. The only cross assember,
I have used in the last couple years was for a PDP-11 when I restored the
code for Galaxy Game now included in MAME. The main reason I used a
cross-assember was because I couldn't find a native one that would compile
the code correctly, everyone I tried want to make the code relocatable,
instead of absolute addressing. Even then I had to rewrite the code.



Anssi Saari

unread,
Nov 17, 2011, 3:42:13 AM11/17/11
to
ZappedC64 <gu...@guest.com> writes:

> Do any of you use a cross-assembler? I have seen a few out there.

I've used one called xa a little, but I'm not a big C64 programmer by
any means.

BTW, one cool assembler is TMP running in the Retro Replay. Assembler
runs in ROM, source is in the RR's internal RAM and assembly is done
directly into C64 RAM. Haven't gotten around to trying that out, but one
of these days...

rusure

unread,
Nov 17, 2011, 11:20:17 AM11/17/11
to
On Nov 16, 1:55 pm, ZappedC64 <gu...@guest.com> wrote:
> On Mon, 14 Nov 2011 21:15:57 -0600, "Quantum Leaper"

> Do any of you use a cross-assembler? I have seen a few out there.

In a limited sense, assemblers on the C64 can assemble code intended
for the C128. If you can transfer the program files from Apples or
Ataris, then code for Commodores can be cross assembled on those or
other computers that use the 6500 instruction set. Maybe an Apple or
Atari assembler has features unavailable in Commodore assemblers.

Rami

unread,
Nov 17, 2011, 5:08:23 PM11/17/11
to
I am not a great 6502 coder, but I do use Dasm cross-assembler on my Linux box. It has filled all my needs this far: I can type the code in familiar environment (with all the possible documentation immediately available), use a proper keyboard (it IS difficult to get accustomed to the C64 keyboard again) and test the code right away in emulator.. and once the stuff works as it should, I can move it to real C64 and test it out there.

ZappedC64

unread,
Nov 18, 2011, 8:59:41 PM11/18/11
to
On Thu, 17 Nov 2011 14:08:23 -0800 (PST), Rami
<rami.s...@gmail.com> wrote:

>I am not a great 6502 coder, but I do use Dasm cross-assembler on my Linux box.

Ahh.. OK. Good information. I'll have to try DASM. Thank you Rami.

/Zapped/

Oliver Schmidt

unread,
Nov 19, 2011, 4:18:35 PM11/19/11
to
Hi,

> [...] cross-assembler [...]

When talking about 65xx cross-assemblers then ca65 from the excellent
cc65 toolchain (www.cc65.org) is certainly worth mentioning. It
supports many hosts (incl. Linux and Windows) and many targets (incl.
C64, Apple2 and Atari). It is used together with the very flexible
linker ld65.

Regards,
Oliver

Rami

unread,
Nov 19, 2011, 6:51:57 PM11/19/11
to
Very true. And the cc65 C compiler is also very nice.

Ruud Baltissen

unread,
Nov 22, 2011, 3:23:00 PM11/22/11
to
Hallo Quantum,


> I don't use a cross-assembler at least for the C64/128...

Have you ever tried to compile the ROMs for a 1541 for example? My
source file is already 223 KB! But that is including comment.

Hmmm, that triggered this: how did people assemble/compile games that
were as big as 200 blocks, thus about 50 KB ???


Groetjes, Ruud
www.Baltissen.org

Groepaz

unread,
Nov 22, 2011, 6:37:29 PM11/22/11
to
Ruud Baltissen wrote:
>> I don't use a cross-assembler at least for the C64/128...
>
> Have you ever tried to compile the ROMs for a 1541 for example? My
> source file is already 223 KB! But that is including comment.
>
> Hmmm, that triggered this: how did people assemble/compile games that
> were as big as 200 blocks, thus about 50 KB ???

assemble to disk... i used to do that a lot back in the days with demo parts
that wont fit in memory.

also dont forget that especially in a game, most of the memory isnt filled
with code, but with data - which you just link to the code after assembling.

and on top of that - crossassemblers were not uncommon back in the days
either. commodore themselves used them, and a lot of software houses did
aswell. (mostly hosted on apple2 or similar)
Killerspiele sollten bei der Strafbewährung in der Größenordnung von
Kinderpornografie eingeordnet werden, damit es spürbare Strafen gibt.
<Günther Beckstein, CSU>


chrismcb

unread,
Nov 23, 2011, 4:32:54 AM11/23/11
to
On Nov 22, 12:23 pm, Ruud Baltissen <rbaltis...@gmail.com> wrote:
> Hmmm, that triggered this: how did people assemble/compile games that
> were as big as 200 blocks, thus about 50 KB ???

I used to compile from one C64 to the other. This was great because it
made it easier to see the code and debug/run it at the same time.

I also compiled the project in parts, as the entire source wouldn't
fit into memory. The final code was only about 8K (or maybe 16 I
forget) but I had to build it in two parts. So I would only work on
half at a time. There was a jump table at the beginning of one of the
parts to have code from one side call code in the other.

But I would expect HUGE programs weren't the norm. Games are heavily
data driven. I would also guess that comments weren't the norm either.

MikeS

unread,
Nov 23, 2011, 5:52:21 PM11/23/11
to
In the distant long-ago days when I programmed 6502s "professionally"
I used the 2500AD cross-assemblers, initially the CP/M version and
then the PC version when they came out; still have them somewhere.

m

ZappedC64

unread,
Nov 24, 2011, 10:08:24 PM11/24/11
to

Does anyone have any links to some sample Turbo Aassembler assembly
source code?

The assembler that comes with CC65 looks very interesting. If anyone
has any sample code for that assembler too, it would be greatly
appreciated.

Trying to re-learn my long lost assembly language skills... I'm
reading two books right now, "The Machine Language Book of the
Commodore 64" (Abacus), and "Commodore 64/128 Assembly Language
Programming" (SAMS).

/Zapped/

dott.Piergiorgio

unread,
Nov 25, 2011, 3:35:49 AM11/25/11
to
Best of all, someone has done an GPL or otherwise open source standard
equates include file ?

there's fewer and fewer people whose remember the various locations of
64 by dec or hex number, and sooner or later a STA $D020 will make no
sense to too many people.....

Admittely this need an X-assembler with really plenty of space for the
symbol table, but I feel that is a worthwile work.....

Best regards from Italy,
dott. Piergiorgio.


ZappedC64

unread,
Nov 25, 2011, 5:47:23 PM11/25/11
to
On Fri, 25 Nov 2011 09:35:49 +0100, "dott.Piergiorgio"
<chied...@ask.me> wrote:
>there's fewer and fewer people whose remember the various locations of
>64 by dec or hex number, and sooner or later a STA $D020 will make no
>sense to too many people.....

Very true Dott. I think the Commodore Programmers Reference Guide has
been scanned... so hopefully that data will never be completely lost.
The Commodore Programmers Reference Guide has all the op-codes
documented, as well as all the kernal routines.

I am finding that the current assemblers allow for execellent
documentation and labels, JSR CHROUT makes a lot more sense than JSR
$FFD2.

/Zapped/

Charles Richmond

unread,
Nov 26, 2011, 3:34:48 AM11/26/11
to
"ZappedC64" <gu...@guest.com> wrote in message
news:bd30d79nsqqntff5q...@4ax.com...
There is also a Compute! book (put out by Compute! magazine) titled _Mapping
the Commodore 64_, that gives all the pertinent addresses and what they are
used for. You can download a pdf copy at:

http://project64.c64.org/misc/index.html


--
+<><><><><><><><><><><><><><><><><><><>+
| Charles Richmond nume...@aquaporin4.com |
+<><><><><><><><><><><><><><><><><><><>+

Groepaz

unread,
Nov 26, 2011, 10:21:22 AM11/26/11
to
ZappedC64 wrote:

>
> Does anyone have any links to some sample Turbo Aassembler assembly
> source code?
>
> The assembler that comes with CC65 looks very interesting. If anyone
> has any sample code for that assembler too, it would be greatly
> appreciated.

look here: http://www.cc65.org/src/
Schwanzvergleich in molekularer Struktur des Universums begruendet
<Manx>


ZappedC64

unread,
Nov 26, 2011, 12:31:33 PM11/26/11
to
On Sat, 26 Nov 2011 16:21:22 +0100, Groepaz <gro...@gmx.net> wrote:
>
>look here: http://www.cc65.org/src/

Very helpful! Thank you Groepaz!

/Zapped/
0 new messages