Solomon_Man Posted March 21, 2017 Share Posted March 21, 2017 All, Not sure how to start... Basically I am a Software Developer/Engineer with about 20 years of Professional experience (7 years working for Microsoft). Have a BS in Computer Science (1998) and a MS in Science (Computer Science - 2010). Languages I know proficiently are C/C++, Classic VB.NET, Pascal (been a while) and of course Java (mostly classroom setting) / and of course today.NET languages. Last few or so years been in the Web develop scene and even had a stint at Microsoft (1998 to 2004). One thing in my career and even in school I did not get a lot of experience with was Assembler. Heard things about it even seen "snippets" in code from friends/did a linker in college but that is close as I got.... but it Feels like something is missing or I need to learn this in my career/personal toolbox. The Atari 8 bit (800 and then later the 800XL) was basically my first computer. Spent many the hours programming it in Basic (Antic magazines and books) and of course playing the games....nothing professional programming wise more of an end user. So with this said I am setting out to learn Assembler on the Atari 8 bit (got more than a few)...I recently have began to read Mapping the Atari and Programming the 6502.....Would these be a decent way to start out or is there some better way....Suggestions? Thanks Chris Quote Link to comment Share on other sites More sharing options...
Justin Payne Posted March 21, 2017 Share Posted March 21, 2017 If you do Java then you're familiar with Eclipse. Get the Wudsn plugin. You'll find it's probably much easier to develop on a PC than on the Atari itself.I learned 6502 using Atari Roots. It was a good start but really just gets you to the basics. You'll also want to have on hand Mapping the Atari. Then you'll want to read books specific to the area you're interested getting better at, like some of the Comute books and like. I might be one of those people that had some difficultly using the highly praised De Re Atari.You're C background is really going to help in this area. I actually went from BASIC to C and just didn't get it until I first learned Assembly and then C was clear as a bell.Now, keep in mind that the 6502 ain't the Z80/8080, where today's CPU architecture started but the last time I looked at the instruction sets of today's CPU, I ran away and hid in a corner. 2 Quote Link to comment Share on other sites More sharing options...
flashjazzcat Posted March 21, 2017 Share Posted March 21, 2017 What worked for me: get a copy of "Speedscript" by Charles Brannon and type in the assembler source for the word processor. As an experienced programmer, you'll probably pick it up more quickly than I did. Quote Link to comment Share on other sites More sharing options...
Justin Payne Posted March 21, 2017 Share Posted March 21, 2017 Is there a repository for Atari Assembly source code? Yes, I agree, it's helps understand how apps/games are designed as well as see other devs solve issues. Quote Link to comment Share on other sites More sharing options...
+Ryan Witmer Posted March 21, 2017 Share Posted March 21, 2017 Is there a repository for Atari Assembly source code? Yes, I agree, it's helps understand how apps/games are designed as well as see other devs solve issues. If it helps, I can offer my own homebrew Ratcatcher if people want to see a complete, working game. It's for the 5200, so it you can't build it for the 400/800 without some work, but it might provide some useful code examples. I should stress that this was my first Atari 8-bit project, so the code is probably quite terrible. 1 Quote Link to comment Share on other sites More sharing options...
Justin Payne Posted March 21, 2017 Share Posted March 21, 2017 (edited) If it helps, I can offer my own homebrew Ratcatcher if people want to see a complete, working game. It's for the 5200, so it you can't build it for the 400/800 without some work, but it might provide some useful code examples. I should stress that this was my first Atari 8-bit project, so the code is probably quite terrible. Oh, yea. That looks like a fun game and a great way to get a lot of ideas. I'll use it myself. Edited March 21, 2017 by Justin Payne Quote Link to comment Share on other sites More sharing options...
zzip Posted March 21, 2017 Share Posted March 21, 2017 All, Not sure how to start... Basically I am a Software Developer/Engineer with about 20 years of Professional experience (7 years working for Microsoft). Have a BS in Computer Science (1998) and a MS in Science (Computer Science - 2010). Languages I know proficiently are C/C++, Classic VB.NET, Pascal (been a while) and of course Java (mostly classroom setting) / and of course today.NET languages. Last few or so years been in the Web develop scene and even had a stint at Microsoft (1998 to 2004). One thing in my career and even in school I did not get a lot of experience with was Assembler. Heard things about it even seen "snippets" in code from friends/did a linker in college but that is close as I got.... but it Feels like something is missing or I need to learn this in my career/personal toolbox. The Atari 8 bit (800 and then later the 800XL) was basically my first computer. Spent many the hours programming it in Basic (Antic magazines and books) and of course playing the games....nothing professional programming wise more of an end user. So with this said I am setting out to learn Assembler on the Atari 8 bit (got more than a few)...I recently have began to read Mapping the Atari and Programming the 6502.....Would these be a decent way to start out or is there some better way....Suggestions? Thanks Chris I think I learned with the same books back in the day. I recently saw an website with a 6502 simulator where you could try things out in real time. You might find assembly a bit of a culture shock given the languages you're used to. It isn't hard to understand, just tedious. You often have to write subroutines for routine tasks that other languages do for you. Especially on an 8-bit Atari which doesn't have very many system calls or anything like a C-library Quote Link to comment Share on other sites More sharing options...
Solomon_Man Posted March 21, 2017 Author Share Posted March 21, 2017 All, Thanks for the advice. I saw on the sticky about the Eclipse IDE... I currently do not have it on my main home machine all this web and .Net Stuff has gotten me away from my C roots. Java was never an issue and is similar to C#. Spent my first 7-8 years developing C/C++ Windows DLLs some very large and some not so much. Java was mostly graduate school but I did take a class of Java in my undergrad degree but that was when it was just first getting foot hold...One of my professor's actually was somehow involved in the development of Java...I have never developed anything Enterprise or Professionally in Java...My Grad degree was in Parallel development and simulation....Did that in mostly in C++/MPI/openMP The last time I used Eclipse I used a Linux Distribution with it pre-installed...I also have another book I am reading right now about Android development and it suggests Eclipse as well.... so Eclipse sounds like something I need to start digging into.again... I would like to see some examples of the source....I am fairly sure I am going to be quite a ways from understanding it fully but it will give me the lay of the land....A repository would be Excellent for learning especially if documented well. I am aware that Assembly is very specific to the machinery...I do have somewhere an old 8088 Assembly book from Intel....I picked it up at a yard sale of course never read...Isn't the unique ness of the 8 bit machines (Commodore,Atari etc) basically the video and sound chips? I am curious.... do most program on their PCs/Macs and then just transfer over to the Hardware or do they use emulators for testing first? Thanks Chris Quote Link to comment Share on other sites More sharing options...
pirx Posted March 21, 2017 Share Posted March 21, 2017 eclipse is dead for android devt, you need android studio for this. nevertheless, WUDSN is so well documented and tutored that it is A MUST!!! 1 Quote Link to comment Share on other sites More sharing options...
Solomon_Man Posted March 21, 2017 Author Share Posted March 21, 2017 I think I learned with the same books back in the day. I recently saw an website with a 6502 simulator where you could try things out in real time. You might find assembly a bit of a culture shock given the languages you're used to. It isn't hard to understand, just tedious. You often have to write subroutines for routine tasks that other languages do for you. Especially on an 8-bit Atari which doesn't have very many system calls or anything like a C-library All, I thought I saw/heard somewhere where C and Pascal was somehow available (ported maybe but still having issues with floating point) for the Atari 8 bit? ( I am actually unsure asking here?) Yeah I am guessing this will be more tedious today than I am used to today but "scenery" change is always welcome...even if its just for learning....Been doing SQL and Web stuff and writing for basically interpreters (web browsers) not to mention "Managed Languages" (.Net of course and Java in College) it does become ho hum after a while. Still I really enjoy my job today as there are still complex problems to solve just different tools. Have not created a pointer or such in about 10 years... so getting back to the machine, albeit deeper, again should also be good. I assume that the Assembly routines, like today's code (Function/Sub ), are re-used in a modular/procedural fashion. Copied and pasting of routines into new source files are also still possible.... basically procedural ...correct? So its whats in your toolbox type of thing to basically solve a problem? Thanks Chris Quote Link to comment Share on other sites More sharing options...
+Ryan Witmer Posted March 21, 2017 Share Posted March 21, 2017 I am curious.... do most program on their PCs/Macs and then just transfer over to the Hardware or do they use emulators for testing first? I do my work on my PC (Slackware Linux) using nothing fancy, just vim for text editing and the DASM assembler. I use the Atari++ emulator for most of my development, but I always make sure to test on real hardware using an Atarimax cartridge (once again, 5200 in my case). Emulators aren't perfect, so at some point testing on real hardware is a must. I've had numerous occasions where code worked perfectly in the emulator only to fail on real hardware. Quote Link to comment Share on other sites More sharing options...
Solomon_Man Posted March 21, 2017 Author Share Posted March 21, 2017 eclipse is dead for android devt, you need android studio for this. nevertheless, WUDSN is so well documented and tutored that it is A MUST!!! pirx, Thanks for the tip....I will look into Android Studio....That goes to show me why not to buy a 2 year old book on Mobile Development. I took a Android development 5 day course at a local community college about 3-4 years ago and we quite literally spent a full day installing Eclipse and configuring it. I know where I work they have been looking into Xamarin. Looking at the page I quickly found online about Android Studio I am going to take it for a test drive. I really appreciate the guidance everyone. Thanks, Chris Quote Link to comment Share on other sites More sharing options...
+JAC! Posted March 21, 2017 Share Posted March 21, 2017 You can safely ignore the fact that WUDSN is written in Java as Eclipse plugin. No Java or whatever knowledge required. From the user's point of view it's simply a 6502 IDE with examples. And if you install the zero-installation version or the pure runtime as described in the tutorial, you'll not even see the word "Java" on the menu somewhere Part of the distribution are the video tutorial with sources and of course all the examples that come with MADS etc. https://www.youtube.com/playlist?list=PLmzSn5Wy9uF8nTsZBtdk1yHzFI5JXoUJT 5 Quote Link to comment Share on other sites More sharing options...
Justin Payne Posted March 21, 2017 Share Posted March 21, 2017 (edited) Solomon_man. I would say for any old platform, you'd want to develop on a more powerful system. Even back in the day many companies developed on systems like PDP11's and then cross-compiled to 6502. Today, we also have cross-compiled but we also have emulators so you can develop and debug all on your PC/Mac and the drop it to the real thing when you need to. I can't speak for Pascal but there are C compilers. They will have several limitations and I can't speak for how efficient the output is but you could always write most of the programs in that and save the Assembly for the stuff where you need the most speed. Edited March 21, 2017 by Justin Payne Quote Link to comment Share on other sites More sharing options...
ggn Posted March 22, 2017 Share Posted March 22, 2017 Is there a repository for Atari Assembly source code? Yes, I agree, it's helps understand how apps/games are designed as well as see other devs solve issues. Just to inspire people, I host and maintain such a repository for the Atari ST family of computers on github and bitbucket. It's not that difficult, just someone has to take a first step . 1 Quote Link to comment Share on other sites More sharing options...
pirx Posted March 22, 2017 Share Posted March 22, 2017 as far as I can see the active development is done nowadays with these higher level languages: CC65 - there are excellent resourcers and example source code available on this forum Mad Pascal - really neat and compatible Pascal implementation with fixed point arithmetic should fractions be needed. Invofmative threads here with many examples. Action! - a native language, also available as Effectus cross compiler. CC65 and Action! have integer arithmetic only, but it is good - just change some unnecessary habits and code games / demos in integers. Floating point is a performance killer. for assembler code examples you can look up Commodore community, e.g. http://codebase64.org/doku.php?id=base:6502_6510_maths 1 Quote Link to comment Share on other sites More sharing options...
zzip Posted March 22, 2017 Share Posted March 22, 2017 I would like to see some examples of the source....I am fairly sure I am going to be quite a ways from understanding it fully but it will give me the lay of the land....A repository would be Excellent for learning especially if documented well. I am aware that Assembly is very specific to the machinery...I do have somewhere an old 8088 Assembly book from Intel....I picked it up at a yard sale of course never read...Isn't the unique ness of the 8 bit machines (Commodore,Atari etc) basically the video and sound chips? The different CPUs have similar concepts in their assembly language, and instructions that are similarly named. But they are different enough you'll want to learn the 6502 specifically. I also don't think you can learn much looking at assembly sources-- unless it's very well documented what it's doing. It's a bunch of statements that look like LDA, STA, MOV, JMP with little context for what its doing. Is it changing colors? printing a string? prompting for input? You won't know from the code alone without knowing the instruction set and memory map. Quote Link to comment Share on other sites More sharing options...
zzip Posted March 22, 2017 Share Posted March 22, 2017 All, I thought I saw/heard somewhere where C and Pascal was somehow available (ported maybe but still having issues with floating point) for the Atari 8 bit? ( I am actually unsure asking here?) Yeah I am guessing this will be more tedious today than I am used to today but "scenery" change is always welcome...even if its just for learning....Been doing SQL and Web stuff and writing for basically interpreters (web browsers) not to mention "Managed Languages" (.Net of course and Java in College) it does become ho hum after a while. Still I really enjoy my job today as there are still complex problems to solve just different tools. Have not created a pointer or such in about 10 years... so getting back to the machine, albeit deeper, again should also be good. I assume that the Assembly routines, like today's code (Function/Sub ), are re-used in a modular/procedural fashion. Copied and pasting of routines into new source files are also still possible.... basically procedural ...correct? So its whats in your toolbox type of thing to basically solve a problem? Thanks Chris yes, you can reuse code. Macro assemblers let you insert blocks of code as macros. Also you can insert assembly into C code for better performance/compactness of certain functions. Quote Link to comment Share on other sites More sharing options...
Solomon_Man Posted March 26, 2017 Author Share Posted March 26, 2017 All, Thanks for the responses... Been slowly reading the two books I mentioned previously but with 5 kids and a full time job it slows you down a bit.... I am glad to see the other languages available and its been a rewarding experience "catching up" with my old hardware, listening to the Antic Pod Cast, and of course learning from all you folks... So far nothing I have read in either book seems unfamiliar/new based on my academic past...not sure where this will lead me but I will continue moving forward and if I run into something I will give out a Shout. Thanks again, Chris 1 Quote Link to comment Share on other sites More sharing options...
Justin Payne Posted March 26, 2017 Share Posted March 26, 2017 (edited) 5 kids?!? No wonder you don't know Assembly Language. You're too busy assembling the Brady Bunch. Well, if you get stuck there are a lot of people that will lend a hand so don't shy away from asking questions. The Antic Podcast is great. Also, for someone interested in more technical content, I recommend The Player/Missile Podcast. It's currently on hiatus but Rob really covered a lot of technical info that I loved....and he also gave me my first shot into podcasting (show segments) as well as introduced me to someone which then turned into the XEGS Cart by Cart Podcast (shameless plug but totally fits the direction of the story so you can't fault me ) I really hope that you keep with this. This retro community, as well as other (I hope), are very appreciative of new content so were you have to try real hard to develop something that stands out in newer platforms, we're just happy you're helping out. Edited March 26, 2017 by Justin Payne 1 Quote Link to comment Share on other sites More sharing options...
Recommended Posts
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.