Jump to content
SainT

Upcoming Jaguar Game Drive Cartridge

Recommended Posts

I've made some good progress on the CD side of things in the last couple of days. I've now disassembled and commented the source for the GPU streaming code for all of the modes -- the source for two of them wasn't available, so I cobbled together a disassembler for the RISC that outputs labels correctly so it can then be re-assembled. I now understand how the CD data is streamed from butch using a 64 byte (I think) FIFO -- the code initially kicks off the read, waits for the receive buffer to fill (on IRQ) then sets the half-full interrupt and streams 32 bytes per interrupt rapidly to the destination memory. It looks like your destination buffer must be a multiple of 32 in size, as it only transfers in 32 byte chunks. I dont see any reference to this anywhere, though? Any documentation on the CD system is scant, only what is in the BIOS source.

 

I think I've now made all the hardware changes required for handling the CD the way I want it and fixing another couple of issues regarding EEPROM and memory card use. I'll do some final checks tomorrow, then hopefully it's time to get a new PCB made with the fixes.

 

Extremely pleased with the progress. :-D

Edited by SainT
  • Like 21

Share this post


Link to post
Share on other sites

The Atari docs for CD_read mention that up to 64 bytes past the end of buffer register may be overwritten, so what you're saying makes sense.

 

post-535-0-29793400-1507246235_thumb.png

  • Like 2

Share this post


Link to post
Share on other sites

The Atari docs for CD_read mention that up to 64 bytes past the end of buffer register may be overwritten, so what you're saying makes sense.

 

attachicon.gifJaguar_CDread.png

Aha! Awesome. What doc is that? Can I get a copy? :)

Share this post


Link to post
Share on other sites

That looks like the Atari jaguar dev manual . You'll find a zip of it on code and dev, check out the master file list.

  • Like 3

Share this post


Link to post
Share on other sites

Blimey, I hadn't realised what a goldmine that place is. Source for VLM also -- that is interesting for my CD BIOS work, I can double check there's no direct CD calls in there. :thumbsup:

 

Edit -- d'oh, no it's not. It's the CD BIOS source mislabeled! :)

Edited by SainT
  • Like 4

Share this post


Link to post
Share on other sites

There is mention of vlm and various files at the end of the zip.. but ill see if I can find the correct stuff

 

I dont believe it's out in the wild, but you never know... I'll do some more digging in the cd front end source soon, but I believe (and hope) that it just feeds VLM the audio and handles all CD access outside of VLM. Would make my life easier... ;)

  • Like 2

Share this post


Link to post
Share on other sites

You may have this already, but here is a zip file with all the Atari-provided CDROM BIOS and sample programs, including inout.s which reads CD data in via Jeri, and a Cinepak video playback program as well. These would both be good test vehicles for the I2S interface.

CDROM.ZIP

  • Like 8

Share this post


Link to post
Share on other sites

SainT, would it be straightforward to have mp3 decompression implemented in the FPGA using the trapped VLM CD Hooks?

Edited by coleshores

Share this post


Link to post
Share on other sites
On 10/6/2017 at 5:19 PM, coleshores said:

SainT, would it be straightforward to have mp3 decompression implemented in the FPGA using the trapped VLM CD Hooks?

 

No. :)

 

I was thinking about MP3 decompression on the microcontroller, though, which may be possible. The biggest bottleneck seems to be data throughput over SPI from the memory card to the micro, so it may be the lower data rate but increased CPU usage trade-off may work.

 

But either way, there's not really a huge lack of storage space these days on memory cards...

Edited by SainT
  • Like 5

Share this post


Link to post
Share on other sites

That's true, even if it is in a raw PCM audio format, a 32GB card would hold the entire JagCD library and like a dozen albums.
Either way, thats badass.. looking forward to some VLM goodness!

  • Like 3

Share this post


Link to post
Share on other sites

 

No. :)

 

I was thinking about MP3 decompression on the microcontroller, though, which may be possible. The biggest bottleneck seems to be data throughput over SPI from the SD card to the micro, so it may be the lower data rate but increased CPU usage trade-off may work.

 

But either way, there's not really a huge lack of storage space these days on SD cards...

 

