+karri Posted October 25, 2014 Share Posted October 25, 2014 (edited) Open source is fine with me. It is also ok to have many programmers on it. In bitbucket we already have a public tools repository. There is also a contrib directory where different programs and libraries could live. One nice library would be SD filesystem with open, read, write, seek, close and exec. Then we have the game selector program. We could agree on a crossbar and split up the tasks or make a few different ones. I don't believe there is a need for any management here. If someone starts coding and contributing it is always fine. You can get write access to the repository from LX.NET or me. https://bitbucket.org/atarilynx/lynx/src The SD stuff could go into contrib. Perhaps into SDfilesystem and SDmenu. Edited October 25, 2014 by karri Quote Link to comment Share on other sites More sharing options...
SainT Posted October 26, 2014 Author Share Posted October 26, 2014 Sounds great! I'll flesh out an api and add it for reference. If anyone wanted they could write the menu stuff using hard coded test info returned by a the api funcs then it'll 'just work' when I finish the hardware. If someone could grant me write privileges, my login is jamesboulton, that'd be much appreciated. 1 Quote Link to comment Share on other sites More sharing options...
+karri Posted October 26, 2014 Share Posted October 26, 2014 Sounds great! I'll flesh out an api and add it for reference. If anyone wanted they could write the menu stuff using hard coded test info returned by a the api funcs then it'll 'just work' when I finish the hardware. If someone could grant me write privileges, my login is jamesboulton, that'd be much appreciated. Done. Welcome on board and as an admin you are free to invite others as well This is an members owned repository. Not "my" repository. -- Karri Quote Link to comment Share on other sites More sharing options...
tripp Posted October 26, 2014 Share Posted October 26, 2014 Hey, I'm very interested of getting one, count me in (if this is the way to reserve). Just registered to this forum for this. Lynx is great. Cheers. Quote Link to comment Share on other sites More sharing options...
Joe Stella Posted October 27, 2014 Share Posted October 27, 2014 Go Team! Quote Link to comment Share on other sites More sharing options...
SainT Posted November 7, 2014 Author Share Posted November 7, 2014 New PCB's should be with me Monday. The new chips I need arrived from Digikey yesterday. New prototype board next week... 3 Quote Link to comment Share on other sites More sharing options...
GadgetUK Posted November 7, 2014 Share Posted November 7, 2014 Awesome!!! Quote Link to comment Share on other sites More sharing options...
+karri Posted November 7, 2014 Share Posted November 7, 2014 (edited) Nice. Do you have ideas of what kind of functions the SD filesystem supports? Is it standard stuff like this? /* Files */ int __fastcall__ write (int fd, const void* buf, unsigned count); int __fastcall__ read (int fd, void* buf, unsigned count); off_t __fastcall__ lseek (int fd, off_t offset, int whence); int __fastcall__ unlink (const char* name); /* Same as remove() */ /* Directories */ int __fastcall__ chdir (const char* name); char* __fastcall__ getcwd (char* buf, size_t size); int mkdir (const char* name, ...); /* May take a mode argument */ int __fastcall__ rmdir (const char* name); /* Others */ unsigned __fastcall__ sleep (unsigned seconds); int __fastcall__ getopt (int argc, char* const* argv, const char* optstring); /* Non standard: */ #if __CC65_STD__ == __CC65_STD_CC65__ int __fastcall__ exec (const char* progname, const char* cmdline); #endif DIR* __fastcall__ opendir (const char* name); struct dirent* __fastcall__ readdir (DIR* dir); int __fastcall__ closedir (DIR* dir); long __fastcall__ telldir (DIR* dir); void __fastcall__ seekdir (DIR* dir, long offs); void __fastcall__ rewinddir (DIR* dir); Edited November 7, 2014 by karri Quote Link to comment Share on other sites More sharing options...
SainT Posted November 12, 2014 Author Share Posted November 12, 2014 The filesystem is a bit limited in that you can only have one file open at a time due to memory limitations on the PIC, but you can do everything you would expect of the above with regard to seek, read, write, directory reading, etc. Quote Link to comment Share on other sites More sharing options...
SainT Posted November 12, 2014 Author Share Posted November 12, 2014 (edited) Ok, I have something working. My reflow skills are not great, so the first board didn't work and then I killed the PIC chip figuring out why. So I tried again and after a bit of debugging and fixing some bad solder joints it's finally loading up a game. It just loads "lynx.rom" directly from the memory card into the SRAM, then hands control over to the Lynx. So it sits on the "Insert Game" screen for a few seconds, then the game appears. Jiimmy Connors Tennis starts up just fine now. I can't play it yet, though, as I'm driving the Lynx bus directly all the time through the 245 chip to test everything. The bus ends up getting shared by the control pad and buttons, so it's interfering with the controls currently. The next job will be hooking up one of the configurable logic cells in the PIC so the bus is only driven when the chip strobe is low then I should be able to actually play something. I'm just about at the proof of concept stage now. Just a couple more things to sort and this will be properly working. Edited October 25, 2019 by SainT 3 Quote Link to comment Share on other sites More sharing options...
SainT Posted November 12, 2014 Author Share Posted November 12, 2014 A pic of the board in my Lynx 2 9 Quote Link to comment Share on other sites More sharing options...
ArcadeJunkie Posted November 13, 2014 Share Posted November 13, 2014 Sweetness! Time to buy yet? Quote Link to comment Share on other sites More sharing options...
gsxrboy Posted November 13, 2014 Share Posted November 13, 2014 Soon to become a member of the Lynx club and keeping my eye on the great work by SainT Quote Link to comment Share on other sites More sharing options...
SainT Posted November 13, 2014 Author Share Posted November 13, 2014 Not quite time to buy yet... I'll see if I can get the game playable tonight, then the next step is to install the latch chip to let me capture data sent from the Lynx to the cartridge then go from there on the comms side of things. I'm very happy with the progress though, everything has worked as expected, apart from dry solder joints. 2 Quote Link to comment Share on other sites More sharing options...
GadgetUK Posted November 13, 2014 Share Posted November 13, 2014 Wow, awesome news! Quote Link to comment Share on other sites More sharing options...
rygar Posted November 13, 2014 Share Posted November 13, 2014 This project is just amazing. Congrats to you !I really hate to be able to have this cartridge. Quote Link to comment Share on other sites More sharing options...
108 Stars Posted November 13, 2014 Share Posted November 13, 2014 This project is just amazing. Congrats to you ! I really hate to be able to have this cartridge. If you hate it so much, maybe he will quit. Quote Link to comment Share on other sites More sharing options...
rygar Posted November 13, 2014 Share Posted November 13, 2014 Oups ! Bad word ! Quote Link to comment Share on other sites More sharing options...
erkan Posted November 13, 2014 Share Posted November 13, 2014 I am definitely interested in one when it is finished. Nice work! Quote Link to comment Share on other sites More sharing options...
SainT Posted November 13, 2014 Author Share Posted November 13, 2014 Update: Games are now running and playable... Need to write some actual code on the Lynx now. 6 Quote Link to comment Share on other sites More sharing options...
Michael David Morsette Posted November 13, 2014 Share Posted November 13, 2014 Wow, this is really exciting! With this and the LCD replacement it will be like having a Lynx III ? Quote Link to comment Share on other sites More sharing options...
SainT Posted November 14, 2014 Author Share Posted November 14, 2014 Ok, got some code running on the Lynx to test the CE1 strobe output to the cartridge. I have an interrupt setup on the PIC to trigger on the falling edge of CE1 which seems to be working fine, but I just need to know how to set the AUDIN pin high as I'm using this to determine the data transfer direction on CE1 (0=read, 1=write). Lynx coders help please. Something like -- lda #16 sta $FD8B But is $FD8A setup correctly for output on AUDIN at boot? If not what value should I use here? And what should the other bits be set to in $FD8B normally? I would test this but I need some sleep. Any help appreciated. Quote Link to comment Share on other sites More sharing options...
SuperDork3000 Posted November 14, 2014 Share Posted November 14, 2014 Count me in on one! Quote Link to comment Share on other sites More sharing options...
+karri Posted November 14, 2014 Share Posted November 14, 2014 The AUDIN has different polarity in boot for Lynx I and Lynx II. As far as I know. That is the reason why many games need 2 bootloaders and directories. For example Alpine Games Quote Link to comment Share on other sites More sharing options...
Johannes Posted November 17, 2014 Share Posted November 17, 2014 Hi, just come across this thread. A multi cart is great!! Keep on the good work and count me in for one, too. Johannes 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.