6502 CBM computers/ learning Addressing modes
Posted: Sat Apr 19, 2014 2:49 am
Hi Im totally new to this forum and wish I had found it 4 years ago when I decided to learn 6502 ML.
Im Terry Raymond and for around 19 years have had a hobby with mainly the 8-bit Commodore computers.
I have a few books on learning the basics of ML but for a long time just did not and could not find anybody that is interested in ML these days, gee.
Im old fashioned but I just mainly make due with the older ML monitors and software for Commodore computers.
If I could just master basic ML I have for a long time used the Graphical OS: GEOS V2.0 and its better upgrade: Wheels64 and Wheels128.
There was GeoProgrammer but it had a lot of bugs. In around sometime in 1999 the Author of Wheels (name witheld) decided to fix all GeoProgrammer
bugs. He did just so and renamed it: Concept just the same as GeoProgrammer but without all of the annoying bugs, and workarounds, I guess with
how the assembler works with the opp code etc. This Author went one step further because of the CMD Super CPU accelerator, which uses the 65C816S
16-bit processor. Also makes assembling and Linking a whole lot faster.
BTW GEOS/Wheels apps are created by:
1- writing Header file, header also contains the File ICON (double click on this to start app)
2- Write main code
3- The Header and main code is then assembled into "Relocatable Object code"
4- The Link file: All object code files are put into the Link file.
5- You start the Linker, load the Link file, this then LInks all Object code together to form the Application.
(I just wanted to mention this to those who have never coded for GEOS or Wheels.)
He called this update Concept+, which takes advantage of the faster processor and memory. But you can still create:
8-bit Apps and even better 16-bit apps. Sadly CMD products have been at a standstill for about 8 years, so the CMD SCPU is hard to come by.
So that explained:
Im currently stepping back to learn more about the basics of ML 8-bit first..
Im right now trying to learn about 6502 addressing modes and have the guidelines for these, but how can I
practice code with addressing modes, or what excersizes if any would help to learn them?
I have learned more so far about ML from this older book taken from: GeoProgrammer user manual in Appendix A
This book was listed:
Software Design
By: Leo Scanlon 1980
I like this book because so far it more explains the 6502 stack (a type of memory) ahhhhh I had heard of this for a long time but could not
find any books that explains the stack, until this book finally answered this question. finally.
Just the Addressing modes I need to practice and learn how to use them in code and this forum at least has others that can now
answer my many questions and nighmares about learning ML.
I have been coding a Wheels OS app project but stuck and finally realized how really cryptic ML is, and I needed to step back and learn
more, because I was overwhelmed. And my app project is at a standstill.
I have a barely working B1.0 of this app project but it needs a lot more work. The problem is the task requires lots of memory and
many 8-bit computers just didnt have this, so memory constraints are an issue.
I decided to support the following memory devices, because my application requires a fairly large buffer:
CBM 17XX REU's to setup this Ram as a buffer
CMD Ramlink DACC ram (same as above)
The next problem with this app and either GEOS or Wheels apps, you are only allowed a certain amount of System Ram to code your application in,
so in coding this project we used up all available System Ram which is I think 28K. You can extend the Video Ram (I think) to 30K) which is how
we could add just a tad bit more ram for the buffer.
So in adding all this Ram now we used up every bit of System Ram. I do recall there is a way to pack code with I think 2 Macro's,
so packing a few routines should free up the system Ram needed for coding the Above Ram devices.
I would like to add a routine to detect both the CBM 17XX REU's and the CMD Ramlink DACC Ram, and whichever one is detected can then
be used for the Ram buffer.
BTW the CMD Ramlink DACC I think is: "Direct Access Ram" and the Ramlink user manual has routines I think that shows how to program for the
DACC Ram. (This does not use the Ram "as a disk drive" it accesses only the actual Ram. Was always supported in GEOS, and later in Wheels too.
Wheels has better hardware drivers and routines, so GEOS routines are very limited.
Im thinking Wheels should have drivers for the CMD Ramlink and definitely CBM REU's, but using the code in the Ramlink user manual for DACC will not work
because one would have to use the Wheels "unique" routines, very much like GEOS always did. That is why I need to learn about ML more to better
understand GEOS/Wheels routines.
That is on the back burner though and I do hope I can find someone that is interested in GEOS App programming and hopefully even Wheels.
The Authour of Wheels never did release any of the Wheels routines, so I dont have them and that is why Wheels is hard to code for right now.
I just wanted to ask on this forum to hopefully learn more of the basics at least of 6502 8-bit ML and hopefully some interest in GEOS/Wheels
code. Yes its old but still a good GUI. Wheels OS was much better and handles its memory better, and almost a multitasker.
I guess I just mainly wanted to introduce myself and let you all know of my hobby and why I use ML to enjoy coding on my Commodore's and
being creative, hopefully if I can master ML it has always seemed very difficult, but the basics now show me I can learn some of it, but the
other parts are what seems to intimidate me.
Also: I am also very new to using forum's and need help in learning how to properly use them.
Thank you.
Im Terry Raymond and for around 19 years have had a hobby with mainly the 8-bit Commodore computers.
I have a few books on learning the basics of ML but for a long time just did not and could not find anybody that is interested in ML these days, gee.
Im old fashioned but I just mainly make due with the older ML monitors and software for Commodore computers.
If I could just master basic ML I have for a long time used the Graphical OS: GEOS V2.0 and its better upgrade: Wheels64 and Wheels128.
There was GeoProgrammer but it had a lot of bugs. In around sometime in 1999 the Author of Wheels (name witheld) decided to fix all GeoProgrammer
bugs. He did just so and renamed it: Concept just the same as GeoProgrammer but without all of the annoying bugs, and workarounds, I guess with
how the assembler works with the opp code etc. This Author went one step further because of the CMD Super CPU accelerator, which uses the 65C816S
16-bit processor. Also makes assembling and Linking a whole lot faster.
BTW GEOS/Wheels apps are created by:
1- writing Header file, header also contains the File ICON (double click on this to start app)
2- Write main code
3- The Header and main code is then assembled into "Relocatable Object code"
4- The Link file: All object code files are put into the Link file.
5- You start the Linker, load the Link file, this then LInks all Object code together to form the Application.
(I just wanted to mention this to those who have never coded for GEOS or Wheels.)
He called this update Concept+, which takes advantage of the faster processor and memory. But you can still create:
8-bit Apps and even better 16-bit apps. Sadly CMD products have been at a standstill for about 8 years, so the CMD SCPU is hard to come by.
So that explained:
Im currently stepping back to learn more about the basics of ML 8-bit first..
Im right now trying to learn about 6502 addressing modes and have the guidelines for these, but how can I
practice code with addressing modes, or what excersizes if any would help to learn them?
I have learned more so far about ML from this older book taken from: GeoProgrammer user manual in Appendix A
This book was listed:
Software Design
By: Leo Scanlon 1980
I like this book because so far it more explains the 6502 stack (a type of memory) ahhhhh I had heard of this for a long time but could not
find any books that explains the stack, until this book finally answered this question. finally.
Just the Addressing modes I need to practice and learn how to use them in code and this forum at least has others that can now
answer my many questions and nighmares about learning ML.
I have been coding a Wheels OS app project but stuck and finally realized how really cryptic ML is, and I needed to step back and learn
more, because I was overwhelmed. And my app project is at a standstill.
I have a barely working B1.0 of this app project but it needs a lot more work. The problem is the task requires lots of memory and
many 8-bit computers just didnt have this, so memory constraints are an issue.
I decided to support the following memory devices, because my application requires a fairly large buffer:
CBM 17XX REU's to setup this Ram as a buffer
CMD Ramlink DACC ram (same as above)
The next problem with this app and either GEOS or Wheels apps, you are only allowed a certain amount of System Ram to code your application in,
so in coding this project we used up all available System Ram which is I think 28K. You can extend the Video Ram (I think) to 30K) which is how
we could add just a tad bit more ram for the buffer.
So in adding all this Ram now we used up every bit of System Ram. I do recall there is a way to pack code with I think 2 Macro's,
so packing a few routines should free up the system Ram needed for coding the Above Ram devices.
I would like to add a routine to detect both the CBM 17XX REU's and the CMD Ramlink DACC Ram, and whichever one is detected can then
be used for the Ram buffer.
BTW the CMD Ramlink DACC I think is: "Direct Access Ram" and the Ramlink user manual has routines I think that shows how to program for the
DACC Ram. (This does not use the Ram "as a disk drive" it accesses only the actual Ram. Was always supported in GEOS, and later in Wheels too.
Wheels has better hardware drivers and routines, so GEOS routines are very limited.
Im thinking Wheels should have drivers for the CMD Ramlink and definitely CBM REU's, but using the code in the Ramlink user manual for DACC will not work
because one would have to use the Wheels "unique" routines, very much like GEOS always did. That is why I need to learn about ML more to better
understand GEOS/Wheels routines.
That is on the back burner though and I do hope I can find someone that is interested in GEOS App programming and hopefully even Wheels.
The Authour of Wheels never did release any of the Wheels routines, so I dont have them and that is why Wheels is hard to code for right now.
I just wanted to ask on this forum to hopefully learn more of the basics at least of 6502 8-bit ML and hopefully some interest in GEOS/Wheels
code. Yes its old but still a good GUI. Wheels OS was much better and handles its memory better, and almost a multitasker.
I guess I just mainly wanted to introduce myself and let you all know of my hobby and why I use ML to enjoy coding on my Commodore's and
being creative, hopefully if I can master ML it has always seemed very difficult, but the basics now show me I can learn some of it, but the
other parts are what seems to intimidate me.
Also: I am also very new to using forum's and need help in learning how to properly use them.
Thank you.