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 > Which assemblers do you/did you use for coding?
2007-08-17 21:20
tlr

Registered: Sep 2003
Posts: 1790
Which assemblers do you/did you use for coding?

I thought this might be interesting.

I'll start:
I started out with Hesmon, and later switched to Handics VICMON.
Never did anything major in this. Just learnt how stuff was working.

Later I bought a copy Oasis Machine Lightning (which was bought up by Ocean and turned into Laser Genious)
I used Machine Lightning for all demos I did in the 80's. Cost a shitload of money.
It's line oriented (like basic) which sucks a bit, but has very good macro facilities.

I had a quick stint with Macrofire V1.0 but thought it was cryptic.

I started using dasm as soon as I got an Amiga.
Kept on using dasm when I switched to a linux system.

I have recently started using Kick Assembler 2.12 in combination with dasm and make (under linux).
2007-08-17 21:23
Zyron

Registered: Jan 2002
Posts: 2381
My short list:
--------------
Action Replay v5.2 monitor
Turbo Assembler (v3 maybe, improved by Tigers)
2007-08-17 21:36
Oswald

Registered: Apr 2002
Posts: 5094
* help plus (this was like a small software AR with a strange assembler which assembled from disk from a listing typed in in basic with linenumbers)
* profi assembler (editing in basic, but huge leap in technology: no need to save to disk before assembling)
* tasm (huge leap in technology, own editor, no more linenumbers)
2007-08-17 21:49
Scout

Registered: Dec 2002
Posts: 1570
I started with the Power Cartridge PowerMon back in '87.
Later I switched to Turbo Assembler (improved by Tycoon) and now I'm using 64TASS by Soci/Singular.
2007-08-17 22:38
Burglar

Registered: Dec 2004
Posts: 1101
Quote: I started with the Power Cartridge PowerMon back in '87.
Later I switched to Turbo Assembler (improved by Tycoon) and now I'm using 64TASS by Soci/Singular.


same here, KCS Power cartridge FTW! I cracked *all* games I did with it as well, and I coded all (well most) stuff I did for Powers of Pain in it. Obviously I also switched to turbo assembler, finally to the macro tasm from mario van zeist, utilizing a c64<>c64 parallel cable.

and now, I do nothing, but when I do nothing, I do nothing with KickAss.
2007-08-17 22:56
TDJ

Registered: Dec 2001
Posts: 1879
Started out using the built in monitor form FC2, FC2.5 (don't ask) and FC3 first from '87 till '90. The first thing I did in turbo ass was my S451 demo and that was all she wrote on ze ol' breadboks.

On the pc I use 64tass in the Crimson Ed, blame WVL for that.

Also, I used the built in monitor from my speeddos a lot, not for editting but for searching scrolltexts ;)
2007-08-17 23:20
Oswald

Registered: Apr 2002
Posts: 5094
how could you all starting up with a monitor ? major pita when you need to insert an instruction. :)
2007-08-18 04:01
Style

Registered: Jun 2004
Posts: 498
Started with action replay monitor, then turbo assembler for many years, then ca65 and now kick assembler.
2007-08-18 04:08
ChristopherJam

Registered: Aug 2004
Posts: 1409
Started out hand assembling on paper and typing in DATA statements in basic, then in 1985 someone gave me a copy of FASSEM, which I used for all my coding until I started cross developing.

These days I use André Fachat's xa on my iBook, alongside a mix of Python, C and ocaml for code gen and data preparation.
2007-08-18 04:28
Style

Registered: Jun 2004
Posts: 498
I use PERL for that CJ :)
2007-08-18 08:08
MagerValp

Registered: Dec 2001
Posts: 1078
I started out with the FC3 monitor, then macrofire, then various turbo assemblers ending with Turbo Macro Pro with an REU. I started cross-assembling with dasm and copying to 1581 disks on my Amiga, but moved on to ca65, makefiles, and codenet.
2007-08-18 08:10
TDJ

Registered: Dec 2001
Posts: 1879
Quote: I use PERL for that CJ :)


Come to think of it, I've been known to use Turbo Pascal for testing out certain routines, such as the 'vector mosaic' in my Visual Delight 2 part.
2007-08-18 09:19
Wile Coyote
Account closed

Registered: Mar 2004
Posts: 646
I wouldn't know where to begin using an assembler.
What are 'macros' ?

When a coder first boots up an assembler, whats the first thing he/she does (probably a he most of the time). I am guessing, they have an idea of what that want to achieve from the outset (similar to an artist booting up an art package).

Has anyone written a 99% complete do's and don't when it comes to coding on the C64. I've often spotted in some scrollers, coder writing about an effect on the screen, explaing what they are achieving and why they didn't use an .INC for example.

Just did a Google and found this from Cruzer/CML
http://c64.ch/programming/index.html


2007-08-18 09:22
Laxity

Registered: Aug 2005
Posts: 459
Started out with a monitor as well (one loaded from a disk), got a final cartridge (no laughing) later, which had one in rom. I later got a macro assembler or so from Wizz (Wizax) which I used for a short periode of time. Was rather uncool, because the programs were edited in a seperate tool, so when testing the compiler needed to be loaded from disk, compile - ups, an error - load the editor again and so on and so forth. At last I ended up using some rendition of TASM, which was a real improvement. I don't remember who introduced me to that one. The tiny bit of coding I do now, I do on the PC using ACME and VICE for testing. Rather confinient compared to the old days. Development is a lot faster now.
2007-08-18 09:54
TNT
Account closed

