Smonson's untitled simple harddisk project
Re: Smonson's untitled simple harddisk project
Bodge wires
https://www.exxosforum.co.uk/atari/ All my hardware guides - mods - games - STOS
https://www.exxosforum.co.uk/atari/store2/ - All my hardware mods for sale - Please help support by making a purchase.
viewtopic.php?f=17&t=1585 Have you done the Mandatory Fixes ?
Just because a lot of people agree on something, doesn't make it a fact. ~exxos ~
People should find solutions to problems, not find problems with solutions.
https://www.exxosforum.co.uk/atari/store2/ - All my hardware mods for sale - Please help support by making a purchase.
viewtopic.php?f=17&t=1585 Have you done the Mandatory Fixes ?
Just because a lot of people agree on something, doesn't make it a fact. ~exxos ~
People should find solutions to problems, not find problems with solutions.
Re: Smonson's untitled simple harddisk project
My USB Blaster stopped working last week, which has put a damper on projects for the time being. It was one of those little cheap ones with nothing inside it but a PIC microcontroller. I've bought one of the bigger "official" Altera-designed ones but it'll take a few more weeks to get here thanks to COVID.
Re: Smonson's untitled simple harddisk project
Been trying to finish some projects recently. I got the last prototype of this drive working pretty well - but still occasionally some data corruption happens. With just 2 LEDs for debugging, it was pretty hard to work out what was going on, so I've got a bigger "hero" prototype design ready here which has a serial port on it. This will be just to work out where the issue is and see if I can solve it.
Re: Smonson's untitled simple harddisk project
And now exactly the same thing again only in TQFP-100. Why? Because I still have 4 of them. There is no way to buy any 5M40Z, 5M80Z, 5M160Z or 5M240Z in any QFP-64 or QFP-100 from Mouser, they just have a few -144s left.
And I just saw that in July Intel are going to stop producing MAX II, MAX V, MAX 10, Cyclone II, Cyclone III and Cyclone IV in any non-lead-free QFP packages due to their outsourced manufacturer decommissioning that equipment. It's possible they might continue making these products in a RoHS version but it's bound to put the boot into supply even more than it already is. They're already double the price they were when I started this idea, and ice40s are going through the roof as well.
First Bitcoin, then COVID, and now generative AI... we're never gonna have any FPGAs again
And I just saw that in July Intel are going to stop producing MAX II, MAX V, MAX 10, Cyclone II, Cyclone III and Cyclone IV in any non-lead-free QFP packages due to their outsourced manufacturer decommissioning that equipment. It's possible they might continue making these products in a RoHS version but it's bound to put the boot into supply even more than it already is. They're already double the price they were when I started this idea, and ice40s are going through the roof as well.
First Bitcoin, then COVID, and now generative AI... we're never gonna have any FPGAs again
Re: Smonson's untitled simple harddisk project
Yo. So time passed, and I've got this one all made up now. It works perfectly apart from the same issues that the last one had
The serial console is something I should have included from the start... you live and learn!
Although there is one new thing, and it's a mystery to me. I'm using the ICD driver, and right after bootup it displays this "<MSense: $FD>" message in the corner and then hangs.
There are no errors on the hard drive side, and under inspection with a logic analyser the last data transfer worked fine and put the bus back into a ready state. The docs refer to an MSense: $fe error code, but I can't find anything about what $fd is trying to tell me. Anyone know?
I think it only happens if I have "retries" switched on in the driver, but no data transfers fail, and it makes no attempt to retry anything. Totally weird.
The serial console is something I should have included from the start... you live and learn!
Although there is one new thing, and it's a mystery to me. I'm using the ICD driver, and right after bootup it displays this "<MSense: $FD>" message in the corner and then hangs.
There are no errors on the hard drive side, and under inspection with a logic analyser the last data transfer worked fine and put the bus back into a ready state. The docs refer to an MSense: $fe error code, but I can't find anything about what $fd is trying to tell me. Anyone know?
I think it only happens if I have "retries" switched on in the driver, but no data transfers fail, and it makes no attempt to retry anything. Totally weird.
Re: Smonson's untitled simple harddisk project
I'm not sure what the go was with that MSense thing, but it went away after a bit of refactoring and hasn't come back.
Actually I've had this running for a few nights playing Monkey Island, Civilization, and Quest for Glory 1, and just copying files around, without any data errors. So I think this thing is nice and stable now.
I'm at a point where I'm tidying up the codebase and making sure any error conditions are handled before I call it done. I've found a nice case that it should fit nicely into and I've started laying out what could be the final version of the PCB.
I'll put an internal microsd slot in it as well as the front-facing full-size SD card to facilitate backups and copying files around. The next version needs a faster MCU because the atmega324p that I used this time is a little slow at 3.3v - next one will be an avr128da running at 20MHz which will give a 10MHz SPI connection to the cards. I'm getting 244KB/s at the moment at 3.125MHz so it will hopefully be about triple the speed. 244KB/s still feels rather fast compared to the ST's "thinking time" so I'm not too hung-up on those numbers.
I guess I'd better chuck a real-time clock in there somewhere as well.
It's a great feeling when projects sometimes actually progress!
Actually I've had this running for a few nights playing Monkey Island, Civilization, and Quest for Glory 1, and just copying files around, without any data errors. So I think this thing is nice and stable now.
I'm at a point where I'm tidying up the codebase and making sure any error conditions are handled before I call it done. I've found a nice case that it should fit nicely into and I've started laying out what could be the final version of the PCB.
I'll put an internal microsd slot in it as well as the front-facing full-size SD card to facilitate backups and copying files around. The next version needs a faster MCU because the atmega324p that I used this time is a little slow at 3.3v - next one will be an avr128da running at 20MHz which will give a 10MHz SPI connection to the cards. I'm getting 244KB/s at the moment at 3.125MHz so it will hopefully be about triple the speed. 244KB/s still feels rather fast compared to the ST's "thinking time" so I'm not too hung-up on those numbers.
I guess I'd better chuck a real-time clock in there somewhere as well.
It's a great feeling when projects sometimes actually progress!
Re: Smonson's untitled simple harddisk project
Has it really only been less than a month since I updated this thread? It feels like so long.
So I've got the new boards, which I'm calling v1 as this revision has everything on it that I wanted to put on it, hence it's not really a research prototype anymore, it'll hopefully be a reliable unit. Fits into the box pretty nicely. This was my first 4-layer board and it worked out great. So much easier routing all the power pins.
I bought the wrong LEDs (too big) and forgot to get SOT-223 5v regulators so I did a couple of hacks on this first board. No showstoppers.
I squeezed everything in that I wanted to include
Speed's good with a fast enough SD card - this one (card #1) happened to be a cheap old no-name brand one. 1.25MB/s is the theoretical maximum for the SPI clock speed I've used, which is 10MHz (the most you can get from an AVR). Most of the delay for reading an SD card is waiting for the card to be ready.
I'll be focusing on improving the software side before anything else. I did a little experiment recently where I wrote a TOS program to send an ACSI command to the drive - it wasn't too much work. I think a little Atari-side test suite is in my future.
So I've got the new boards, which I'm calling v1 as this revision has everything on it that I wanted to put on it, hence it's not really a research prototype anymore, it'll hopefully be a reliable unit. Fits into the box pretty nicely. This was my first 4-layer board and it worked out great. So much easier routing all the power pins.
I bought the wrong LEDs (too big) and forgot to get SOT-223 5v regulators so I did a couple of hacks on this first board. No showstoppers.
I squeezed everything in that I wanted to include
- The faster and better AVR128DA MCU
- Two SD cards instead of one: an internal microSD one, and a removable full-size SD card
- Battery-backed real-time clock
- A jumper which will disable the ability to change the settings
Speed's good with a fast enough SD card - this one (card #1) happened to be a cheap old no-name brand one. 1.25MB/s is the theoretical maximum for the SPI clock speed I've used, which is 10MHz (the most you can get from an AVR). Most of the delay for reading an SD card is waiting for the card to be ready.
I'll be focusing on improving the software side before anything else. I did a little experiment recently where I wrote a TOS program to send an ACSI command to the drive - it wasn't too much work. I think a little Atari-side test suite is in my future.
- chronicthehedgehog
- Posts: 224
- Joined: Sun May 08, 2022 6:11 pm
- Location: The Midlands
- Contact:
Re: Smonson's untitled simple harddisk project
Excellent job and that's a decent speed
Re: Smonson's untitled simple harddisk project
Forgot to mention that I'll open-source this project eventually.
Re: Smonson's untitled simple harddisk project
Nice board and great work to get it to this stage. It always feels good to get things finished.
Looking forward to the open-source release and getting to build it when you are done.
Looking forward to the open-source release and getting to build it when you are done.
Atari Falcon 030 | Atari 1040 STE | Atari 1040 STFM | Atari 1040 STF | Kryoflux & Supercard Pro Flux boards
Creator of the Atari ST Review magazine archive: https://www.chillichai.com/atari-st-review
Creator of the Atari ST Review magazine archive: https://www.chillichai.com/atari-st-review