Jump to content
ac.tomo

Programming platforms

Recommended Posts

 

Can anyone help me out, I'd like to know what poeople use to create programs on a typical PC. Like for instance, writing code to work on Atari800win/Alterra or typical PC code. I'm fine with Assembly and was wondering if people use any specific Assembler as well. I'm not up on C++ or C#. Any help much appreciated.

Edited by ac.tomo

Share this post


Link to post
Share on other sites
1 hour ago, ac.tomo said:

 

Can anyone help me out, I'd like to know what poeople use to create programs on a typical PC. Like for instance, writing code to work on Atari800win/Alterra or typical PC code. I'm fine with Assembly and was wondering if people use any specific Assembler as well. I'm not up on C++ or C#. Any help much appreciated.

Did you see the two pinned topics ? 

 

There is one on how to use windows tool to develop and other on books. 

 

There a few different assemblers. If you see one my post, I asked about the softener ones. I’m not in front of my computer but I can linked them later. But see if what’s here helps you in anyway. 

Share this post


Link to post
Share on other sites

Thanks Blues76, I must have seen them pinned subjects loads of times without realising what they're about. As I understand, the majority of people seem to use WUDSN, but what is ECLIPSE, and do I need ECLIPSE with any of the other ASSEMBLY editors. I've been on Atari 8-bit since the beginning and thought it is high time I moved up to PC's/ I'm probably more intersted in cross-assemblers. I'm fine with 6502 Assembly & M/C (and BASIC). Perhaps some people can tell me the choice that they made, what assemblers they use and why, I would be very much interested. 

 

 

 

Share this post


Link to post
Share on other sites
13 minutes ago, ac.tomo said:

but what is ECLIPSE, and do I need ECLIPSE with any of the other ASSEMBLY editors.

 

 

 

Eclipse is an IDE (Integrated Development Environment) that allows you to write code in many languages.

You can also write your own plugins for it, so that it understands how to edit certain files.

WUDSN is one such set of plugins for it that allow you to write ASM easily targeting Atari 8 bit, and it has support for several assemblers, but primarily targets MADS (see http://mads.atari8.info/mads_eng.html).

 

You can download Eclipse in several pre-bundled packages to work with the languages you want, e.g. Java, C/C++.

However, WUDSN's wonderful author (@JAC!) has pre-bundled Eclipse with assemblers for you to download and use immediately.

You can find the download link and instructions at http://www.wudsn.com/index.php/ide

 

Edited by fenrock
grammar
  • Like 2

Share this post


Link to post
Share on other sites

I'm happy enough with Notepad++ for editing and a command prompt open for running either the MADS assembler or gnumake to run a makefile to build using ca65 and ld65 from the cc65 suite, the latter being my preferred.

Share this post


Link to post
Share on other sites

I am using the MADS assembler together with vscode as an editor.

 

I see some fuss being made about this c64 Kick assembler, so I might take a look there soon.

Share this post


Link to post
Share on other sites

Thanks for that all, very informative, if anyone else wants to contribute some information for what they do and where they get their programs please do. It seems to me that my best option would be the WUDSN in ECLIPSE and MADS assembler (so far).

Share this post


Link to post
Share on other sites

I am using the NetBeans IDE, together with CC65 and CA65. I like CC65 because of its ability for separate compilation and the powerful LD65 linker. Small tools for internal use I develop in Java.

 

To create disk images, I use dir2atr and AtrCompiler. To create compressed binary load files, I use Super Packer.

 

For smaller assembler projects, I use the ATASM cross assmbler, because of its simplicity, but I am now leaning towards MADS. Still maintained and powerfull. 

Share this post


Link to post
Share on other sites

Many thanks all, I downloaded the link at the bottom of your (fenrock) post, transfered all the files and folders into the correct location(c:\jac\wudsn), but when I run the WUDSN shortcut it tells me a JRE or JDK are not present, any help?

Edited by ac.tomo

Share this post


Link to post
Share on other sites
40 minutes ago, ac.tomo said:

Many thanks all, I downloaded the link at the bottom of your (fenrock) post, transfered all the files and folders into the correct location(c:\jac\wudsn), but when I run the WUDSN shortcut it tells me a JRE or JDK are not present, any help?

Do you know programming ? 

 

I don’t mean any disrespect but you said you were fine with assembly but lot c++ pr c# but neither are used in atari 8-bit. 

 

 

It is missing the JDK — downloaded and install it. 

 

Share this post


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

Do you know programming ? 

 

I don’t mean any disrespect but you said you were fine with assembly but lot c++ pr c# but neither are used in atari 8-bit. 

 

 

It is missing the JDK — downloaded and install it. 

 

Yh, I'm fine with programming, I'm just a bit of a newbie when it comes to my laptop, I'm still learning links, installing, whats useful and whats not, how to access specific files, where too put them, I'm a bit in the past computer wise, but thanks for that.

 

EDT: I've downloaded the java thingamedood, and got it all working but its going to be a lot of learning for me as when I used to program years ago (in machine-code) I never much used an assembler, I usually created my program on paper and then entered it directly into disk sectors in hex codes (using a typical disk sector editor), thus, I don't have any source files either, everything was on paper.

I imagine now (using pc's) that it will be considerably easier to create an xex or so because of the amount of more memory you can use for the assembler and such. Anyway, if anyone has any help, programs or what that you'd like to aid me learning all about this new way of programming (to me) then I look forward to hearing from you.

 

Edited by ac.tomo

Share this post


Link to post
Share on other sites
2 hours ago, ac.tomo said:

Yh, I'm fine with programming, I'm just a bit of a newbie when it comes to my laptop, I'm still learning links, installing, whats useful and whats not, how to access specific files, where too put them, I'm a bit in the past computer wise, but thanks for that.

 

EDT: I've downloaded the java thingamedood, and got it all working but its going to be a lot of learning for me as when I used to program years ago (in machine-code) I never much used an assembler, I usually created my program on paper and then entered it directly into disk sectors in hex codes (using a typical disk sector editor), thus, I don't have any source files either, everything was on paper.

I imagine now (using pc's) that it will be considerably easier to create an xex or so because of the amount of more memory you can use for the assembler and such. Anyway, if anyone has any help, programs or what that you'd like to aid me learning all about this new way of programming (to me) then I look forward to hearing from you.

 

 

now you watch these and soon show us a nice game :)

Share this post


Link to post
Share on other sites
20 hours ago, ac.tomo said:

 

I imagine now (using pc's) that it will be considerably easier to create an xex or so because of the amount of more memory you can use for the assembler and such. Anyway, if anyone has any help, programs or what that you'd like to aid me learning all about this new way of programming (to me) then I look forward to hearing from you.

 

I went from hacking around a few bytes of machine code in BASIC Data statements to using a compiler as soon as I could afford a disk drive.

 

Then years later I went to cross compilation from a PC. It makes all the difference with everything in memory at once, which is easy for a PC.

 

I would recommend reading Maoping the Atari. Initially, if you haven't already that is, give it a good read to learn its layout and some concepts. Then use it as a good reference. It won't lead you through everything, you need to find your way through.

Share this post


Link to post
Share on other sites

I used Eclipse for my last assembly language project (Shamus+) and found it great. If you set up Altirra you can compile and test run with a single keypress. I‘d also recommend Mapping the Atari. The Altirra Hardware reference is very thorough as well but maybe a bit drier to read with less prose/examples than MtA. De Re Atari gives a topic by topic overview. 

  • Like 1

Share this post


Link to post
Share on other sites
3 minutes ago, slx said:

I used Eclipse for my last assembly language project (Shamus+) and found it great. If you set up Altirra you can compile and test run with a single keypress. I‘d also recommend Mapping the Atari. The Altirra Hardware reference is very thorough as well but maybe a bit drier to read with less prose/examples than MtA. De Re Atari gives a topic by topic overview. 

One of the coolest (IMHO) features of using the Eclipse + MADS + Altirra combination, is the fact that we can set breakpoints in 6502 code and single step!  Crazy cool.

  • Like 2

Share this post


Link to post
Share on other sites
On 11/20/2020 at 7:52 PM, snicklin said:

 

I imagine now (using pc's) that it will be considerably easier to create an xex or so

If you were used to hand-assembling machine-code using a disk sector hex editor, with Eclipse/MADS/Altirra you'll think you've died and gone to heaven!

Share this post


Link to post
Share on other sites
9 hours ago, drpeter said:

If you were used to hand-assembling machine-code using a disk sector hex editor, with Eclipse/MADS/Altirra you'll think you've died and gone to heaven!

That was from ac.tomo not me.

Share this post


Link to post
Share on other sites
On 11/20/2020 at 1:59 AM, thank you said:

 

now you watch these and soon show us a nice game :)

Thats great thanx, I have a few questions:

 

Ideally I'd like to see a list of all the commands that this MADS assembler uses, obviously I understand LoaD's, STores, Branches etc. but I did see some I didn't recognise; I understand .PROC (from my structured basic days), but whats the use of .LOCAL, I usually identify data with a LABEL. I'd like to find out what other (dot).instructions there are and also there's a couple of other instructions I dont know, I think one was MVA, also appending the letter "a" in the .BYTE data, thats new to me.

If someone can direct me to all of this sort of information that would be great. Also, I haven't written a game, but I have written a small demo in assembly, I've yet to type it in and (obviously) debug it, but if all goes fine I should get it uploaded on this forum soon.

 

EDT: I've just found the instructions (!! lol), but would still like any input.

Edited by ac.tomo

Share this post


Link to post
Share on other sites

This MADS assembler is very good, although I wonder if someone can answer a question for me:

What is the purpose of using .local, and whats the syntax of using .long?

Thankyou.

Share this post


Link to post
Share on other sites
On 12/15/2020 at 9:28 PM, ac.tomo said:

but whats the use of .LOCAL

.LOCAL is used to define "LOCAL" regions of code, labels etc. in the local region can only be seen to that region of code

 

here's a MAC/65 example.

The labels ?TMP and ?TMP1 are seen fine in the first code region, but when a new local region is defined they can not be seen

so the assembler throws errors.

 

 

 

0000            10       *=  $0600
    =0001       20       .LOCAL 
    =0017       30 ?TMP  =   23
    =0016       40 ?TMP1 =   22
0600 A917       50       LDA #?TMP
0602 A216       60       LDX #?TMP1
    =0002       70       .LOCAL 
0604 A900       80       LDA #?TMP
}*** ERROR - 5,UNDEFINED LABEL 
0606 A200       90       LDX #?TMP1
}*** ERROR - 5,UNDEFINED LABEL 

*** ASSEMBLY ERRORS: 2   25676 BYTES FREE

 

 

If you define loops in your code, it's sometimes handy to use the same loop variable

i.e. 10 ?LOOP DEX

      20  BNE ?LOOP

      30  .LOCAL

      40 ?LOOP DEY

      50   BNE LOOP

  • Like 1

Share this post


Link to post
Share on other sites

thankyou for that, Im in the middle of a short demo routine at the moment and i stumbled across a problem:

 

apparently you cannot use dec (or inc) abs,y

 

I'm under the impression that you can use this addressing mode? It was also put in my complete and essential atari map book (by me), so its either a problem or an oversight.

also, can someone please remind me the branch instructions to go 'greater than' or 'less than' in code, ie:

 

lda $14

cmp #50

b** branch if greater, or lower

 

Thankyou.

Share this post


Link to post
Share on other sites

in your example if

 

A< CMP Then Z and C flags are clear

A = CMP Then Z and C flags are set

A > CMP Then Z is clear and C is set.

 

so BCC Branch if Carry Clear: then A < CMP

and BCS Branch if Carry Set: then A >= CMP

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