Registered: Oct 2004
Posts: 189
First hand assembly + data statements, then VIC-20 ML monitor, later ML monitor on VIC-20 + data statements on C64 (cross-development!), then HESMon from tape, then from disk, move to Action Replay, Laser Genius, TASS, tried several different cross-assemblers and ended up using dasm.
2007-08-18 10:29
Stainless Steel

Registered: Mar 2003
Posts: 966
I've never been much of a coder, but i first started out with the trilogic expert cartridge followed by the usual fc 1&2 / ar carts. Today i use ACME / Textpad on the pc.

2007-08-18 10:42
Stryyker

Registered: Dec 2001
Posts: 468
I started with 6510+ which came with Commodore Format 45 or thereabouts. First time I had some docs. It wasn't until many years later I got Action Replay. Now I mostly use UltraEdit or Notepad and ACME with VICE.
2007-08-18 10:54
Peiselulli

Registered: Oct 2006
Posts: 81
First : Data Lines and hand assembly
Then a Montor from tape (was it called Redmon or something like that, was not very popular and not really good, but usable).

After I bought an Amiga at the end of 1986, I used first an symbolic assembler (called Seka), so I wanted one for my C64, too.
But the first I got was "Profi-Ass", a horrible assembler that uses the Basic(!) Editor. Assembling was done with "RUN" !

So Turbo-Ass was a better solution a few months later.

When I worked for Rainbow Arts in 1988, we had a C64 Cross-Assembler that runs on a PC with a special ISA-card, that has a socket between the 6510 and the rest of the C64 board. With this Assembler (and the integrated monitor) it was possible to watch variables *without* stopping the CPU.
Transfering 64Kbytes from the PC to the C64 was possible with this system in 4 seconds(!).

Now I am using ACME0.91 under linux (and the DTVtrans Cable !) when I programmming the DTV. If I program for the original C64, I use the TMP1.2 now.




2007-08-18 12:10
QuasaR

Registered: Dec 2001
Posts: 145
I first started with a monitor, which was quite a pain in the ass, with no possibility to insert instructions.

Then used VisAss for a short period, after that AssBlaster which had a nice editor and quite cool features but was full of bugs&crashed too many times... And it eats up memory like hell!

So, one day finally I got a REU and since then I fell in love with TurboMacroAssembler by Elwix and MO which is the best assembler on a C64 only system, IMHO.

Now I use Geany for editing and Dreamass for assembling on my Debian machine.
2007-08-18 13:51
Cruzer

Registered: Dec 2001
Posts: 1048
Started out with TFC3 monitor in late 1988. I solved the problem with inserting code by splitting it all into tiny segments in the memory, and keeping track of them on paper. So when I had to insert something, it was only a small piece of code that had to be moved. But it was of course still very cumbersome, and meant wasting a lot of memory in between the segments.

In about 1990 I switched to Turbo Ass, which meant that I only had about half the memory available, so I quickly got tired of this and switched back to monitor for a while, until I got hold of a second C64 and a transfer cable, as well as an adapted version of TurboAss, done by Walt or THA/Bonzai. Later I got another version done by Glasnost/CML. I think the main difference was that it could handle more lines/labels/etc.

After a break I started playing with emulator and began coding in MXass in about 2000. Today I have of course switched to the superior KickAss.
2007-08-18 14:09
Cruzer

Registered: Dec 2001
Posts: 1048
@wile coyote: Wow, is my old tutorial still online? :) Not sure it ever became very useful though, since I lost interest in it before it ever really got anywhere. Try Puterman's tutorial instead, I have heard many good things about it.

Macros are high-level constructs in the assembler code, used for generating code and data. E.g. if you wanna make a fast rolled out screen clearing routine, you could either write 1000 commands by hand like this:

sta $0400
sta $0401
sta $0402
...
sta $07e7

Or you could get the assembler to generate it automatically. In KickAss this would look something like:

.for (var i=0; i<1000; i++) {
	sta $0400 + i
}

There are also other ways to get it done, e.g. make a Basic program that generates the code, like I did in the old days, or make a machine code routine that does it, which is my preferred method nowadays, since it reduces the file size, although I also use KickAss macros quite a bit, especially in the early stages of an effect, since it's a lot faster to make a script than a mc routine.
2007-08-18 14:19
Iapetus/Algarbi/Wood

Registered: Dec 2004
Posts: 71
Assemblers I tried:

(c64)Turbo Assembler
(cross) c64asm
(cross) dasm

I am programming actually on Kickassembler, I am quite happy with it and it's functionality, looking forward for more releases with more goodies.
2007-08-19 09:02
null
Account closed

Registered: Jun 2006
Posts: 645
let's see... I've used (in random order (some only shortly)):

Power Cartridge Mon,
Final Cartridge III Mon,
Turbo Assembler 7.4,
64TASS,
The Final Replay Mon,
Cyberpunx Retro Replay Mon,
Turbo Assembler 5.2 +FLT +Sharks -TLO autodrive hacks (aka RR-TASS)

currently my coding setup is like this:

RR-TASS for the actual coding,
RR-Mon for inserting text and looking through code and whatnot.

------------------------------------
Knoeki/DigitalSoundsSystem/GheyMaidInc/SwappersWithAttitude
http://hardwarehacks.untergrund.net/zomgwtfbbq/index.php
2007-08-19 18:11
Platoon
Account closed

Registered: Mar 2004
Posts: 40
started out with :

1986 : epyx fastload ! (machinecode cartridge very bad one)

then moved on to :

1986-1988 : diskmon (machinecode cartridge)

1988-1992 : turbo asm v2.xx.
2007-08-19 19:34
Copkiller
Account closed

Registered: Apr 2003
Posts: 5
The Final Cartridge II and then III
2007-08-19 21:30
Conrad

Registered: Nov 2006
Posts: 849
On the real C64 I use Action Replay V5 cartridge, as that's all I have... using it since around 1998 (coding that is ;) up to today, also gave the copper output fields a good sanding due to age.

On PC I use:
(Vice): Action Replay V4/5/6, Turbo Assembler (sometimes)
(Cross-dev): DASM with Notepad & Command Prompt, ACME with TextPad 5
2007-08-19 21:37
LordNikon

Registered: Dec 2001
Posts: 42
i'm using KickAssembler since "Fullscreen is tEH shit" and tasm on the c64
2007-08-20 04:26
JackAsser

Registered: Jun 2002
Posts:
On C64 I use/used Visa cart by Edna, or if it was Edna cart by Visa?!
But most often when I code I use ca65+makefiles+codenet, i.e. same setup as f.e. MagerValp and Krill.

2007-08-20 04:38
Oswald

Registered: Apr 2002
Posts: 5094
Edna/Maniac Mansion ? :)
2007-08-20 04:39
ChristopherJam

Registered: Aug 2004
Posts: 1409
Well, if people are specifying text editor as well (notepad!?) I'll have to add Vim to the mix for completeness :)
2007-08-20 04:41
JackAsser

Registered: Jun 2002
Posts:
Quote: Edna/Maniac Mansion ? :)

Not quite that lunatic! ;D
2007-08-20 07:33
yago

Registered: May 2002
Posts: 333
I am using my own, homebrewn Assembler.
<insert marketing term for object-orientated assembly here>
2007-08-20 07:47
Richard

Registered: Dec 2001
Posts:
I can't remember if I posted here before (Just got up out of bed, heheheh). I used various assemblers. First it was the Action Replay M/C cartridge (Well, originally used it for hacking in the late 1990's to learn one or two things). Then I moved on to the Turbo Assembler V5.2 (The runnable version with instructions, all done by TAT). I used to code stuff on a real C64. Actually I still do now and then, but most of the time I do cross-assembly.

The cross-assemblers that I use most of the time are DASM (For my Sub Hunter Project) and also the ACME cross assembler. But ACME is the one I mostly use. Mainly because it is much easier to handle. I tried SLANG before, but did not really get round to it much.

Apart from the command prompt ACME cross assembler, I use the Relaunch 64 to type the code. Else I would have had to use the Notepad, which is not really recommended because text size is limited. Especially when you try and time a long stream of code for certain projects.

DASM is very handy for splitting your source code into different files, and ACME probably can do that as well, all required would be some kind of 'include' command, so that you could merge various code together if you wanted to make 3 separate routines. For example, writing a game. You'd want to make 3 separate source files to do the following:

- Title/Intro screen (The thing before you start the game)
- Main Game itself (Yep, you guessed it)
- End sequence (If you wanted to do a really good end sequence then this would be the right place to do it)

I better stop babbling on as I'm probably boring you to death now :D
2007-08-20 08:19
Radiant

Registered: Sep 2004
Posts: 639
Started out with TASS in the RR ROM, nowadays I'm using ca65 and SounDemoN's TAR.
2007-08-20 08:25
j0x

Registered: Mar 2004
Posts: 215
I started out using various RAM-based monitors, then the built-in Final Cartridge II monitor.

[Edit: Come to think of it, I actually started out using the built-in monitor of the C16, before buying a C64.]

Some time in 1988 I got my first assembler from Shownuff of Razor Express. It was based on the BASIC line editor, but I don't remember the name. I didn't use it for long.

At some point, I changed to Turbo Assembler, which I used until I sold my C64 in about 1990.

Since coming back to the C64, I've been using a slightly modified version of (an old version of) dasm together with emacs for source editing.

tlr: how do you combine the use of kick assembler and dasm?
2007-08-20 08:50
tlr

Registered: Sep 2003
Posts: 1790
@j0x: I combine them mainly to easy the transition in to kick-ass.

I have split the code into a runtime binary and one binary for each part.
(to allow the parts overloading each other and still use common code from the runtime)
The runtime and most of the parts are in dasm, some parts are in kick-ass.
I "export" entry points from each binary by parsing the symbol table with a perl script that builds an include file with constants.
All of this is done transparantly from make.
2007-08-20 12:14
Wisdom

Registered: Dec 2001
Posts: 90
Interesting topic for sure, it is always nice to learn how others work and what kind of environment they have.

I started out with 64MON on casette in 1988, and sometime later switched to a better monitor that I cannot remember the name of right now. (It had a brown background and yellow foreground by default, very fancy colors to work with, eh). After two years of working like that I finally bought a drive. Only after 1992 I have owned an AR3 and started using its monitor. After spoiling my life with monitors for five years, in 1993 I started using TASS (v5.2 and v5.4b). That easily doubled my productivity during the years 1993-1995. In 1995 I started using Cross Ass 5.34 with a two C64 setup.

Today I use 64TASS 1.45 on PC or TMP 1.2 on a C64 with the same old AR3, plus an MMC64. I use SciTE on PC for text editing, with a self-prepared syntax file. I pay attention not to use any 64TASS or TMP specific feature to keep portability between these two programs as I tend to work both on PC and C64 arbitrarily.

Throughout the years, I used various environments for code generation or concept testing; CBM BASIC, Simon's BASIC, GW-BASIC and Turbo Pascal in late 80s and early 90s, and pure Assembly after 1993 or so.

Ok ok, I could make this shorter but I do not have time for that now. ;-) (We all love Blaise, don't we?)
2007-08-20 12:34
Raf

Registered: Nov 2003
Posts: 343


monitors:
started with monitor present in black box 4 and final 2 cartridges, nowadays I use Vice's monitor

assemblers:
I used to use c64asm (but there are some serious bugs never resolved by author), then 64tasm by Taboo, then modifications by Soci, and finally I use DASM 2.20 with mods by Ian Coog

and about editors...
I used relaunch64 but I found it unstable under win98 (back in the days I used in on day-to-day basis ;p. There was/is problem with system resources management in R64 I suppose)

I also had chance with contex - not bad editor, but I mainly use textpad 4 as I found its macro capabilities and extended text editing functionality very useful, besides syntax highlighting of course :)
2007-08-20 14:10
Wisdom

Registered: Dec 2001
Posts: 90
Ah, C64ASM, I forgot to mention that one! It is the thing to blame for my lame 2 blockers entry back in 1996, as it assembled ZP instructions as absolute ones (i.e. LDA $02 -> LDA $0002). For a 512 byte compo, this was rather ironic so I got frustrated and entered the compo just like that with an unfinished entry. Not so surprised to be the last though. :-)
2007-08-21 17:31
Raf

Registered: Nov 2003
Posts: 343
moreover c64asm treats * differently than assemblers referred as standard , if I remeber correctly addy taken as * is actually PC+1 :) I remeber being so angry being unable to assemble exomizer properly with c64asm and it compiled ok with DASM out of the box....

www.vulture.c64.org
2007-08-21 19:06
AüMTRöN

Registered: Sep 2003
Posts: 44
Monitors: Aside from poking memory, I firstly attempted M/C in a monitor called "Zoom". I have no idea where it comes from. It had several different flavours for loading to $8000, $c000 and so. Then I settled on the monitor in Action Replay, which is still my fav today - tho VICE monitor is handy for some stuff.

Assemblers: Tried Mikro Assembler and some version of Turbo Assembler back in the day, but to be honest I didn't get it. :) Now I use TASM 7.4 natively and DASM 2.20x (Ian Coog mods) with Ultraedit for crossdev.
2007-08-31 20:59
Wile Coyote
Account closed

Registered: Mar 2004
Posts: 646
Quote: @wile coyote: Wow, is my old tutorial still online? :) Not sure it ever became very useful though, since I lost interest in it before it ever really got anywhere. Try Puterman's tutorial instead, I have heard many good things about it.

Macros are high-level constructs in the assembler code, used for generating code and data. E.g. if you wanna make a fast rolled out screen clearing routine, you could either write 1000 commands by hand like this:

sta $0400
sta $0401
sta $0402
...
sta $07e7

Or you could get the assembler to generate it automatically. In KickAss this would look something like:

.for (var i=0; i<1000; i++) {
	sta $0400 + i
}

There are also other ways to get it done, e.g. make a Basic program that generates the code, like I did in the old days, or make a machine code routine that does it, which is my preferred method nowadays, since it reduces the file size, although I also use KickAss macros quite a bit, especially in the early stages of an effect, since it's a lot faster to make a script than a mc routine.


Yup, its still on line.
As for Puterman's tutorial, well I think I'll pass this time, as I feel its a bit late in the day to learn c64 programming. I've too many other things to get done. If I could live for another 1000 years, then I'd love to spend 20 of them creating a lavish c64 production :D
2007-09-06 20:37
chancer

Registered: Apr 2003
Posts: 347
tlr : that was the one with the red manuals? hehehe I remember it well, didn't get into it though,had the Oasis tape version.

Burg: I have something similar, except its a c128 in 128 mode to c64 via the user port, you have receive software on the target machine? the beauty of it, you could use far more memory, that's what colditz etc was made on. Could you also send and receive? so like say you wanted to receive data from the target machine, it would also do that, and store them a byte statements. not that i code anything much.

jOx: that sounds like zeus64, maybe, I had that also.

turbo asm, i used a lot the one where you used the left arrow 3? or something to compile

had trilogic expert cart and action replay, but in some ways the expert was better, I always used to wipe $0400 with the action replay =/

I did look at putermans tutorial, its good at helping me to try to remember.
2007-09-06 20:41
tlr

Registered: Sep 2003
Posts: 1790
Quote:
tlr : that was the one with the red manuals? hehehe I remember it well, didn't get into it though,had the Oasis tape version.

Oasis Machine Lightning, yes. :)
The manuals where black on red pages, which was their version of copy protection... Turned up all black in copiers back then. :)
2007-09-14 00:52
Warnock

