LordKraken Posted October 9, 2020 Share Posted October 9, 2020 4 hours ago, Igor said: I've made it so if there is an itch.io download link for the game, the 'Download ROM' will use that link instead of the ROM that is stored in the Atari Gamer database. This should (hopefully) drive more people to use itch downloads and maybe will turn into purchases for the devs. The downloads from itch.io are marked with the itch.io logo... That's a good idea but do you link the actual rom file or the itch.io page? The latter sounds a bit better imo since it would bring the player to the creator "universe" and give him a chance to read about the game and potentially other games Quote Link to comment Share on other sites More sharing options...
sage Posted October 9, 2020 Share Posted October 9, 2020 Spoiler BLL Comlynx Loader/Debugger (I wont talk about BLL nor the BLL workaround for the Lynx encryption. The following focuses only on the Comlynx loader/debugger included in BLL.) Several homebrew ROMs (e.g. Alpine Games, Championship Rally, SIMIS) claim that they contain a BLL loader. So what is the technology behind this and how can you make use of it? Simply speaking, it is a small piece of code which listens on the comlynx port in the background for some specific command sequences. Depending on what had been enabled at compile time, these command can be used for debugging the Lynx over comlynx (reading/writing memory, registers, breakpoints), upload and start programs, reset and make screenshots (and send them back to a connected PC). The most useful feature is the game upload, which can be used for debugging on real hardware. It is much faster than using a flash or sd card which need to swap cards, cables and switching the Lynx off/on. It is very useful for comlynx game development as you can upload the game to several units in parallel by one adapter within only a few seconds. What do you need hardware wise? At least of the loader cards (or the rom on some flash card). A comlynx-serial adapter or a USB serial adapter with 5V level (see below). The following cartridges contain a BLL comlynx loader. But it might only be active in a specific screen: * BLL Loader Card: selectable speed. * SIMIS: Main menu only, 9600 baud. * Lynx Reloaded: Main menu only, selectable speed. * Alpine Games: Read manual * Championship Rally: BLL Loader im Tournament screen (after pressing "New Game"), 9600 baud. * PATW: Loader menu, speed selectable * most homebrews where the developer forgot to disable the loader: always active, 9600 baud * Not to forget the flashcard designed by Karri, which allows to flash a ROM via Comlynx. Comlynx is a serial protocol. Because of hardware limitations on the Lynx side, it uses always 8 bit 1 stop bit and even parity (8E1). The speed is limited to 2400, 9600, 31250, 62500 baud. 9600 is compatible with any PC hardware and adapters, but 31250 and 62500 are not so common, even so 31250 matches the speed of the MIDI standard. In summary, if you want to use 31250 or 62500 baud, you need to chose your your hardware carefully. Uploading a game which is close to the memory limit of ~56kb, the upload with 62500 baud takes about 10 seconds, but 60 second with only 9600 baud. Limitations and file format: The game must fit into the Lynx memory. You cannot upload ROM images, but have to upload the binaries which build up the rom image. The bll assmbler (lyxass) and newcc65/ld65 will produce these binaries directly. For the uptodate version of cc65 you need to create the binary with a special config file (add lynx-bll.cfg to the command line). Game code can start from $200 on until the position of the hardware registers. Technical details: The loader itself is placed at the end of the memory ($FFC0), thus it can not be overwritten by any game code. Documentation from the BLL kit: The Debugger supports the follwing commands: $81,"P" - Program $81,"R" - Reset $81,"S" - Send screenshot (palette+data) $82 - continue $83 - set registers $84 - write : 0 - byte 1 - word (hi first!) 2 - bytes $85 - read : 0/1/2 $86 - get registers The ComLynx-Loader wants: start-sequence : $81,"P" ; command : load program init-sequence : LO(Start),HI(Start) ; start address = dest. LO(Len XOR $FFFF),HI(Len XOR $FFFF) ; and len of data Xmit-sequence : Len bytes .... ; data There is no checksum! If there is an com error, it will not be detected. The upload might stall or the program might crash. If you read from a file, do not forget to skip the header (and reduce the length accordingly). How to include it in games: BLL/lyxass: define the "Baudrate", default is 9615 include serial.inc and debug.inc call "jsr InstallLoader" ancient cc65 code (newcc65 compiler): call "InstallUploader();" current cc65: You can add the uploader to any program by compiling it with lynx-uploader.cfg. This will add an interruptor that listens to ComLynx traffic. But you need to set up the baudrates by yourself to make it usable. I didnt find it, but I copied together some information. I suggest to add the schematics from the BLL kit with the max chip. I can did out some USB-CL 5V converters, too. And here are some threads with more and deeper info: https://atariage.com/forums/topic/132551-bll-carts https://atariage.com/forums/topic/213073-what-do-i-need-to-load-homebrews https://atariage.com/forums/topic/14967-lynxpc-serial-cable-back-ordered 1 Quote Link to comment Share on other sites More sharing options...
Igor Posted October 10, 2020 Author Share Posted October 10, 2020 @LordKraken I link the download to the itch download page, the one that asks for a donation, etc. I also link to the game's info page in the 'other links' section @sage thanks, I'll have a look at those threads 1 Quote Link to comment Share on other sites More sharing options...
sage Posted October 10, 2020 Share Posted October 10, 2020 4 hours ago, Igor said: 4 hours ago, Igor said: @sage thanks, I'll have a look at those threads feel free to copy what i put together in the spoiler, sorry, that i havent formatted it nicely. If you use it, please add proper credits. 1 Quote Link to comment Share on other sites More sharing options...
42bs Posted October 13, 2020 Share Posted October 13, 2020 On 10/9/2020 at 10:35 PM, sage said: Reveal hidden contents BLL Comlynx Loader/Debugger (I wont talk about BLL nor the BLL workaround for the Lynx encryption. The following focuses only on the Comlynx loader/debugger included in BLL.) Several homebrew ROMs (e.g. Alpine Games, Championship Rally, SIMIS) claim that they contain a BLL loader. So what is the technology behind this and how can you make use of it? Simply speaking, it is a small piece of code which listens on the comlynx port in the background for some specific command sequences. Depending on what had been enabled at compile time, these command can be used for debugging the Lynx over comlynx (reading/writing memory, registers, breakpoints), upload and start programs, reset and make screenshots (and send them back to a connected PC). The most useful feature is the game upload, which can be used for debugging on real hardware. It is much faster than using a flash or sd card which need to swap cards, cables and switching the Lynx off/on. It is very useful for comlynx game development as you can upload the game to several units in parallel by one adapter within only a few seconds. What do you need hardware wise? At least of the loader cards (or the rom on some flash card). A comlynx-serial adapter or a USB serial adapter with 5V level (see below). The following cartridges contain a BLL comlynx loader. But it might only be active in a specific screen: * BLL Loader Card: selectable speed. * SIMIS: Main menu only, 9600 baud. * Lynx Reloaded: Main menu only, selectable speed. * Alpine Games: Read manual * Championship Rally: BLL Loader im Tournament screen (after pressing "New Game"), 9600 baud. * PATW: Loader menu, speed selectable * most homebrews where the developer forgot to disable the loader: always active, 9600 baud * Not to forget the flashcard designed by Karri, which allows to flash a ROM via Comlynx. Comlynx is a serial protocol. Because of hardware limitations on the Lynx side, it uses always 8 bit 1 stop bit and even parity (8E1). The speed is limited to 2400, 9600, 31250, 62500 baud. 9600 is compatible with any PC hardware and adapters, but 31250 and 62500 are not so common, even so 31250 matches the speed of the MIDI standard. In summary, if you want to use 31250 or 62500 baud, you need to chose your your hardware carefully. Uploading a game which is close to the memory limit of ~56kb, the upload with 62500 baud takes about 10 seconds, but 60 second with only 9600 baud. Limitations and file format: The game must fit into the Lynx memory. You cannot upload ROM images, but have to upload the binaries which build up the rom image. The bll assmbler (lyxass) and newcc65/ld65 will produce these binaries directly. For the uptodate version of cc65 you need to create the binary with a special config file (add lynx-bll.cfg to the command line). Game code can start from $200 on until the position of the hardware registers. Technical details: The loader itself is placed at the end of the memory ($FFC0), thus it can not be overwritten by any game code. Documentation from the BLL kit: The Debugger supports the follwing commands: $81,"P" - Program $81,"R" - Reset $81,"S" - Send screenshot (palette+data) $82 - continue $83 - set registers $84 - write : 0 - byte 1 - word (hi first!) 2 - bytes $85 - read : 0/1/2 $86 - get registers The ComLynx-Loader wants: start-sequence : $81,"P" ; command : load program init-sequence : LO(Start),HI(Start) ; start address = dest. LO(Len XOR $FFFF),HI(Len XOR $FFFF) ; and len of data Xmit-sequence : Len bytes .... ; data There is no checksum! If there is an com error, it will not be detected. The upload might stall or the program might crash. If you read from a file, do not forget to skip the header (and reduce the length accordingly). How to include it in games: BLL/lyxass: define the "Baudrate", default is 9615 include serial.inc and debug.inc call "jsr InstallLoader" ancient cc65 code (newcc65 compiler): call "InstallUploader();" current cc65: You can add the uploader to any program by compiling it with lynx-uploader.cfg. This will add an interruptor that listens to ComLynx traffic. But you need to set up the baudrates by yourself to make it usable. I didnt find it, but I copied together some information. I suggest to add the schematics from the BLL kit with the max chip. I can did out some USB-CL 5V converters, too. And here are some threads with more and deeper info: https://atariage.com/forums/topic/132551-bll-carts https://atariage.com/forums/topic/213073-what-do-i-need-to-load-homebrews https://atariage.com/forums/topic/14967-lynxpc-serial-cable-back-ordered USB to Serial adapter: Quote Link to comment Share on other sites More sharing options...
sage Posted October 13, 2020 Share Posted October 13, 2020 3 hours ago, 42bs said: USB to Serial adapter: yep, the diode is needed. I wonder why it was not needed in the old schematics with the MAX232 Quote Link to comment Share on other sites More sharing options...
42bs Posted October 13, 2020 Share Posted October 13, 2020 5 minutes ago, sage said: yep, the diode is needed. I wonder why it was not needed in the old schematics with the MAX232 Because the MAX232 could pull down the line against a high level. Quote Link to comment Share on other sites More sharing options...
Igor Posted October 28, 2020 Author Share Posted October 28, 2020 Thank you both! I will get around to looking at this soon (had a family matter come up and didn't have time to look at this). Quote Link to comment Share on other sites More sharing options...
Igor Posted December 6, 2020 Author Share Posted December 6, 2020 Reusable logo assets are now available from https://atarigamer.com/pages/atari-gamer-reusable-assets Quote Link to comment Share on other sites More sharing options...
Igor Posted January 27, 2021 Author Share Posted January 27, 2021 This is something I've discussed with @Nop90 some time back when Biniax came out and received a number of updates. ROM versions/history. Right now I've only added it for 8bit-Slicks (https://atarigamer.com/lynx/game/8-Bit Slicks/623529361#romhistory)... It's not a full-fledged feature that I wanted, but in the backend it still does keep all the previous version ROMs, I just need to spend more time to make those downloadable (where allowed). I probably will not go back and fill this in for any games that are listed already, but as new revisions come out, I will update them. Quote Link to comment Share on other sites More sharing options...
Nop90 Posted February 12, 2021 Share Posted February 12, 2021 I have a new request for the Atarigamer site. I would like to release some WIP lynx games of mine for testing (Finel Melee for example), but without sharing the ROM, and since Atarigamer site already gives the possibility to play some commercial roms that can't be downloaded, it could be extended to testing roms. A beta testing page where can be listed homebrews released as preview could be a nice feature, and you @Igor should not worry about loading on your site a lot of alpha end beta versions in the main roms repository, but only wait the final version while the last wip version are in the testing page. As advanced feature to evaluate, the beta testing could be time limited to one month (renewable on request by the developer) so to not leave dead progects there too long. 3 Quote Link to comment Share on other sites More sharing options...
Igor Posted February 14, 2021 Author Share Posted February 14, 2021 That's a good suggestion @Nop90! I think this can be done without having to create an entry in the game database, instead asking the developer to submit a README file that will be displayed. The ROM will then playable on the same page (without the Lynx background image maybe) and the comments section will be there for feedback. Time limited can be made optional. This should not take long to put together, thanks for the suggestion! 1 1 Quote Link to comment Share on other sites More sharing options...
Nop90 Posted February 15, 2021 Share Posted February 15, 2021 Great, as soon as this feature is available I'll use it to make test Final Melee. 1 Quote Link to comment Share on other sites More sharing options...
Igor Posted April 12, 2021 Author Share Posted April 12, 2021 On 2/15/2021 at 6:47 PM, Nop90 said: Great, as soon as this feature is available I'll use it to make test Final Melee. I know that I said it won't take long together, that was assuming I was working on site code ? I'm working on it again now though. There have been some other changes to the website, including a side menu that should hopefully make navigation easier. For the beta test utility, I am thinking that it will require you to submit a LNX ROM (so that the header info can be displayed), as well as have an area for you to add a description/README. You can then also choose a duration of the beta test (1-7 days). Once you submit, you will be issued with a URL to share your ROM's play page. There won't be an option to update any info or ROM once submitted, but the entire submission will be deleted once the time expires. These pages will not be listed publicly either so you will need to know the URL in order to play-test it. 1 Quote Link to comment Share on other sites More sharing options...
Nop90 Posted April 12, 2021 Share Posted April 12, 2021 2 minutes ago, Igor said: I know that I said it won't take long together, that was assuming I was working on site code ? I'm working on it again now though. There have been some other changes to the website, including a side menu that should hopefully make navigation easier. For the beta test utility, I am thinking that it will require you to submit a LNX ROM (so that the header info can be displayed), as well as have an area for you to add a description/README. You can then also choose a duration of the beta test (1-7 days). Once you submit, you will be issued with a URL to share your ROM's play page. There won't be an option to update any info or ROM once submitted, but the entire submission will be deleted once the time expires. These pages will not be listed publicly either so you will need to know the URL in order to play-test it. Seems fine. 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.