+karri Posted September 30, 2013 Share Posted September 30, 2013 I really must grab a copy of this detailed work. Having these tutorial on a tablet as an eBook would be perfect! I was not able to spot any flaws, yet. - Karri Quote Link to comment Share on other sites More sharing options...
LX.NET Posted September 30, 2013 Author Share Posted September 30, 2013 I really must grab a copy of this detailed work. Having these tutorial on a tablet as an eBook would be perfect! I was not able to spot any flaws, yet. - Karri Thanks Karri and GadgetUK. This is appreciated. I've written the samples for the ComLynx to PC and will add some more. I checked the uploader in some of the games that were mentioned, then noticed that the uploader is also in CC65's Lynx library. Time to write part 2 of the ComLynx stuff, but I might experiment with some Lynx to Lynx communication. Do either of you know how to send information back and forth between Lynx consoles, without getting framing errors because the consoles are trying to talk at the same time? I mean, the Epyx devkit used a messaging manager to do the lobby/logon thing, exchange messages and take care of dropping clients and all. How to do that with the comlynx driver in CC65? Or do we need to create a new one or port the Epyx library? Hint taken about the ebook, Karri. I was thinking the same thing. Once it is finished I'll do some editing and create a book out of it. I hope this tutorial (and the book) will lower the learning curve so more hobby devs will be able to pick up developing for the Lynx. Quote Link to comment Share on other sites More sharing options...
+karri Posted October 1, 2013 Share Posted October 1, 2013 My personal opinion is not to care about clashes. I would just make every Lynx spam its data over and over again. If the reception is bad then discard the info. This is pretty much how sensors work on a ship also. The compass broadcasts the heading and it really does not care if anyone gets it If I would write a pong game I would probably only broadcast the serve of a ball to get the game going. Then I might broadcast my own paddle movement. If I hit a ball I would broadcast the new "serve" or bounce. If I lose the ball I broadcast a "fail". In this case the gameplay resonsible of a hit or fail transfers from my console to the other guys console whenever the ball leaves my racket. It is possible to limit the clashes by transmitting directly after you received something, Perhaps in a round-robin fashion in case of many Lynxes. Oh. Please make the ebook in a way that it works on Android tablets. I have one of these -- Karri Quote Link to comment Share on other sites More sharing options...
LX.NET Posted October 24, 2013 Author Share Posted October 24, 2013 Another part of the tutorial is up: http://atarilynxdeveloper.wordpress.com/2013/10/24/programming-tutorial-part-14timers/ Let mw know what you guys think. Quote Link to comment Share on other sites More sharing options...
108 Stars Posted October 24, 2013 Share Posted October 24, 2013 (edited) I think that come 2014, I will try to dabble into it myself. The fast progress DerLuchs has made with coding really encourages me that it may be possible to get something worthwhile on the screen even for a beginner like me within a timely manner thanks to tutorials and help here at AA. Edited October 24, 2013 by 108 Stars Quote Link to comment Share on other sites More sharing options...
LX.NET Posted October 24, 2013 Author Share Posted October 24, 2013 108 Stars: I can explain more to you personally this Saturday at the retro event in Elst. See you there! Quote Link to comment Share on other sites More sharing options...
LX.NET Posted October 24, 2013 Author Share Posted October 24, 2013 If others think it is useful to pin this thread, can somebody ask an admin of the (programming) forum to pin this thread and give me authorization to edit the first post? Quote Link to comment Share on other sites More sharing options...
108 Stars Posted October 24, 2013 Share Posted October 24, 2013 108 Stars: I can explain more to you personally this Saturday at the retro event in Elst. See you there! Sadly there was no way for me to get a ride there, so I won't be able to attend after all. I hope I can work something out with my friends for next year. Quote Link to comment Share on other sites More sharing options...
GadgetUK Posted October 24, 2013 Share Posted October 24, 2013 Another part of the tutorial is up: http://atarilynxdeveloper.wordpress.com/2013/10/24/programming-tutorial-part-14timers/ Let mw know what you guys think. Great work!!! Just had a quick read through the timers section and the UART section. Both are very comprehensive and interesting reading! Thanks for doing these =) Quote Link to comment Share on other sites More sharing options...
LX.NET Posted January 2, 2014 Author Share Posted January 2, 2014 Part 15 has been added Albert was kind enough to pin the topic and give me edit rights for the first post. I have updated the first entry, so you can go there for quick links to the tutorial parts. Let me know what you think of part 15, please. Work on Part 16 (cartridges) is underway. I will also upload the new sample code when I quality checked it. 1 Quote Link to comment Share on other sites More sharing options...
+karri Posted January 5, 2014 Share Posted January 5, 2014 The memory use explanation was great. The segments are very difficult to explain. I get it but a novice programmer might have a struggle to understand this. Keep up the good work. -- Karri PS. I should really have a go for the uploader some time... Quote Link to comment Share on other sites More sharing options...
LX.NET Posted January 5, 2014 Author Share Posted January 5, 2014 Hi Karri, Thanks for your comments. Yes, it is difficult to understand. It took me quite a while to get my head around it. It is intended as an advanced topic, but I was struggling with it, needed to sort it out and get it out of my head into writing, before my head explodes (or something fries). Just kidding, but I had to write it now or I wouldn't be doing it for a long time and I know that these things slip away from memory. When I am done with the tutorial I will make a non-blog version, more of a book with chapters. I will do some rewriting and reorganizing in the order. E.g. a chapter on joystick and buttons is way overdue. It should be somewhere at the beginning. The chapter on memory will go further to the end. I do think it is necessary to understand at least some of it before you can move onto files and reading from cartridges. Do you agree? Alex Quote Link to comment Share on other sites More sharing options...
LX.NET Posted January 5, 2014 Author Share Posted January 5, 2014 (edited) P.S. Yes, you should really have a look at the uploader. I thought of splitting the interrupt handler in two parts. One (in the resident segment) that checks if the interrupt is for timer 4 and calls the rest of the current handler in the UPLOAD segment. This way there is no need to write a new boot loader, and the lynx-uploader.cfg can have the segment definitions. The code uploader.s can put the two part into the different segments with .segment RAM and .segment UPLOAD. What do you think? Edited January 5, 2014 by LX.NET Quote Link to comment Share on other sites More sharing options...
LX.NET Posted January 10, 2014 Author Share Posted January 10, 2014 (edited) Hello everyone, Part 16 on cartridges is online. You can find it here: http://atarilynxdeveloper.wordpress.com/2014/01/02/programming-tutorial-part-16cartridges Work on part 17, (working title: "files and segments") is commencing. Again, any mistakes, flaws, unclear parts or questions are very welcome. Thanks vince for your feedback on the UART part. Edited January 10, 2014 by LX.NET 1 Quote Link to comment Share on other sites More sharing options...
sirlynxalot Posted February 20, 2014 Share Posted February 20, 2014 (edited) Great stuff. I'm working on getting a development environment up and running atm. It looks like CC65 is no longer maintained by the original owner? http://www.cc65.org/I went to the FTP and got the archives mentioned, but now that I've unzipped everything, my directory list does not include the folder "targetutil" which is in the image in tutorial 2. There is no wbin folder either for extracting the unix utilities to, so I will just make one. Edited February 20, 2014 by sirlynxalot Quote Link to comment Share on other sites More sharing options...
LX.NET Posted February 20, 2014 Author Share Posted February 20, 2014 Great stuff. I'm working on getting a development environment up and running atm. It looks like CC65 is no longer maintained by the original owner? http://www.cc65.org/ I went to the FTP and got the archives mentioned, but now that I've unzipped everything, my directory list does not include the folder "targetutil" which is in the image in tutorial 2. There is no wbin folder either for extracting the unix utilities to, so I will just make one. Do let me know if you need any help getting started. I do believe that the targetutil folder is not necessary. It only contains Apple2 and Apple GeOS related things. Also, the unix utils are also only necessary if you want to have a small delta between your dev setup (in Windows presumably) and a Unix one. It has the rm.exe, make.exe and touch.exe that are used, even though the first two have DOS equivalents. So, actually you can do without the wbin folder. I have also put make_lnx.exe from the Handy zip folder in there and added the wbin to my PATH environment variable, so I can make_lnx from anywhere. Quote Link to comment Share on other sites More sharing options...
LX.NET Posted February 20, 2014 Author Share Posted February 20, 2014 (edited) Great stuff. I'm working on getting a development environment up and running atm. It looks like CC65 is no longer maintained by the original owner? http://www.cc65.org/ No, it is now at Oliver's website: http://oliverschmidt.github.io/cc65/ He has the latest tools compiled there plus the source code. I still have to investigate the latest version, but obschan and myself found that when using segments the latest build does weird things. I am using an slightly older but very stable version: 2.13.9 SVN 5944. You can run cc65.exe --version to check the version you have. Have fun. BTW, if you need the 5944 version I can send you the archives for tools, sources, docs and samples. Edited February 20, 2014 by LX.NET Quote Link to comment Share on other sites More sharing options...
+karri Posted February 20, 2014 Share Posted February 20, 2014 A good, stable version is exactly what we need. Could you put a snapshot of 5944 and Windows binaries at the end of the tutorial site? - Karri Quote Link to comment Share on other sites More sharing options...
sirlynxalot Posted February 20, 2014 Share Posted February 20, 2014 +1 vote for an archive of the older version. Quote Link to comment Share on other sites More sharing options...
LX.NET Posted February 26, 2014 Author Share Posted February 26, 2014 A good, stable version is exactly what we need. Could you put a snapshot of 5944 and Windows binaries at the end of the tutorial site? - Karri +1 vote for an archive of the older version. I have added the 5944 version to the first post of this thread. Let me know if you have any problems with getting them working. Quote Link to comment Share on other sites More sharing options...
jdrose Posted March 15, 2014 Share Posted March 15, 2014 Excellent tutorial.Where can I find a complete list of the 65SC02 instruction set? Quote Link to comment Share on other sites More sharing options...
LX.NET Posted March 15, 2014 Author Share Posted March 15, 2014 I always found this one very useful: http://www.llx.com/~nparker/a2/opcodes.html It shows the extra instructions separately for the 6502, 65c02 and the 65sc02. Quote Link to comment Share on other sites More sharing options...
LX.NET Posted May 23, 2014 Author Share Posted May 23, 2014 Hello everyone, Because I was busy looking into debugging facilities I took a detour into interrupts and added the 17th part of the tutorial. Any feedback (tips, errors, typos and other flaws) is appreciated. Have fun reading. Let me know what you think of this part. http://atarilynxdeveloper.wordpress.com/2014/05/22/programming-tutorial-part-17interrupts/ Thanks. Quote Link to comment Share on other sites More sharing options...
sage Posted May 23, 2014 Share Posted May 23, 2014 I always found this one very useful: http://www.llx.com/~nparker/a2/opcodes.html It shows the extra instructions separately for the 6502, 65c02 and the 65sc02. well as said on the page, teh bit manipulation opcodes of the Lynx 2 are missing. Quote Link to comment Share on other sites More sharing options...
LX.NET Posted May 23, 2014 Author Share Posted May 23, 2014 well as said on the page, teh bit manipulation opcodes of the Lynx 2 are missing. Do you mean that the SMBx, RMBx, BBRx, BBSx instructions are "in the Lynx, but not listed", or that they are "not in the Lynx"? I always thought that the Lynx's Mikey is a modified version of the 65SC02 (not 65C02) and that the distinction was the missing of the bit testing instructions. 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.