Registered: Sep 2007
Posts: 28
I used Turbo Assembler for all my coding.
I didn't have time to check out any others.
TASS was home for me.
2007-09-14 07:50
chatGPZ

Registered: Dec 2001
Posts: 11386
petmon->smon->ar6 (huge break) tass->verious cross assemblers->cc65/acme/codenet

and i always love to read this: crossbow still uses SMON, exclusivly :)
2007-09-14 12:59
raven
Account closed

Registered: Jan 2002
Posts: 137
Started with built-in monitor of a custom cartridge called
Jaguar back in 1987. Its still the only ML monitor I use.

Moved to TASM in late 1989 after joining The Force
and visiting Guy Shavitt's place.
It just seemed so easy :)

Still use a customized TASM on the 64 exclusively, no
cross-assemblers for me, kills the C64 feeling imho.

@Oswald: when I needed to insert an instruction I just
jmped to another address, executed that instruction (or
instructions) then jumped back.
That resulted in a very messy code. Very.
2023-10-25 15:26
Starfox

Registered: Jul 2014
Posts: 42
Sorry for necro :)

I used Smon-EX (can't remembers spelling) which was of course, a monitor.

To answer Oswald: If you need to insert something in the middle of code, you just place a JMP there, do your stuff and JMP back 😂

I made my first intros and demos using this monitor, lol!

Now I use KickAssembler, but I don't use much of its smart features, and I don't like the // for comments, so might try our 64TASS or something.
2023-10-25 17:44
Bansai

Registered: Feb 2023
Posts: 49
In the past year or so, I've become a fan of cross assemblers under Linux because of their speed, but also because for any nontrivial project, I'm writing C code as some sort of tool or emulator instrumentation anyway.

In the beginning though, a Fastload cartridge and a notebook of paper all the way. :-)
2023-10-25 20:45
DeMOSic

Registered: Aug 2021
Posts: 126
Started coding around 1.5 years ago, and when i first started, i either got introduced, recomended, or just had it downloaded on my computer, to 64tass and i still use it.

Huh, i still havent updated it for some abnormal reason... maybe i should.

But now i also use Kickassembler a bit (usually when im coding something that requires speedcode such as a plasma.).
2023-10-25 20:53
Fungus

Registered: Sep 2002
Posts: 686
Turbo assembler, tass64 and Action Replay monitor.

kickass and ca65 are nice, but too complex for my needs. But then I'm not a demo coder anymore.
2023-10-26 06:32
ChristopherJam

Registered: Aug 2004
Posts: 1409
I'm sure there's a newer version of this thread somewhere in which I talk about using xa for small projects, ca65 for bigger ones, but in any case I've pretty much transitioned to ca65 now. New projects just start with duplicating some boilerplate, so I don't have to worry about the setup cost anymore.

That said, BitPickler 1.0.0 internally uses a 'just the features I needed for this project' assembler library I cobbled together in Rust, to avoid any external dependencies or assembler version compatibility issues.

As for editors, still primarily Vim, though there's a promising 6502 plugin for JetBrains things that might see me changing over, especially if I get around to submitting a patch for unintendeds and a couple of misconfigured addressing modes.
2023-10-26 10:28
Starfox

Registered: Jul 2014
Posts: 42
Quote: In the past year or so, I've become a fan of cross assemblers under Linux because of their speed, but also because for any nontrivial project, I'm writing C code as some sort of tool or emulator instrumentation anyway.

In the beginning though, a Fastload cartridge and a notebook of paper all the way. :-)


I used to code on paper first too :) My grandma once saw me scribbling down some mc and thought it looked like I was communicating with aliens 😂

A good cartridge is very hand, indeed!

DeMOSic: I tried using 64TASS + notepad yesterday. No automation, just to test it out. I kind of like the barebones nature of such a setup, although I also use notepad++, sublime text normally together with kickass (which I only utilize 1% probably, lol).

Fungus: I find kickass's smart features too complex. I don't use macros, although they would probably make things easier. I have some speedcode for an effect that takes up 17kb, I wrote it all by hand in CBM PRG Studio. Switched to kickass, since CBM PRG Studio started having trouble with the length on the source code for that effect for some reason (I recall mentioning it to Arthur, who probably fixed it).

ChristopherJam: Interesting! I'm might check some of that out. I like, but am not a master of, Vim.

On another note: I often find the syntax highlighting in say, Sublime text or VSCode, to be rather incomplete. It will highlight some values in a color, but not others, some directivesm but not others. Sometimes I like just black text on a white background, and use notepad or something. What do you guys use for highlightning?
2023-10-26 10:55
Martin Piper

Registered: Nov 2007
Posts: 722
I recently added Python inline and include code and data generation to ACME: https://github.com/martinpiper/ACME/blob/master/TestPython.a#L35
2023-10-26 20:28
Youth

Registered: Aug 2003
Posts: 43
Last time I made something (Staying Alive), I used c64jasm, a cross-assembler made in Javascript. I do *not* recommend this; what I like about it is that it is pretty bare bones and is extensible using javascript, but it is not being actively maintained and has quirks.

I spent as much time developing plugins, tweaking my dev environment and making supporting tooling as I did writing assembler code, but I enjoyed that as well because it allowed me to procrastinate from writing assembler and still tell myself I was working on the project :)

