Jump to content

Recommended Posts

As a total Assembler newbie (did some very basic stuff (x86/Z80 years ago). Curious to know which is better, the atari assember cartridge or the Mac/65 from OSS.also noticed OSS did a set of macros to add functions for screen drawing etc?

 

As a newbie the atari assembler cartridge will be more than enough for my efforts but just interested in thoughts on assemblers.

 

I have no ambitions about building the nex killer game on the Atari etc but thought it would be fun to have a play with low level programming as I spend all my time in a highler level world with C# etc.

Edited by jodonnell

Share this post


Link to post
Share on other sites
As a total Assembler newbie (did some very basic stuff (x86/Z80 years ago). Curious to know which is better, the atari assember cartridge or the Mac/65 from OSS.also noticed OSS did a set of macros to add functions for screen drawing etc?

 

As a newbie the atari assembler cartridge will be more than enough for my efforts but just interested in thoughts on assemblers.

 

I have no ambitions about building the nex killer game on the Atari etc but thought it would be fun to have a play with low level programming as I spend all my time in a highler level world with C# etc.

 

"Better" would be mac/65

The macros you talk about are part of the "MAC65 toolkit".

 

If you are just learning the I would say Assembler editor cartridge is OK, but only for small programs, it slows up considerably as the program grows. Also you will possibly find the assembler edit cartridge is cheaper that Mac/65.

 

Also worth looking at are cross assemblers, but this requires a PC and a way of getting the binary output of the assembler over to a real atari. (that is if you are not using an emulator). There are lots of threads out there on this site for the various flavors MADS, XASM et. al.

 

I always think learning assembly is like learning Latin for English speakers. It may never be used as an actual skill, but you will learn so much about the way other languages work.

 

good luck in your studies

Share this post


Link to post
Share on other sites

As a total Assembler newbie (did some very basic stuff (x86/Z80 years ago). Curious to know which is better, the atari assember cartridge or the Mac/65 from OSS.also noticed OSS did a set of macros to add functions for screen drawing etc?

 

As a newbie the atari assembler cartridge will be more than enough for my efforts but just interested in thoughts on assemblers.

 

I have no ambitions about building the nex killer game on the Atari etc but thought it would be fun to have a play with low level programming as I spend all my time in a highler level world with C# etc.

 

MAC/65 for sure. The Atari Assembler Editor is very basic, MAC/65 is a premium and highly sough after macro assembler for the 8-bit Atari. All of OSS programming tools are highly sought after, really, so don't expect to get any of them cheaply. They are very powerful tools that address the shortcomings of Atari's own programming tools which was why the company was founded in the first place.

Share this post


Link to post
Share on other sites

Speaking of cross assemblers, ATASM is compatible with MAC/65:

http://atari.miribilist.com/atasm/

 

 

Also, I recommend the 6502 Macro Assembler & Simulator:

http://atari.miribilist.com/atasm/

 

It is indispensible. I use it at times to develop/debug assembly subroutines. It allows break points, single stepping, etc.

 

Good luck!

tjb

Share this post


Link to post
Share on other sites

hi,

 

Has anybody used the Mac65 toolkit together with ATASM or any other PC assembler? I'm trying to use kernel.m65 together with ATASM and I get function errors. Here's the error and my source listing.

 

   .OPT NO LIST
   *= $2000
   .INCLUDE "kernel.asm"

START
    GR 2

LOOP
   JMP LOOP

  *= $2E0
  .WORD START

error :

---------- atasm ----------
ATasm 1.06 beta (A mostly Mac65 compatible 6502 cross-assembler)
Pass 1: Success. (0 warnings)
Pass 2: 
Equates:
@@PASS: 0001		*@@PUSHREGS: 0001		 I: 2011		
J: 2013		 K: 2015		

Symbol table:
LOOP: 24ca		
QQBCLR: 2460		QQBMOV: 23f9		QQCFLG: 2004		
QQCMP: 200c		QQCOLR: 2001		QQDRAW: 22aa		
QQENUM: 2002		QQERMLEN: 22de		QQERMSG: 22d1		
QQERR: 22e0		QQFILL: 22bc		QQGET: 2064		
QQGR: 224b		QQIN: 2120		QQININ: 2130		
QQLEN: 2000		QQLOAD: 2177		QQLOOP: 2011		
QQPASS: 2008		QQPGMV: 244c		QQPIN: 20b1		
QQPREC: 20a1		QQPUT: 2081		QQPUTB: 2010		
QQRDIV: 2043		QQRMUL: 2023		QQSLEN: 24b1		
QQSTOP: 23a9		QQTRAP: 2006		START: 24bd		

In kernel.asm, line 1032--[while expanding macro 'PLUS']
Error: Unknown symbol '?K'

Output completed (0 sec consumed)

 

greetings and thanks

Edited by ascrnet

Share this post


Link to post
Share on other sites

hi,

 

Has anybody used the Mac65 toolkit together with ATASM or any other PC assembler?

 

<snip>

 

greetings and thanks

 

I don't know if you are still looking for any answer on this but I went to take a look at it and noticed the kernel.m65 file I found had many, many control codes embedded inside it. My editor even thought it was a binary file. Printing it to the screen within the atari emulator showed the same thing. I couldn't find any other versions on the web. If this is a good copy I am guessing the editor included with mac/65 used/uses this format and the mac/65 assembler is able to parse it? This wouldn't go over well on any pc based cross-assembler. I suppose the file could be converted, but I didn't even like looking at it, so it wouldn't be an undertaking I would embark on any time soon. :)

Edited by invisible kid

Share this post


Link to post
Share on other sites

hi,

 

Has anybody used the Mac65 toolkit together with ATASM or any other PC assembler?

 

<snip>

 

greetings and thanks

 

I don't know if you are still looking for any answer on this but I went to take a look at it and noticed the kernel.m65 file I found had many, many control codes embedded inside it. My editor even thought it was a binary file. Printing it to the screen within the atari emulator showed the same thing. I couldn't find any other versions on the web. If this is a good copy I am guessing the editor included with mac/65 used/uses this format and the mac/65 assembler is able to parse it? This wouldn't go over well on any pc based cross-assembler. I suppose the file could be converted, but I didn't even like looking at it, so it wouldn't be an undertaking I would embark on any time soon. :)

 

I don't know if any of the original posters are looking for an answer to this, but I figure it might be a good idea to post the answer to this for anyone that comes across this thread later on like I did. =^.^=

 

The kernel.m65 file really is a binary file. In fact, all of the *.M65 files are binary. The Mac/65 assembler tokenizes its listings both in memory as well as on disk to save memory just like Atari BASIC does.

 

To use those files with ATasm, I would think that you would first have to "LIST" the Kernel.m65 file to disk as Kernel.asm and then convert it from ATASCII to ASCII text.

 

BobKat =^.^=

Edited by bobkat2769

Share this post


Link to post
Share on other sites

As a total Assembler newbie (did some very basic stuff (x86/Z80 years ago). Curious to know which is better, the atari assember cartridge or the Mac/65 from OSS.also noticed OSS did a set of macros to add functions for screen drawing etc?

 

As a newbie the atari assembler cartridge will be more than enough for my efforts but just interested in thoughts on assemblers.

 

Mac/65 is by far the better tool. You will avoid emotional trauma if you avoid using the Asm/Ed cartridge.

 

Although, I would personally cross-assemble and download to an emulator these days. (You can probably assemble a 16K game in under a second on modern hardware).

  • Like 1

Share this post


Link to post
Share on other sites

Hi,

 

I'd like to use the MAC/65 tooklit macros defined in KERNEL.M65 in ATASM - but I am getting errors when I try to assemble a simple assembler file (have converted KERNEL.M65 into flat ASCII). Has anyone managed to get this to work? Also, does anyone have a collection of macros - ideally ones that work with ATASM? I'm interested in I/O macros, but any others would be interesting too. Am using WUSDN/eclipse on Linux, though this should not make any difference.

Share this post


Link to post
Share on other sites

MAC/65 is evolved from the Atari Assembler Editor. SMI's best woman, Kathleen, made the very first Assembler for the Atari. Later came OSS EASMD, then MAC/65, which is still the best on the original machines.

Please check:

https://atariwiki.org/wiki/Wiki.jsp?page=6502%20Assembly%20Code

https://atariwiki.org/wiki/Wiki.jsp?page=Atari%20Assembler%20Editor

https://atariwiki.org/wiki/Wiki.jsp?page=Mac65

and become a jedi master... ;-)

Share this post


Link to post
Share on other sites

Unless you want to code on Atari hardware, WUDSN Eclipse is the software to use. Coding is a lot more convenient with a full-screen editor without line numbers and debugging is a lot more fun on a PC as well.

  • Like 1

Share this post


Link to post
Share on other sites

Hi,

 

I'm using WUDSN on Linux (it is a great IDE), but want to make an ATR of files that MAC65 can assemble when the project is finished (which it just about is). I use dir2atr to build the ATR, and copy it over to a Raspberry Pi which is running sio2bsd.

 

All the MAC65 files are in plain text, and imported into WUDSN, but I can't get the MAC65 toolkit macros to assemble (kernel.m65 is the biggie - and either ATASM isn't 100% compatible with MAC65, or I am using ATASM wrongly). At the moment I am just using the IO macros from IOMAC.LIB, and they work fine.

 

I have one quick question - what's the simplest way to convert ASCII <-> ATASCII, on Linux, or on the 8-bit? This is part of the getting my ATASM sources to work with MAC65. Ideally something that works from the command line, as I use scripts as much as possible.

 

I had a look at "aac", but it gives me an error on Linux, and there is supposed to be an 8bit version, but it will only work with SpartaDos, which I am not using.

 

Btw, I'm using real hardware as I am writing SIO commands for a Happy 1050 and Lazer 1050.

Share this post


Link to post
Share on other sites

I've been tinkering with making the Action! editor able to save files in a tokenized format in an effort to help speed up the Six Forks assemler. It has occurred to me that it might also be applied to Mac/65. I know Roland would be all over it, but is there any reason to think anybody but him and I would find the Action! editor useful in the Mac/65 cartridge ? I'm not sure there's even space for it, but that can be checked. I expect it would work much the way the line editor does now, it would tokenize each line as you entered it, and detokenize in order to draw to the screen. I have yet to go over the token tables to see if there's room to add all the 65816 mnemonics and addressing operands and such.

 

I already have an 816 assembler in Alfasm, but Mac/65 is really an excellent assembler with good macro capabilities. With a decent editor and some banked ram support, it could turn out to be a very good 65816 assembler.

  • Like 3

Share this post


Link to post
Share on other sites

Hi luckybuck,

 

I think it might have been a problem with how ATASM processed the Mac65 macro files, I will see if I can find an example. I got the I/O macros like PRINT, BGET, BPUT, OPEN, etc., to work, but I think it fell over on something from KERNAL.M65, but I have to have a look to see exactly what went wrong.

Share this post


Link to post
Share on other sites

??? You assemble from a specific address, let's say: $4000 , so then go to DOS for example (OSS DOS) and type: RUN 4000       That's all.

Share this post


Link to post
Share on other sites

I had a Mac/65 cart for maybe 30 years and never warmed up to it. I finally gave it away because I figured it would be better off in the wild where it could eventually find some love.

 

I never liked the tokenized storage of files. I never like not having page 6 available which is my preferred method of working out routines for use in larger programs. DDT was even worse in that it used up more of page 6. My favorite system for developing USR() routines was an ASM/ED cart plugged into a SDX cart on an 800xl so I could assemble code to page 6 and switch to built in BASIC with the routines still in place.

 

Just about everything Mac/65ish that made it good was supplanted by other programs so long ago, it's like comparing Atari BASIC to some of the newer offerings like C or Altirra BASIC. Sure it is an important part of history and valuable as such, just that it is like choosing Deep Blue C over something more modern. Nothing wrong with it, just that there are better environments for programming. 

 

My favorite 'You are a goose!!!' moment was when I had a program I was assembling on an Atari with the ASM/ED cartridge and it was taking so long I decided to time it against an assembler on a '286 with a hard drive. I think it took a couple of minutes to compile on the Atari and when I did the same program on the '286, it was finished before I could pick up my watch!

Share this post


Link to post
Share on other sites

🙂 Yeah, the good old times. I started with Kathleen's cart, too and the book from Inman. But with MAC/65 you could directly assemble to page 6 on disk and load it from there...

But for just some speed routines, the Atari Assembler cart was fully sufficient, of course.

Share this post


Link to post
Share on other sites

@Samual: Simply not true, if you have a true MAC/65 cartridge with DDT and have already assembled your code, let's say at $600, then you can go to DDT with the command 'DDT' and type in 'G600', which will execute your program at $600. Please don't tell, it is not there, when it is there.

 

@ricortes: from #21: 'I never like not having page 6 available...'

Maybe it is already too late here, but taking OSS DOS XL and the 1.02 cart of MAC/65 with DDT: page 6 is complete empty...

So sorry for the truth...

Share this post


Link to post
Share on other sites

I do believe that with Mac-65 you need to use .OPT OBJ to get an assembly to memory where with the Atari AsmEd cart it's the default.

 

 

Share this post


Link to post
Share on other sites

Rybags, not believing, that is the truth! Otherwise no object code will be produced! It is in the manual. That is why I wrote, whether post #10 was read? The manual there about the MAC/65 and DDT is clear about this. With OCR, of course, only the best for the community. But people really have to do their homework. In those times, sadly but true, there was no: ' Alexa, write Space Invaders in assembly language for the 6502 on an Atari for the MAC/65 for me.'  But, there is still hope, these times will come... ;-)

  • 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.

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...