Jump to content
Blues76

Assembly Options Atari 8-bit (Assembler) and C

Recommended Posts

Hello,

 

My coding experience (except for Basic and Turbo Basic, which I don't remember much for the Atari) is really not in the 8-bit platform.

 

I'm going to be honest, I don't know if I will have time to do something or pick up the time to write, as I'm too busy but maybe one day.

 

I'm looking at the options. I searched in the forums and for what I have learned, there are ATASM, XASM, MADS, MAC65, and CC65 (which includes C), among others.

 

My understanding is MADS is prefer by some except for the lack of English documentation (but this may not be true anymore).

 

I know there are sites about each of them but I wanted from your perspective what assembler is ideal now, why are you using the one you are using, etc. Any information you can provide from your perceptive would be great.

 

Now, I don't want to confused this post, but if you happen to use C (or both), I would also like to know your experience. For example, if you know C (which I do) but you are using Assembly, is there a reason? and vice-versa (which this way around may be easier to see why).

 

Thanks,

 

 

  • Like 1

Share this post


Link to post
Share on other sites

all programming languages for a correct system are bad.

if there was a good programming language for it,

no more bad programming languages would be invented.

 

greeting

  • Like 1
  • Sad 1

Share this post


Link to post
Share on other sites
26 minutes ago, funkheld said:

all programming languages for a correct system are bad.

if there was a good programming language for it,

no more bad programming languages would be invented.

 

greeting

greeting...

 

 

Share this post


Link to post
Share on other sites

Imho, MADS is standard for fast asm based projects.

Cc65 is surprisingly good for stuff that doesn't need to much memory or too much speed. Something like puzzle, rpg or strategy game can be coded in it without problems.

Both of these have direct (copy paste) support for RMT music and sfx, so it's a safe bet to go with these (Mads has english documentation, and if something is missing it's here on atariage forum for sure).

 

My personal experiment from last year is KickAssembler that's originally meant to be used for c64, but it works nicely with custom header part of main asm script.
Kickass has a great manual, lot's of cool stuff in it's scripting language (math, macros,  data types etc).

 

Only problem I haven't bothered to solve so far is lack of RMT direct support. It sure can be done, I just didn't have time to do it myself :)

 

And I hear good things about some basic interpreters and sone new compilers, but I'll let someone else talk about those :)

Cheers and wish you good coding sessions :)

 

  • Thanks 1

Share this post


Link to post
Share on other sites
1 minute ago, popmilo said:

Imho, MADS is standard for fast asm based projects.

Cc65 is surprisingly good for stuff that doesn't need to much memory or too much speed. Something like puzzle, rpg or strategy game can be coded in it without problems.

Both of these have direct (copy paste) support for RMT music and sfx, so it's a safe bet to go with these (Mads has english documentation, and if something is missing it's here on atariage forum for sure).

 

My personal experiment from last year is KickAssembler that's originally meant to be used for c64, but it works nicely with custom header part of main asm script.
Kickass has a great manual, lot's of cool stuff in it's scripting language (math, macros,  data types etc).

 

Only problem I haven't bothered to solve so far is lack of RMT direct support. It sure can be done, I just didn't have time to do it myself :)

 

And I hear good things about some basic interpreters and sone new compilers, but I'll let someone else talk about those :)

Cheers and wish you good coding sessions :)

 

Thanks! Very useful information you have provided!

 

Share this post


Link to post
Share on other sites
54 minutes ago, Blues76 said:

Hello,

 

My coding experience (except for Basic and Turbo Basic, which I don't remember much for the Atari) is really not in the 8-bit platform.

 

I'm going to be honest, I don't know if I will have time to do something or pick up the time to write, as I'm too busy but maybe one day.

 

I'm looking at the options. I searched in the forums and for what I have learned, there are ATASM, XASM, MADS, MAC65, and CC65 (which includes C), among others.

 

My understanding is MADS is prefer by some except for the lack of English documentation (but this may not be true anymore).

 

I know there are sites about each of them but I wanted from your perspective what assembler is ideal now, why are you using the one you are using, etc. Any information you can provide from your perceptive would be great.

 

Now, I don't want to confused this post, but if you happen to use C (or both), I would also like to know your experience. For example, if you know C (which I do) but you are using Assembly, is there a reason? and vice-versa (which this way around may be easier to see why).

 

Thanks,

 

 

There is English documentation now:

 

http://mads.atari8.info/mads_eng.html

  • Thanks 1

Share this post


Link to post
Share on other sites

I use cc65 for non-time critical programming, it's probably the most complete C compiler for the Atari.

 

For everything else I use MAC/65 as I like to program on the 8 bit itself, again, MAC/65 is mature and nice to use

  • Thanks 1

Share this post


Link to post
Share on other sites
14 hours ago, zbyti said:

@TGB1718 Where I can see your CC65/MAC65 code?

Here's a program I wrote to convert binary files into data statements, makes it easy to put

machine code to be used in BASIC into DATA statements or .BYTE in assembler.

 

I wrote the original in BASIC back in 1986 but decided to write it in cc65 as a first exercise

to get used to the environment.

 

As for MAC/65, this .ATR has an autoload in SDX 3.2, it is a game I developing and might one day finish 

all written in MAC/65 on a 130XE (no windows environment to help then :) )

 

 

AUTODATA.c autodata.xex cityboot.atr

Edited by TGB1718
  • Like 3

Share this post


Link to post
Share on other sites
3 hours ago, funkheld said:

13300 byte ....is a lot for such a program. 

It's a stand alone utility, so size doesn't really matter that much, but that's the overhead when using C

I'm sure if I looked more carefully at it I could reduce the size, but would not really achieve a great deal.

 

The game on the other hand written completely in assembler achieves all that you see on screen in 1767 Bytes

(excluding the picture files)

  • Like 2

Share this post


Link to post
Share on other sites

I've been using ca65, and after a bit of a learning curve, I'm really loving it.

 

I must say that part of the reason I picked ca65 for my macro assembler is precisely *because* it is part of cc65, and I have a bunch of 8-bit apps I wrote in the 80s in both Macro Assembler and C that I plan to get compiling again, so I figured I may as well go with the ca65/cc65 pair as the likely "one stop shop" for all my needs.

 

FWIW, I do my development on a MacBook Air, so Mac (or linux) compatibility was a requirement for me.

 

Share this post


Link to post
Share on other sites

As the great Robbie Krieger once sang, "Well variety is the spice of life
That's what the judge is going to tell my wife"

 

It's great that we have so many options both new and old to keep coding on these old machines.

  • Like 1
  • Haha 1

Share this post


Link to post
Share on other sites

lo%C5%BCadailymail.jpg

 

Statler: Look! This guy knows eight programming languages!

Waldorf: But he do nothing interesting in any of them...

  • Like 1
  • Haha 2

Share this post


Link to post
Share on other sites
1 hour ago, zbyti said:

lo%C5%BCadailymail.jpg

 

Statler: Look! This guy knows eight programming languages!

Waldorf: But he do nothing interesting in any of them...

Come on - most are obviously shit because he can't do:

// Game loop:
Draw sprite();
AnimateSprite();
MoveSprite();
PlayMusic();

  • Haha 1

Share this post


Link to post
Share on other sites
5 hours ago, zbyti said:

lo%C5%BCadailymail.jpg

 

Statler: Look! This guy knows eight programming languages!

Waldorf: But he do nothing interesting in any of them...

I feel seen.

  • Haha 1

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...

  • Recently Browsing   0 members

    No registered users viewing this page.

×
×
  • Create New...