I like that my project is all one javascript project, with only NodeJS as a dependency. Would I use it again? Probably. Would I recommend it? No, mostly because it is not being maintained so the quirks won't go away.

The code is at https://github.com/micheldebree/stayingalive
2023-10-26 20:41
iAN CooG

Registered: May 2002
Posts: 3194
> The code is at https://github.com/micheldebree/stayingalive

no it's not, 404 =)
2023-10-26 21:00
Youth

Registered: Aug 2003
Posts: 43
Quote: > The code is at https://github.com/micheldebree/stayingalive

no it's not, 404 =)


Sorry apparently it was set to private. Should be visible now.
2023-10-27 11:37
oziphantom

Registered: Oct 2014
Posts: 490
Native
6510+
DoubleAss

Cross
X816
64tass
2023-10-27 11:40
Frantic

Registered: Mar 2003
Posts: 1648
Quote: Native
6510+
DoubleAss

Cross
X816
64tass


I didn't think persons existed who had (a) coded natively on the C64, but who (b) did not use Turbo Assembler for at least some of that coding.
2023-10-27 11:49
tlr

Registered: Sep 2003
Posts: 1790
Quoting Frantic
I didn't think persons existed who had (a) coded natively on the C64, but who (b) did not use Turbo Assembler for at least some of that coding.

I never used Turbo Assembler natively. I used Machine Lightning, and later Laser Genius (which is the same thing).

It was very expensive.

EDIT: apparently I wrote that in this very thread when I started it in 2007. :)
2023-10-27 12:05
Frantic

Registered: Mar 2003
Posts: 1648
Quote: Quoting Frantic
I didn't think persons existed who had (a) coded natively on the C64, but who (b) did not use Turbo Assembler for at least some of that coding.

I never used Turbo Assembler natively. I used Machine Lightning, and later Laser Genius (which is the same thing).

It was very expensive.

EDIT: apparently I wrote that in this very thread when I started it in 2007. :)


The older and more senile we will get, the more the discussions will run in circles.
2023-10-27 12:09
JCH

Registered: Aug 2008
Posts: 200
I made a music screen for myself a couple of weeks ago, and so I wanted to code for real for the first time in decades.

After some research, I decided to use KickAssembler in Visual Studio Code, with an extension installed for syntax highlighting and starting in VICE with F6.

It works really well, except that VICE instances started with F6 are not closed unless I remember to do so myself. Before long I have a dozen VICE instances running all at once.
2023-10-27 14:33
tlr

Registered: Sep 2003
Posts: 1790
Quoting Frantic
The older and more senile we will get, the more the discussions will run in circles.

Yeah, I'll remind you of that when you in 16 years repeat the same statement. :)
2023-10-27 16:17
spider-j

Registered: Oct 2004
Posts: 498
Quoting JCH
except that VICE instances started with F6 are not closed unless I remember to do so myself. Before long I have a dozen VICE instances running all at once.

I have quite the opposite problem: I tend to hit ALT-W after initial warp is over to quickly get to the part I want to test and then automatically press ALT-Q when I'm done. But often times my fingers get confused and I press ALT-Q as soon as VICE opens :-)
2023-10-27 16:22
chatGPZ

Registered: Dec 2001
Posts: 11386
Quote:
It works really well, except that VICE instances started with F6 are not closed unless I remember to do so myself. Before long I have a dozen VICE instances running all at once.

Making a "start only one instance" feature has been on the TODO list for a while... not trivial unfortunately.

What you can do though: instead of starting up VICE directly, use a little script that triggers a reset and loads/starts the binary via the remote monitor feature. Then you wont have to close all those VICE instances anymore :)
2023-10-27 18:08
Burglar

Registered: Dec 2004
Posts: 1101
Quoting chatGPZ
Making a "start only one instance" feature has been on the TODO list for a while... not trivial unfortunately.

What you can do though: instead of starting up VICE directly, use a little script that triggers a reset and loads/starts the binary via the remote monitor feature. Then you wont have to close all those VICE instances anymore :)
this works fine in Sublime, it kills the previously started build process (which starts vice for me) before restarting.
2023-10-27 18:10
chatGPZ

Registered: Dec 2001
Posts: 11386
That's cheating!
2023-10-27 22:00
Monte Carlos

Registered: Jun 2004
Posts: 359
Smon, hypraass, gigaass, Turbo ass, assblaster, tmpx, ca65
2023-10-27 22:26
spider-j

Registered: Oct 2004
Posts: 498
Quoting Monte Carlos
hypraass, gigaass, Turbo ass, assblaster

That middlepart could be the answer to both: "what do you use for c64 coding?" and "what are your favorite categories on pornhub?" ;-)
2023-10-27 22:47
DeMOSic

Registered: Aug 2021
Posts: 126
Quoting Starfox
DeMOSic: I tried using 64TASS + notepad yesterday. No automation, just to test it out. I kind of like the barebones nature of such a setup, although I also use notepad++, sublime text normally together with kickass (which I only utilize 1% probably, lol).

yep, theres basically no automation or shortcuts for compilation or like other stuff, its just directly writing in the text editor (eg. notepad++), and to compile i have to open a command line and run the compilation script. It works for me!
2023-10-27 23:50
Krill

