Jump to content
IGNORED

PICO9918 - a TMS9918A drop-in replacement powered by a Pi Pico (RP2040)


Recommended Posts

20 hours ago, visrealm said:

Also, be aware this firmware will clock your PICO9918's RP2040 at a speedy 315MHz. I would love to have it running at the default 252MHz, but that's not going to happen.

To clarify, F18A mode will run at the default PICO9918 speed, however some of the more intensive (multiple layers + multicolor sprites) demos don't run well.

 

Another F18A mode update:

 

Another update for you to try if you're keen. This one fixes a lot of small bugs:

  • The mega demo runs properly this time.
  • Fixes Alex Kidd startup screen.
  • Improves glitch behavior when renderer can't keep up.
  • Fixes F18A karts sprites.
  • Many other minor things.
  • Zaxxon is totally playable now. Some artifacts are still visible, but they have much less impact.

 

image.thumb.png.28836a4b33cb065d0b3d6ed7caf9d747.png

 

Attached the binaries for both board types (v1.0 people use the pcb_v0_4 version. going forward, perhaps I'll name it pcb_v1_0 and the v0_4 people will know its for them too).

 

Also, here's the one paragraph guide to updating your PICO9918 firmware

 

Have at it!

 

 

 

 

pico9918_pcb_v0_3_f18a_pre_alpha_2.uf2pico9918_pcb_v0_4_f18a_pre_alpha_2.uf2

Edited by visrealm
  • Like 7
Link to comment
Share on other sites

Another pre-alpha F18A compatibility mode firmware update for the keen.

  • 80 column text mode is back (and better than before).
  • Added support GPU-powered DMA requests. Huge thanks to @JasonACT for this one. He has come up with a zero-cost solution to monitor the DMA trigger address using the RP2040's MPU (memory protection unit). Incredible! Also thanks to @Asmusr for providing the source code to his F18A Copper 2 demo and the tip that it was likely DMA.
  • More performance improvements (basically won back what we would have lost by re-enabling 80-column mode). Thanks again to Jason for improving the VDP -> VGA palette conversion routine.
  • More minor bits and bobs.

All of Rasmus' F18A demos work now (Copper 2 was the last one which didn't work on previous firmware).

 

There are still combinations of F18A features that haven't been implemented - mainly in non-Graphics I modes.

 

Once this is released, please be aware it won't be able to do everything an F18A can do. The F18A is a remarkable bit of kit and full credit to @matthew180 for developing and improving it for the retro computing community over the last 11+ years. The PICO9918's F18A mode will provide a best-effort reproduction of the F18A which will work well enough in most situations but will never promise 100% compatibility. Given that, software developers should completely disregard any issues found while testing their F18A enhanced software on the PICO9918 (though, I'd love to hear about any issues).

 

Once again, I'd like to thank Jason. I absolutely could not have done this without his remarkable contributions to the project. Thanks, mate!

 

With that said, have at it! :)

 

 

pico9918_pcb_v0_3_f18a_pre_alpha_3.uf2 pico9918_pcb_v0_4_f18a_pre_alpha_3.uf2

Edited by visrealm
  • Like 9
  • Thanks 2
Link to comment
Share on other sites

19 minutes ago, visrealm said:

Prototype for experimenting with my Pimoroni PGA2350 board.

 

image.thumb.png.8410d64349a2426d557a7a33f5230d4b.png

 

Is there an ugly PCB competition? I think I might be in with a chance :)

Looks nice. Still waiting for someday to see a pico 2, the first one never arrived and the free replacement at least it has tracking but it's just floating out there around Iceland at the moment, hopefully the waves in the Atlantic will someday wash it a shore on Canadian soil.

 

I would order a pga2350 as well as it looks like a better way to work on one as prototype board, I have seen a number of MSX projects already being designed around it, but that model is heavily backordered now due to high demand.

  • Sad 1
Link to comment
Share on other sites

11 hours ago, visrealm said:

Prototype for experimenting with my Pimoroni PGA2350 board.

 

image.thumb.png.8410d64349a2426d557a7a33f5230d4b.png

 

Is there an ugly PCB competition? I think I might be in with a chance :)

Heh.  I need to figure out a way to get one to fit into here.  Not much clearance, and right under a keyboard.  So, ugly might actually be a key.  (The F18A didn't fit - someone got creative though.)

image.png.0c01dd5d37957abeb677a33267c4de8a.png

  • Like 2
  • Haha 1
Link to comment
Share on other sites

Yet another uncut demo video. This time using a VGA capture device (actually a cheap VGA -> HDMI connected to a cheaper HDMI -> USB recorded using OBS).

 

 

Since the last video, I have managed to reduce the RP2040 clock some which is great!

  • Like 4
  • Thanks 2
Link to comment
Share on other sites

49 minutes ago, visrealm said:

Yet another uncut demo video. This time using a VGA capture device (actually a cheap VGA -> HDMI connected to a cheaper HDMI -> USB recorded using OBS).

Nice work - I didn't see anything wrong except for the speed in some places. Reminds me, I should fix the flappy bird sprite in the 2-plane scrolling demo. It was using the sprite linking feature, which was removed from the F18A in one of the latest firmware updates. 

  • Like 3
  • Thanks 1
Link to comment
Share on other sites

8 hours ago, Asmusr said:

Nice work - I didn't see anything wrong except for the speed in some places. Reminds me, I should fix the flappy bird sprite in the 2-plane scrolling demo. It was using the sprite linking feature, which was removed from the F18A in one of the latest firmware updates. 

Thanks. I assumed that was the case. I did read about that in the PDF, but saw it was no longer a thing.

  • Like 1
Link to comment
Share on other sites

  • 2 weeks later...

Good news! The next batch of shiny new PICO9918's has arrived. I've made an initial 35 available on Tindie and Arcade Shopper will have another batch in a week or so too.

 

I do have more than that, so if you miss out it won't be too long before I make more available. I don't like to make them all available, sell them all in a few days and have long delays in shipping while I process orders.

 

 

Edit: My initial batch sold out pretty quick. I'll make more available once I get through these orders. Probably in a week or so. Also keep an eye out for @arcadeshopper to have some available in a week or two.

Edited by visrealm
  • Like 10
Link to comment
Share on other sites

@dhe my power testing PCBs arrived this week. Just in time because it's also come in handy for quick-swap testing my latest batch.

 

image.thumb.jpeg.fddfb6ee3c504a707e9ccb57afbbc9f1.jpeg

 

I just place a jumper on the test points when I'm not testing power draw. I'll run some detailed tests at some point, but initially, I was seeing around 95mA with this setup. It didn't seem to matter what it was doing at the time. I haven't tested the F18A build on it yet, but I will at some point and of course I'll post tabulated data. I also have an F18A coming soon, so I can test it and also original TMS9918s.

 

As @JasonACT said, the VDP itself is only part of the story since the VRAM is idle too.

Edited by visrealm
  • Like 5
Link to comment
Share on other sites

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.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...
  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...