Hi SainT. I have been watching this thread for a while and applaud the work you are doing. Thank you for taking this on! I have been experimenting with fixing some initially poor (didn't work at all) 4-bit SD card interface HDL that might help if you need more performance. Its been tested in HW now to allow sector read/writes and supports large SD cards. I have some simple C level divers that could be used as a reference for init and data transfer. Not sure if your FPGA is tied to the SD card bus (maybe could be for your next board pass as an option if not) but I would be willing to provide the code to you specifically for this use. What was your SPI clock rate on your current design and how much space (LUTs, FFs, and block RAM) do you have available in the FPGA? Feel free to message me if you like. I just want to contribute if you thought it would be useful/help. thank you again.

Share this post


Link to post
Share on other sites

Lol, yes. Waiting on a new PCB, should be about a week I guess, then I can get back to it. ;)

 

In the meantime I've been working on the case design and sorting out how I'm going to produce the cases in the quantity I need.

Edited by SainT
  • Like 8

Share this post


Link to post
Share on other sites

In the meantime I've been working on the case design and sorting out how I'm going to produce the cases in the quantity I need.

There is no way you could know what that quantity is until you have a list. And me on it ;)

 

Seriously though, looking forward to this, I saw the videos, great progress.

Share this post


Link to post
Share on other sites

Lol, yes. Waiting on a new PCB, should be about a week I guess, then I can get back to it. ;)

 

In the meantime I've been working on the case design and sorting out how I'm going to produce the cases in the quantity I need.

 

Once I have one of your amazing units it will STAY in the Jag. I'll just be inserting and removing the SD card a whole lot for development. Point is you might not need a case for some orders :)

  • Like 1

Share this post


Link to post
Share on other sites

After experiencing the excellent work on the Lynx SD card, I can't wait for you to open pre-orders on this, seriously!

 

SainT, I applaud your work and support for these platforms, I know it's 'just another hobby' for you, but seriously, you keep a legacy alive with your effords!

 

THANK YOU!

  • Like 1

Share this post


Link to post
Share on other sites

Lol, yes. Waiting on a new PCB, should be about a week I guess, then I can get back to it. ;)

 

In the meantime I've been working on the case design and sorting out how I'm going to produce the cases in the quantity I need.

 

Will your board fit into a standard shell?

Share this post


Link to post
Share on other sites

Will your board fit into a standard shell?

No, it won't fit in a standard case.

 

I have the new boards back now, though, and they fit in the case I have designed perfectly! I've decided to increase my 3D printing capacity after pricing injection molds and outsourcing 3D printing. Sadly they are just too expensive. However, the quality of the 3D prints I produce has never been an issue, just the speed I can do them. So I'm addressing the speed issue - it's nearly there now. This will let me produce all my carts more quickly.

  • Like 11

Share this post


Link to post
Share on other sites

No, it won't fit in a standard case.

 

I have the new boards back now, though, and they fit in the case I have designed perfectly! I've decided to increase my 3D printing capacity after pricing injection molds and outsourcing 3D printing. Sadly they are just too expensive. However, the quality of the 3D prints I produce has never been an issue, just the speed I can do them. So I'm addressing the speed issue - it's nearly there now. This will let me produce all my carts more quickly.

Have you looked into Cold Casting? It can be quite good for mass producing, especially if you produce a good initial model

Share this post


Link to post
Share on other sites

There will be another update in a few days. I've got most of the new PCB soldered up and working, just a few more bits to sort. Once that's all working I'll post an update with the new shell etc... :)

  • Like 8

Share this post


Link to post
Share on other sites

No, it won't fit in a standard case.

 

I have the new boards back now, though, and they fit in the case I have designed perfectly! I've decided to increase my 3D printing capacity after pricing injection molds and outsourcing 3D printing. Sadly they are just too expensive. However, the quality of the 3D prints I produce has never been an issue, just the speed I can do them. So I'm addressing the speed issue - it's nearly there now. This will let me produce all my carts more quickly.

 

Gonna be the odd bird and say 3D printed housings suck. Oh well, it's your product, and I'm sure it will sell (for lack of competition, really.)

Share this post


Link to post
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.

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...