Registered: Apr 2002
Posts: 2980
Quoting DeMOSic
its just directly writing in the text editor (eg. notepad++), and to compile i have to open a command line and run the compilation script. It works for me!
Keep it like that, it's the elite way. =)
2023-10-28 02:04
Fungus

Registered: Sep 2002
Posts: 686
That's pretty much what I do, I don't use macros either because I tend to write runtime macros to save space.

I don't really need much fancy stuff, it also makes code hard to read if you don't know the environment. I don't think 6502 really needs it. But to each his own.

It makes setup easy too and you can quickly prototype or make things without needing a bunch of boilerplate code or setup directives. Immediacy has it's benefits.
2023-10-28 10:34
DeMOSic

Registered: Aug 2021
Posts: 126
hah, learning a modern text "code" editor with all the bells and whistles is too much work tbh

its more simple, and its easier to setup
2023-10-28 11:33
Walt

Registered: May 2004
Posts: 47
When I started in about 1987 i learned the OP code values and wrote code in data lines.

Some time later I got a real machine code monitor program (never had any kind of cartridge, except for a simple disk speedup one I created myself) that helped a lot.

Finally in the end of 1989 got Turbo Assembler, that was a very big improvement. Made a version where I modified the assemble to file function to send the file over the parallel port to another C64 which had a very small receive program running. Maximum memory realized and no more crashes on the assembly machine :)

These days it is Kick Assembler, Notepad++ and NPPExec for starting the assembler and running VICE :)
2023-10-28 12:23
Martin Piper

Registered: Nov 2007
Posts: 722
Mostly MSDevStudio or Notepad++ for me, with batch files to build everything. F7 is usually setup to run the build batch file and Ctrl+F7 is used to run Vice+net monitor+build output D64/CRT/PRG
2023-10-28 12:30
spider-j

Registered: Oct 2004
Posts: 498
Quoting Krill
Keep it like that, it's the elite way. =)

Not exactly: The "elite way" is to never have to open a terminal because it already *is* open – always ;-)

Anyway: I don't see why typing "make" in a terminal (or usually arrow up and enter – which are 2 keys – 3 if we also count ALT+TAB) gives some people a more "oldschool experience" than hitting 1 key in a text editor that will run "make". It's both pretty modern I think :-)
2023-10-28 12:39
Krill

Registered: Apr 2002
Posts: 2980
Quoting spider-j
I don't see why typing "make" in a terminal (or usually arrow up and enter – which are 2 keys – 3 if we also count ALT+TAB) gives some people a more "oldschool experience" than hitting 1 key in a text editor that will run "make". It's both pretty modern I think :-)
It's not about "oldschool" (IDEs aren't a new invention - OG Turbo Assembler was a rudimental IDE, after all), but about separation of concerns.

Text editor does this one thing, and does it well.
Shell or whatever terminal thingy for actual execution/debugging.

If a full-blown IDE is your thing, fine, as long as you don't mind random stalls when typing. =)
2023-10-28 12:56
Dr. TerrorZ

Registered: Oct 2013
Posts: 17
tl;dr : ca65, AVI, sublime-text

In early days I tried to write my own "assembler" using BASIC. These were simple INPUT loops which took in the handful opcodes I could understand.

Around 1990 I learned some more 6502 with the Action Replay VI monitor.

At some point I came across Rodnay Zaks' 6502 book and the C64 Reference manual, these inspired me to learn a little more during the mid-1990s. I could do conditions, loops and even copied an interrupt routine from somewhere.

In the 2000s there were a number of false starts with trying to learn more 6502 and cross-compilation, with internet materials at hand. I just couldn't find the time to do it properly.

2013 onwards I used cc65 to do a combination of c and assembler. With each project the amount of assy increased and eventually ditched the c. I still use the ca65 assembler from that package as I became familiar with it.

As editor I use Sublime Text, it helps manage different parts of the source. It does a poor job with 6502 syntax highlighting but it's enough.

I still sometimes play with the Action Replay monitor. Tried catridge-based TASM, but could no longer get into that.
2023-10-28 13:03
spider-j

Registered: Oct 2004
Posts: 498
Quoting Krill
If a full-blown IDE is your thing, fine, as long as you don't mind random stalls when typing. =)

For me I found that geany (https://geany.org/) is the best compromise between text editor and IDE. It's a little bigger than the mentioned notepad++ and sublime (still smaller that vscode) and it's not less performant in "just typing text" than gedit (which I used for quite a while).

Afair sublime and vscode are more bloated than geany even if they call themselves only "editors".

Of course I also would not want to go eclipse or net beans or whatever. I have already coded a couple of lines in geany before those would even have started up :-)
2023-10-28 13:41
Peacemaker

Registered: Sep 2004
Posts: 275
SMON+
2023-10-28 15:40
Monte Carlos

Registered: Jun 2004
Posts: 359
@spider: ... or some giga or turbo Nazi ass(hole)
2023-10-28 18:38
DanPhillips

Registered: Jan 2003
Posts: 39
With a little help from Martin Piper...

Laser Genius v1.6L by David Hunter, used to make Armalyte/Deadlock.
Split into 5 or 6 files and linked using jump tables.
Using an expert cart/action replay to load up the game and patch the part that was being worked on.
~2 minute iteration loop. We used to wonder how anyone could wait 20 minutes for a compile...Now with UE5 it seems to be the way.

Cheers

Dan
2023-10-28 22:25
Fungus

