6502.org Forum  Projects  Code  Documents  Tools  Forum
It is currently Fri Apr 19, 2024 6:36 pm

All times are UTC




Post new topic Reply to topic  [ 4 posts ] 
Author Message
PostPosted: Sat Apr 19, 2014 2:49 am 
Offline

Joined: Sat Apr 19, 2014 1:28 am
Posts: 3
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.


Top
 Profile  
Reply with quote  
PostPosted: Sat Apr 19, 2014 3:55 am 
Offline
User avatar

Joined: Fri Aug 30, 2002 1:09 am
Posts: 8422
Location: Southern California
Welcome!
Quote:
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?

The Liechty & Eyes programming manual is the best I know of. It's outstanding, and covers the 65816 too. The other thing of course is just practice, practice, practise, and keep in contact with others (hence the forum) to make sure you keep expanding your horizons and don't just reinforce bad programming habits. There are a lot of resources on the non-forum part of this website, and several of us members have our own websites too. Spend a lot of time in them! Mine is linked below. One section of it that might especially interest you at this point is the structure macros which do a lot to raise the level of the language, without losing the benefits of assembly. See http://wilsonminesco.com/StructureMacros/index.html. Oh, BTW, we do program in assembly, not directly in machine language. There's a 1:1 relationship, but assembly is the human-readable source code that the assembler turns into machine language. Machine language is like A2 FF A0 FF 88 D0 FD CA D0 F8 9C 01 90 AD 00 90 A9 1E 8D 03 90 A9 0B 8D 02 90 A9 02 8D 03 A0 9C 01 A0-- pretty unreadable to humans.

_________________
http://WilsonMinesCo.com/ lots of 6502 resources
The "second front page" is http://wilsonminesco.com/links.html .
What's an additional VIA among friends, anyhow?


Top
 Profile  
Reply with quote  
PostPosted: Sat Apr 19, 2014 9:19 am 
Offline
User avatar

Joined: Thu Dec 11, 2008 1:28 pm
Posts: 10789
Location: England
Hi Terry, welcome!
You might get something out of the tutorial at http://skilldrick.github.io/easy6502/ but it won't give you a full explanation of every detail.
There's a variety of links on this site at http://www.6502.org/tutorials/
If and when you have a specific puzzle, feel free to start a new topic for it.
Cheers
Ed


Top
 Profile  
Reply with quote  
PostPosted: Sat Apr 19, 2014 3:13 pm 
Offline
User avatar

Joined: Sun Jun 30, 2013 10:26 pm
Posts: 1922
Location: Sacramento, CA, USA
traymond wrote:
... 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


ISBN 0-672-21656-6 ... my first 6502-specific book, and still one of my 'go-to' favorites! It is falling apart from being handled thousands of times.

Mike

P.S. The late-great Mr. Scanlon seems to have been quite an impressive character. He even caught the attention of Albert Einstein once upon a time!

P.P.S. Er ... scratch the Einstein comment ... I think that I looked up a different (and older) Leo J. Scanlon!


Top
 Profile  
Reply with quote  
Display posts from previous:  Sort by  
Post new topic Reply to topic  [ 4 posts ] 

All times are UTC


Who is online

Users browsing this forum: No registered users and 2 guests


You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot post attachments in this forum

Search for:
Jump to: