SainT Posted October 5, 2017 Author Share Posted October 5, 2017 (edited) 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. Edited October 25, 2019 by SainT 21 Quote Link to comment Share on other sites More sharing options...
doctor_shred Posted October 5, 2017 Share Posted October 5, 2017 The progress you're making is seriously exciting. Your Lynx SD card is great. I can't wait for the Jag version. Keep up the good work. I'm watching this space. Quote Link to comment Share on other sites More sharing options...
Songbird Posted October 5, 2017 Share Posted October 5, 2017 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. 2 Quote Link to comment Share on other sites More sharing options...
SainT Posted October 6, 2017 Author Share Posted October 6, 2017 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. Jaguar_CDread.png Aha! Awesome. What doc is that? Can I get a copy? Quote Link to comment Share on other sites More sharing options...
neo_rg Posted October 6, 2017 Share Posted October 6, 2017 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. 3 Quote Link to comment Share on other sites More sharing options...
SainT Posted October 6, 2017 Author Share Posted October 6, 2017 (edited) 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. Edit -- d'oh, no it's not. It's the CD BIOS source mislabeled! Edited October 6, 2017 by SainT 4 Quote Link to comment Share on other sites More sharing options...
neo_rg Posted October 6, 2017 Share Posted October 6, 2017 There is mention of vlm and various files at the end of the zip.. but ill see if I can find the correct stuff Quote Link to comment Share on other sites More sharing options...
SainT Posted October 6, 2017 Author Share Posted October 6, 2017 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... 2 Quote Link to comment Share on other sites More sharing options...
Songbird Posted October 6, 2017 Share Posted October 6, 2017 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 8 Quote Link to comment Share on other sites More sharing options...
SainT Posted October 6, 2017 Author Share Posted October 6, 2017 Thanks, I dont think I had that particular set of files. Quote Link to comment Share on other sites More sharing options...
coleshores Posted October 6, 2017 Share Posted October 6, 2017 (edited) SainT, would it be straightforward to have mp3 decompression implemented in the FPGA using the trapped VLM CD Hooks? Edited October 6, 2017 by coleshores Quote Link to comment Share on other sites More sharing options...
SainT Posted October 6, 2017 Author Share Posted October 6, 2017 (edited) 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 October 25, 2019 by SainT 5 Quote Link to comment Share on other sites More sharing options...
coleshores Posted October 6, 2017 Share Posted October 6, 2017 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! 3 Quote Link to comment Share on other sites More sharing options...
jjost Posted October 9, 2017 Share Posted October 9, 2017 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. Quote Link to comment Share on other sites More sharing options...
+atari2600land Posted October 25, 2017 Share Posted October 25, 2017 What happened to this? Is SainT still working on it? Quote Link to comment Share on other sites More sharing options...
SainT Posted October 25, 2017 Author Share Posted October 25, 2017 (edited) 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 October 25, 2017 by SainT 8 Quote Link to comment Share on other sites More sharing options...
+af0l Posted October 25, 2017 Share Posted October 25, 2017 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. Quote Link to comment Share on other sites More sharing options...
+Gemintronic Posted October 25, 2017 Share Posted October 25, 2017 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 1 Quote Link to comment Share on other sites More sharing options...
NUT Posted October 30, 2017 Share Posted October 30, 2017 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! 1 Quote Link to comment Share on other sites More sharing options...
falconsfan79 Posted October 31, 2017 Share Posted October 31, 2017 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? Quote Link to comment Share on other sites More sharing options...
SainT Posted October 31, 2017 Author Share Posted October 31, 2017 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. 11 Quote Link to comment Share on other sites More sharing options...
vintagemoose Posted October 31, 2017 Share Posted October 31, 2017 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 Quote Link to comment Share on other sites More sharing options...
grimm Posted November 4, 2017 Share Posted November 4, 2017 Sneak peek on the case you have designed? 1 Quote Link to comment Share on other sites More sharing options...
SainT Posted November 4, 2017 Author Share Posted November 4, 2017 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... 8 Quote Link to comment Share on other sites More sharing options...
Bratwurst Posted November 4, 2017 Share Posted November 4, 2017 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.) 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.