Registered: Sep 2002
Posts: 686
Oh wow you used Laser Genius? Surprising. I figured you cross assembled from Amiga or something.

Did anyone use TSDS?
2023-10-28 22:57
DanPhillips

Registered: Jan 2003
Posts: 39
Quote: Oh wow you used Laser Genius? Surprising. I figured you cross assembled from Amiga or something.

Did anyone use TSDS?


We used PDS (286 squirting down the parallel port IIRC), on the Last Ninja III intro...that was the last thing we did on C64 :-|

Currently using Tass64, once you setup some nice macros it's easy to work with cartridges...

Cheers

Dan
2023-10-29 17:31
oziphantom

Registered: Oct 2014
Posts: 490
Quote: I didn't think persons existed who had (a) coded natively on the C64, but who (b) did not use Turbo Assembler for at least some of that coding.

I used what I had and that was a free assembler I got on a PD disc from Brunswick PD, then DoubleAss I was able to buy at a computer market for $10 somewhere. But If I could have used Turbo Assembler on a the 64 I would have, it's a lot better than 6510+, but I probably would have dropped it for DoubleAss though.
2023-10-29 23:42
The MeatBall

Registered: Dec 2001
Posts: 367
Started out using TFC3 monitor, then luckily moved to TASM. Did a bit with using two c64, and tried cross-assembly (no idea what I used then, we're talking the 1990s here!).
2023-10-30 06:09
Adam

Registered: Jul 2009
Posts: 323
ca65, kick assembler and ian coog & tlr's modded/fixed version of dasm.
2023-10-30 10:19
Lead

Registered: Dec 2004
Posts: 20
If we're talking 'back-in-the-days'(early 90's) I was using Turbo Assembler, mostly a version that had some JCH text in the bottom, I believe this was 5.1. It worked very well but the downside was that the 'bottom' kept creeping up on you.

This resulted in the fact that you had to keep you coding/data low in the memory.

A bit later I used the Turboassembler with ComLink/MacrosAsm, linking 2 c=64s so you could have your coding in one, and use the full memory of the other.

Nowadays I used the Kickassember + Sublime text combination iif I would so ssome serious programming. Simple stuff I tend to still do on real C64 (actually I use my Ultimate-64 most) in TurboAss.
2023-11-03 03:42
NoiseEHC

Registered: Feb 2005
Posts: 51
Currently I am using Rust macros as an assembler. Practically you write Rust code which generates the .prg files (and debug info and whatever else you need). All macro assemblers have some kind of programming languages embedded inside them, but they are usually crap. Using Rust for that is day and night in my opinion.

For editor it is Visual Studio Code with the Rust plugin.
2023-11-03 13:16
spider-j

Registered: Oct 2004
Posts: 498
Quoting NoiseEHC
Currently I am using Rust macros as an assembler. Practically you write Rust code which generates the .prg files (and debug info and whatever else you need).

Sounds kind of crazy. Would love to take a look at how that works.
2023-11-03 13:40
Martin Piper

Registered: Nov 2007
Posts: 722
I just found my very basic assembler written in BASIC. Which I used before 6510+.
2023-11-03 14:07
NoiseEHC

Registered: Feb 2005
Posts: 51
Quoting spider-j
Sounds kind of crazy. Would love to take a look at how that works.


I will release it once the music player is finished which I am writing using that assembler. (The player will be able to pack sectors into a list of memory holes defined in Rust, from second a to second b.)

It has some restrictions - for example you have to put ; at the end of lines as it is Rust code, use 0x for hexadecimal numbers, and you have to forward define labels used in expressions. But you can write code like this:

let rust_variable = 3;
asm! {
//-----------------------------------
jmp init_music;
play_music:
//-----------------------------------
ldx #14;
bne +;
+ lda play_music+rust_variable,x;
}
2023-11-04 00:21
spider-j

Registered: Oct 2004
Posts: 498
Quoting NoiseEHC
I will release it once the music player is finished which I am writing using that assembler.

That snippet you posted looks interesting. Nice idea. Looking forward to that release.
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
Fred/Channel 4
The Syndrom/TIA/Pret..
MCM/ONSLAUGHT
Digger/Elysium
Guests online: 162
Top Demos
1 Next Level  (9.7)
2 13:37  (9.7)
3 Mojo  (9.7)
4 Coma Light 13  (9.6)
5 Edge of Disgrace  (9.6)
6 What Is The Matrix 2  (9.6)
7 The Demo Coder  (9.6)
8 Uncensored  (9.6)
9 Comaland 100%  (9.6)
10 Wonderland XIV  (9.6)
Top onefile Demos
1 Layers  (9.6)
2 No Listen  (9.6)
3 Cubic Dream  (9.6)
4 Party Elk 2  (9.6)
5 Copper Booze  (9.6)
6 Dawnfall V1.1  (9.5)
7 Rainbow Connection  (9.5)
8 Onscreen 5k  (9.5)
9 Morph  (9.5)
10 Libertongo  (9.5)
Top Groups
1 Performers  (9.3)
2 Booze Design  (9.3)
3 Oxyron  (9.3)
4 Triad  (9.3)
5 Censor Design  (9.3)
Top Graphicians
1 Mirage  (9.8)
2 Archmage  (9.7)
3 Pal  (9.6)
4 Carrion  (9.6)
5 Sulevi  (9.6)

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