SuperZapperRecharge Posted January 15 Share Posted January 15 (edited) 4 hours ago, karri said: Can someone recommend a simple 128k game using some well defined Super Cart bank switching? So no RAM, no POKEY. Would Commando be a good candidate? 1942 - No Music 128K or so Got it from here: Edited January 15 by SuperZapperRecharge 1 Quote Link to comment https://forums.atariage.com/topic/357465-diy-2600-flash-cart-with-a-raspberry-pico/page/5/#findComment-5389437 Share on other sites More sharing options...
+karri Posted January 15 Author Share Posted January 15 I don't have time to write everything tonight. But the compilation of a 128k RAM buffer and keeping a constant array in flash for the real rom data does not seem to be any problem for the Pico. text data bss dec hex filename 153456 0 132504 285960 45d08 pico_rom.elf So there is still plenty of memory for the logic. Quote Link to comment https://forums.atariage.com/topic/357465-diy-2600-flash-cart-with-a-raspberry-pico/page/5/#findComment-5389529 Share on other sites More sharing options...
astroguy Posted January 16 Share Posted January 16 Good news. Wi-Fi cart beaming works great with MQTT. For fun I setup a script that changes to a random ROM every 5 minutes. Makes for an interesting play session. Would be a great party feature. I need to clean up the code a bit, but it’ll be up on GitHub shortly. Right now the flash cart contains 16 ROMs selectable via DIP switches and can accept OTA ROMs. Next up is adding the EEPROM flash to keep the OTA transfers persistent after reset. 3 Quote Link to comment https://forums.atariage.com/topic/357465-diy-2600-flash-cart-with-a-raspberry-pico/page/5/#findComment-5389744 Share on other sites More sharing options...
+karri Posted January 16 Author Share Posted January 16 I added a new method for finding the correct bankswitching mode. Just call Stella and let it sort it out import sys import subprocess import build26romF6 class rom: def __init__(self, fname): self.fname = fname def carttype(self): output = subprocess.check_output(['stella', '-rominfo', self.fname]) for i in output.splitlines(): l = i.strip() if l.startswith(bytes('Bankswitch Type:', 'utf-8')): b = l[16:].strip().split() self.type = b[0] def createrom(self): self.carttype() if self.type == b'F6*': r = build26romF6.rom(self.fname) fname = 'rom.c' f = open(fname, 'w') r.writedata(f) f.close() else: print(self.type, 'not supported, yet') if __name__ == '__main__': fname=str(sys.argv[len(sys.argv)-1]) game = rom(fname) game.createrom() This pretty much takes away the guessing work of which bankswitch method to use. Just type ./build26 gamename.a26 and the script chooses the right Python files to do the work. 2 1 Quote Link to comment https://forums.atariage.com/topic/357465-diy-2600-flash-cart-with-a-raspberry-pico/page/5/#findComment-5389897 Share on other sites More sharing options...
+karri Posted January 17 Author Share Posted January 17 On 1/15/2024 at 9:11 PM, SuperZapperRecharge said: 1942 - No Music 128K or so 128.13 kB · 47 downloads Got it from here: Unfortunately this appears to need EXRAM also. So I may look at it later. Quote Link to comment https://forums.atariage.com/topic/357465-diy-2600-flash-cart-with-a-raspberry-pico/page/5/#findComment-5390678 Share on other sites More sharing options...
+karri Posted January 17 Author Share Posted January 17 I decided to tackle something easier so I went for F-15 Hornet. It is an obscure 78AB format that only has a single bankswitch address. So my RW pin is working nicely with the LED removed The first bank has the title image and the map. The 2nd bank has the action It works nicely on Otaku flash cart on the 2600+ but not on the Atari 7800. Sigh... I wonder what the difference is? Edit: I streamlined the code a little more and slowly the reality hits. The address and data bus changes gradually. So you really have to monitor the pins in a certain sequence in order to prohibit erroneous bank switching. The problematic pin right now is the RW pin. If you read it at the same time with the address pins you will get so many false positives... 1 Quote Link to comment https://forums.atariage.com/topic/357465-diy-2600-flash-cart-with-a-raspberry-pico/page/5/#findComment-5390860 Share on other sites More sharing options...
+karri Posted January 17 Author Share Posted January 17 I finally got the build right. There are small artifacts at the edges of the image. But it runs on Pico on the real Atari 7800 hw with bankswitching. The code is in Otaku-flash/build78rom78AB.py at main · karrika/Otaku-flash (github.com) 2 Quote Link to comment https://forums.atariage.com/topic/357465-diy-2600-flash-cart-with-a-raspberry-pico/page/5/#findComment-5390984 Share on other sites More sharing options...
SuperZapperRecharge Posted January 18 Share Posted January 18 Very impressive. A true multi cart! 1 Quote Link to comment https://forums.atariage.com/topic/357465-diy-2600-flash-cart-with-a-raspberry-pico/page/5/#findComment-5391171 Share on other sites More sharing options...
+karri Posted January 18 Author Share Posted January 18 Latest addition this morning: SuperGame with EXFIX. The games like Crack'ed. I could not find a simple SuperGame yet. They all seem to have extra modifications. This works on the original Atari 7800. 2 Quote Link to comment https://forums.atariage.com/topic/357465-diy-2600-flash-cart-with-a-raspberry-pico/page/5/#findComment-5391346 Share on other sites More sharing options...
+karri Posted January 18 Author Share Posted January 18 On 1/15/2024 at 9:11 PM, SuperZapperRecharge said: 1942 - No Music 128K or so 128.13 kB · 48 downloads Got it from here: Now I finally had time to implement EXRAM also for the SuperGame format. And it appear to work after the 2nd press of RESET. I wonder if the RAM has to be initialized to zero before use? Here is a screenshot of the game playing on a Pico on a real Atari 7800. 3 Quote Link to comment https://forums.atariage.com/topic/357465-diy-2600-flash-cart-with-a-raspberry-pico/page/5/#findComment-5391510 Share on other sites More sharing options...
SuperZapperRecharge Posted January 18 Share Posted January 18 5 hours ago, karri said: Now I finally had time to implement EXRAM also for the SuperGame format. And it appear to work after the 2nd press of RESET. I wonder if the RAM has to be initialized to zero before use? Here is a screenshot of the game playing on a Pico on a real Atari 7800. Wow running one of the most recent home brews! Quote Link to comment https://forums.atariage.com/topic/357465-diy-2600-flash-cart-with-a-raspberry-pico/page/5/#findComment-5391714 Share on other sites More sharing options...
skorphy Posted January 19 Share Posted January 19 Got mine up and running. This thing is great. Time to start playing around with the games. Did anyone finish plans for a printable case? Thanks Karri! 1 Quote Link to comment https://forums.atariage.com/topic/357465-diy-2600-flash-cart-with-a-raspberry-pico/page/5/#findComment-5392204 Share on other sites More sharing options...
+karri Posted January 19 Author Share Posted January 19 27 minutes ago, skorphy said: Got mine up and running. This thing is great. Time to start playing around with the games. Did anyone finish plans for a printable case? Thanks Karri! Great! Really nice soldering btw. I do have a printable case in my github that works. Not the pretties one. Otaku-flash/OtakuBottom.stl at main · karrika/Otaku-flash (github.com) @ChrisKewl is currently fine tuning it. Quote Link to comment https://forums.atariage.com/topic/357465-diy-2600-flash-cart-with-a-raspberry-pico/page/5/#findComment-5392220 Share on other sites More sharing options...
ChrisKewl Posted January 19 Share Posted January 19 The cart works flawlessly right now, the big thing is finding ways to make it snap into place and hold together. Also maybe some grips. We'll see what I can come up with for improvements. Quote Link to comment https://forums.atariage.com/topic/357465-diy-2600-flash-cart-with-a-raspberry-pico/page/5/#findComment-5392321 Share on other sites More sharing options...
chad5200 Posted January 19 Share Posted January 19 Can someone give a summary of what this is and how it works? And what is envisioned for the final revision? Quote Link to comment https://forums.atariage.com/topic/357465-diy-2600-flash-cart-with-a-raspberry-pico/page/5/#findComment-5392333 Share on other sites More sharing options...
+karri Posted January 20 Author Share Posted January 20 This is a flash cart for running 2600 and 7800 games. This is the final revision for now. I am just using the cart for learning about Atari 2600 and 7800. 1 Quote Link to comment https://forums.atariage.com/topic/357465-diy-2600-flash-cart-with-a-raspberry-pico/page/5/#findComment-5392606 Share on other sites More sharing options...
tradyblix Posted January 20 Share Posted January 20 On 1/18/2024 at 11:12 AM, karri said: Now I finally had time to implement EXRAM also for the SuperGame format. And it appear to work after the 2nd press of RESET. I wonder if the RAM has to be initialized to zero before use? Here is a screenshot of the game playing on a Pico on a real Atari 7800. I've always wanted this game on some kind of a cart LOL Quote Link to comment https://forums.atariage.com/topic/357465-diy-2600-flash-cart-with-a-raspberry-pico/page/5/#findComment-5392650 Share on other sites More sharing options...
+karri Posted January 20 Author Share Posted January 20 1 hour ago, tradyblix said: I've always wanted this game on some kind of a cart LOL The file I put on the cart is not the full game. It was without sound. Using a Pico as a multicart is not a real multicart. - You need to connect a powerbank to get the Pico going before applying power to your real console - You need to convert your game to a Pico program (uf2 format) Converting the game to uf2 format. - use Linux on a PC or Raspberry pi - have the raspberry-pico toolkit installed - ./build26 game.a26 - ./build78 game.a78 Programming the game.uf2 to the Pico. - keep the button in Pico pressed while attaching the USB cable to the PC or Raspberry Pi - drag the game.uf2 to the window opened by Pico What is available? Parts in a bubble envelope. Total weigh less than 50g to keep postal costs decent. - pcb, diode, resistors €5 (20g) - Pico €7 (20g) - posting to EU €10 - posting to US €15 As long as parts exist. There may or may not be someone willing to develop this further and actually start manufacturing carts. But for the present this is for people who can use a soldering iron. Quote Link to comment https://forums.atariage.com/topic/357465-diy-2600-flash-cart-with-a-raspberry-pico/page/5/#findComment-5392686 Share on other sites More sharing options...
zezba9000 Posted January 20 Share Posted January 20 This is awesome. Could maybe even load a game into ram from PC over USB? Is POKEY emulation very hard to add in the second core? Quote Link to comment https://forums.atariage.com/topic/357465-diy-2600-flash-cart-with-a-raspberry-pico/page/5/#findComment-5392717 Share on other sites More sharing options...
+karri Posted January 20 Author Share Posted January 20 2 hours ago, zezba9000 said: This is awesome. Could maybe even load a game into ram from PC over USB? Is POKEY emulation very hard to add in the second core? I have no idea. But I allocated one pin for exaudio. The pin is capable of PWM output. So basically some kind of sound. Pokey emulation may be possible using the second core. Any takers? Quote Link to comment https://forums.atariage.com/topic/357465-diy-2600-flash-cart-with-a-raspberry-pico/page/5/#findComment-5392740 Share on other sites More sharing options...
astroguy Posted January 20 Share Posted January 20 I got a bit busy with my day-job, but I think I've got my board layout in a good place. Fixed a few mistakes and tried to simply the traces as much as possible. So time to order a prototype and see how it goes! I have firmware for the Pico and Pico-W. The Pico-W adds the ability to change ROMs via WIFI with MQTT. If the circuit boards works well then I'm thinking about taking a stab at the 7800, but I may try using a Teensy 4.1. I have one from another project. 1 Quote Link to comment https://forums.atariage.com/topic/357465-diy-2600-flash-cart-with-a-raspberry-pico/page/5/#findComment-5392885 Share on other sites More sharing options...
+karri Posted January 20 Author Share Posted January 20 It may be a good idea to see if the sound emulation goes anywhere. The Pico did not have enough pins for POKEY IRQ and CLK phase 2. Perhaps some clever support circuitry would allow the Pico to use these signals also? The Toonsy 4.1 is probably a lot better. Quote Link to comment https://forums.atariage.com/topic/357465-diy-2600-flash-cart-with-a-raspberry-pico/page/5/#findComment-5393047 Share on other sites More sharing options...
SuperZapperRecharge Posted January 21 Share Posted January 21 @karri Would there be more GPIO pins if I were to take on the huge task of making a cartridge board with an RP2040 soldered on board? It's basically designing a a Pico right on the the cartridge PCB. This would be a big effort for me but I have seen a few videos on using the RP 2040. Really not sure if I'm up to it but I'll research some. Would be great to get that Pokey on the exaudio pin. I know Pokey audio can be accessed on different addresses and I think this has been a pain for the Concerto cart. Quote Link to comment https://forums.atariage.com/topic/357465-diy-2600-flash-cart-with-a-raspberry-pico/page/5/#findComment-5393307 Share on other sites More sharing options...
+karri Posted January 21 Author Share Posted January 21 My gut feeling is to see how far you can get with the current Otaku design. If I would make a real cart I would go with an fpga. Quote Link to comment https://forums.atariage.com/topic/357465-diy-2600-flash-cart-with-a-raspberry-pico/page/5/#findComment-5393407 Share on other sites More sharing options...
+karri Posted January 21 Author Share Posted January 21 I tried to play Klax and wrote a new Atari 2600 bankswitching scheme F6SC for it with the 128 bytes of RAM. On my real 7800 it worked, but the colours were difficult to see. So I went upstairs to run it on the 2600+ and to my surprise I just got this screen: There was no way to actually start the game. Is the 2600 version Klax working with the 2600+ for others? I also tried Millipede - another F6SC game for the 2600. The same thing. It works on the real 7800 but not on the 2600+. Quote Link to comment https://forums.atariage.com/topic/357465-diy-2600-flash-cart-with-a-raspberry-pico/page/5/#findComment-5393487 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.