Jump to content
IGNORED

SDrive-Max Mini - No screen? No Problem!


cbelcher

Recommended Posts

I've been working on a small project - after building an SdriveMax.  I've wanted to make it smaller and internalize it.

Have it working now.

 

Pros:

A little cheaper - no screen, no SIO plug

Internal - less stuff to lug around

Smaller - uses a smaller Arduino with the same chip (Arduino Nano)

Powered off constant 5v rail of the main power switch, power controlled using the channel selector switch

Built in the 7407 circuit so should play nice on the SIO bus

 

Cons:

Setup is hard - SDrive Max relies on screen calibration - I had to burn the EEPROM from a working SDrive Max using AVRdude over ICSP

 

Future directions:

See if kbr will release a headless firmware that doesn't stop waiting for initial screen calibration

Make an all in one board that uses surface mount and doesn't require an Arduino Nano and a separate TF card breakout

 

Questions?

 

 

IMG_2843.jpg

IMG_2841.jpg

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

That's pretty neat.

There are two bits of functionality you lose to add to your list of Cons.

 

No Tape support

No 1050 ATX timing support

 

I don't use the display on my SDM for much, but those two things don't have equivalents in the on-screen menu.

 

I only use my SDM for Tapes and ATX files; all other ATR/XEX loading is done through FJC's loader menu on one device or another, BIN/CAR are handled by my Ultimate/AVG carts.

  • Like 2
Link to comment
Share on other sites

9 hours ago, Mr Robot said:

That's pretty neat.

There are two bits of functionality you lose to add to your list of Cons.

 

No Tape support

No 1050 ATX timing support

 

I don't use the display on my SDM for much, but those two things don't have equivalents in the on-screen menu.

 

I only use my SDM for Tapes and ATX files; all other ATR/XEX loading is done through FJC's loader menu on one device or another, BIN/CAR are handled by my Ultimate/AVG carts.

Who wrote/maintains the on-screen menu? Would it be possible to add that support?

Link to comment
Share on other sites

On 8/19/2019 at 4:29 PM, Mr Robot said:

The original was written by Raster and Bob!k

@kbr has made some changes since.

 

What we need is to bribe or cajole @flashjazzcat into writing a new menu with all the features :D

@flashjazzcat How about $12 in unmarked bills?

 

No, seriously. What would it take to entice you to lend your expertise here?

 

Thank you!!!

Link to comment
Share on other sites

7 minutes ago, flashjazzcat said:

Time, enthusiasm and a very complete reference of the device API (SIO commands, etc). An SDrive would probably help as well.

At the bottom of this page https://atari8bit.net/everything-sdrive-max/ you will find the original documentation, source code, schematics, and an SIO command list. 

 

I'd be happy to send you an SDrive-MAX if you'd like one and no one closer makes you an offer. I'd be fascinated to see just how much you could wring out of the device, especially if an U1MB or SideII were detected.

 

Hopefully the above will spark your enthusiasm a little, I'm sorry I can't help you with time; I'm finding that in pretty sort supply everywhere!

 

 

 

 

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

31 minutes ago, Mr Robot said:

At the bottom of this page https://atari8bit.net/everything-sdrive-max/ you will find the original documentation, source code, schematics, and an SIO command list. 

 

I'd be happy to send you an SDrive-MAX if you'd like one and no one closer makes you an offer. I'd be fascinated to see just how much you could wring out of the device, especially if an U1MB or SideII were detected.

 

Hopefully the above will spark your enthusiasm a little, I'm sorry I can't help you with time; I'm finding that in pretty sort supply everywhere!

 

 

 

 

Name your price...

 

?

Link to comment
Share on other sites

I really appreciate the offer; however, I will not accept anything under false pretences, so if absolute commitment to creating a replacement menu in a timely manner is a condition of donating the device, please hold off until I can confirm that the undertaking is even plausible. Let me read up on the documentation so I can get an idea of what's involved. If I can re-use UI code from elsewhere, maybe it won't be that hard. :)

 

  • Like 1
Link to comment
Share on other sites

3 hours ago, flashjazzcat said:

so if absolute commitment to creating a replacement menu in a timely manner is a condition of donating the device

Think of it as my donation for your latest release of the XEL/U1MB/SiDE firmware. Which case would you like? 

 

PM me your address.

 

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

6 hours ago, flashjazzcat said:

I really appreciate the offer; however, I will not accept anything under false pretences, so if absolute commitment to creating a replacement menu in a timely manner is a condition of donating the device, please hold off until I can confirm that the undertaking is even plausible. Let me read up on the documentation so I can get an idea of what's involved. If I can re-use UI code from elsewhere, maybe it won't be that hard. :)

 

Slghtly off-topic, but directly related to your comment above:

 

Another group that could really use your creative talents in the BIOS GUI department is the EclaireXL Project (all variants).  Their menu is fully functional, but unfortunately not very attractive.  What can I say -- you spoil us Jon in this area with your excellent BIOS GUIs for U1MB/Incognito/SIDE2.

 

I'm not affiliated with the EclaireXL Project in any way, shape, or form.  This is simply one man's opinion.  I just wanted to make you aware of another project that could use your talents.  Please consider it a complement that when I see their menu system, the first thing I think of is how much better their (EclaireXL users) experience would be if they could use your style of BIOS GUI on their machine.

 

However, I do realize that you are just one man, and you can't do it all.

 

Thank you so much for all that you have done -- we all appreciate it more than we can adequately express.

 

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

3 hours ago, Mr Robot said:

Which case would you like? 

It's very generous of you - thanks! I'll have to figure out what cases are available before I can choose one, however. Editing video right now but should have time tomorrow to catch up on the SDrive MAX threads.

30 minutes ago, irich2 said:

Another group that could really use your creative talents in the BIOS GUI department is the EclaireXL Project (all variants).

I suppose it would be a boring world if all devices had the same UI, but on the other hand, we all know that even great hardware can fall short if the software is lacking. I have about as much familiarity with EclaireXL as I do with SDrive MAX, unfortunately, and I have not even laid eyes on the configuration menu. I remember thinking to myself a while back that one of the FPGA clones could definitely use an IDE hard disk, however. :)

 

It really comes down to what can be accomplished economically at this point, and I definitely need to turn attention to other long-neglected projects, at least in the short term. But I'm happy to discuss project ideas with anyone who wants to get in touch.

 

Thanks for the kind appraisal, anyway! I have uncovered so many firmware bugs of late that the word 'expertise' barely seems applicable, but I guess once software stops receiving bug fixes, it simultaneously stops being developed. :)

Edited by flashjazzcat
  • Like 2
Link to comment
Share on other sites

  • 11 months later...
On 8/18/2019 at 6:57 PM, cbelcher said:

I've been working on a small project - after building an SdriveMax.  I've wanted to make it smaller and internalize it.

Have it working now.

 

Questions?

 

Hi, what all did you have to do to get the firmware onto the Nano? Is it easy to extract the firmware from a working/set up SDrive Max and just flash it onto the Nano? Which SD adapter did you use? Where do you connect the SD adapter to the Arduino? Is that an UNO2SIO board in the pic under the Nano or something else? What is your experience with and opinion of it a year later?

Link to comment
Share on other sites

On 8/21/2019 at 11:52 AM, flashjazzcat said:

I have uncovered so many firmware bugs of late that the word 'expertise' barely seems applicable, but I guess once software stops receiving bug fixes, it simultaneously stops being developed. :)

This reminds me of something I read years ago:

 

All software contains at least one bug.

All software can be optimized by at least one instruction.

 

Therefore, by extrapolation, all software can be reduced down to a single instruction that doesn't work!

 

  • Like 2
Link to comment
Share on other sites

5 hours ago, phigan said:

 

Hi, what all did you have to do to get the firmware onto the Nano? Is it easy to extract the firmware from a working/set up SDrive Max and just flash it onto the Nano? Which SD adapter did you use? Where do you connect the SD adapter to the Arduino? Is that an UNO2SIO board in the pic under the Nano or something else? What is your experience with and opinion of it a year later?

I had a working SDRIVE MAX and had to use AVRDUDE to read the EEPROM since the firmware requires you first calibrate a screen, which this one does not have.  So I was "borrowing" the EEPROM from a working traditional one.  I can't recall the AVRDUDE commands but they were not that hard.  If you can program an Arduino on your computer, you should also be able to run AVRDUDE.

 

I just bought a TF adapter from Aliexpress which has some level shifting built in and wired to the same pins that the SDRIVE MAX does - look at their schematics.

I did make my own 7407 fix board under it like you see sold with the SDRIVE MAX so you don't have to do the diode fix.  Same schematic you find at the SDRIVE MAX manual site.

 

Overall I really like it being internal and one less thing to haul around.  It still can be a little weird with other devices on the sio chain but I rarely use other things with it. 

Link to comment
Share on other sites

 

On 8/6/2020 at 10:52 AM, cbelcher said:

I just bought a TF adapter from Aliexpress which has some level shifting built inand wired to the same pins that the SDRIVE MAX does - look at their schematics.

I did make my own 7407 fix board under it like you see sold with the SDRIVE MAX so you don't have to do the diode fix.  Same schematic you find at the SDRIVE MAX manual site.

 

Overall I really like it being internal and one less thing to haul around.  It still can be a little weird with other devices on the sio chain but I rarely use other things with it. 

Cool, I can probably figure out the commands. Do you think this adapter would work?

 

Maybe it's not even worth adding that extra fix stuff if you just have a power switch and don't use it with other devices.

Link to comment
Share on other sites

  • 6 months later...
  • 9 months later...

Bump, Bump

 

I'm interested in making a variation of this no-screen mini SDrive-Max starting with just the ATMEGA328P dip version MCU (no UNO and no Screen).

 

So far I have deduced the following connections to the ATMEGA328P chip...

Pin-1 (RESET)                 To: 47K+1uf Start-Up delay circuit

Pin-2 (RX)                    To: SIO Pin-5 (Data-Out)

Pin-3 (TX)                    To: SIO Pin-3 (Data-In)

Pin-7,20,21 (VCC, AVCC, AREF) To: SIO Pin-10 (+5/Ready)

Pin-8,22 (GND, AGND)          To: SIO Pin-4 (GND)

Pin-9,10 (XTAL)               To: 16 Mhz Crystal (with 22pf caps to GND)

Pin-16 (SS)                   To: SD Pin-1 (CD/DAT3)

Pin-17 (MOSI)                 To: SD Pin-2 (CMD)

Pin-18 (MISO)                 To: SD Pin-7 (DAT0)

Pin-19 (SCK)                  To: SD Pin-5 (CLK)

Pin-?                         To: SD pin-10 (Card Detect Switch)

Pin-28 (ADC5)                 To: SIO Pin-7 (Command)

SD Card Pinout (signals only - switches not shown)

932112473_Pinputofmemorycard.png.bb3113300c8541cebd2abc0582c5437e.png

 

I've omitted the SD Card Lock Switch because it's not going to be used in my application, although I believe the Card Detect Switch will be needed and when referencing the original SDrive-NG schematic it's going to Pin-4 of the ATMEGA328P, but I'm not sure if that holds true for the SDrive-Max.

 

I'll be using my TL866II Plus Programmer to directly flash the ATMEGA328P chip out of circuit. And that's where I run into a stumbling block since I need the hex files for the FLASH and EEPROM, as well as the fuse settings. However I did find that the SDrive-Max V1.2c3 firmware (attached) does seem to have what is called an automatic screen calibration via the EEPROM already having the values baked in, thus it can also be used for a no-screen version. There are 6 different firmware folders within the zipped file, each apparently aimed at a given display. Since I will not be using the display, I would assume any one of them could serve as the basis for what I need. But when I look in the folder I see only two files...

 

eeprom_writer.hex

SDrive.hex

 

The SDrive.hex looks to be the file that I would use for the Flash area of the ATMEGA, but the eeprom_writer.hex looks to be a special program to be used by AVRdude to tell it to flash the ATMEGA's EEPROM, but doesn't really look like what I need when using the TL866II Plus Programmer.

 

Understandably I'll be using a down regulated 3.3V from the SIO 5V/Ready to power the SD Card, as well as level shifters between the ATMEGA and the SD card signals.

 

So three questions...

 

1) Where does the SD Card Detect Switch get connected on the ATMEGA328P for the SDrive-Max?

 

2) What are the ATMEGA328P Fuse Settings?

 

3) Where can I find compatible SDrive-Max files for both the Flash and EEPROM areas of the ATMEGA328P for use with a TL866II Plus Programmer?  (maybe I only need the EEPROM file, since there already appears to be a Flash file - SDrive.hex)

 

Thanks in advance for any assistance with this endeavor :)

 

sdrive-max-v12c3.zip

  • Like 2
Link to comment
Share on other sites

23 minutes ago, Mr Robot said:

This might be interesting to you? 

 

Thanks for the link. Problem is that's a closed device. No schematics or software appear to be present, although I presume it ran the SDrive-NG firmware which is available HERE. I'm actually more interested in the SDrive-Max implementation, because it appears to be more active and current in the firmware improvement department, although for my application I don't need or want a display. And since I intend to embed this into an industrial design, I prefer it be made from scratch and not based on a 3rd party UNO board.

 

And I don't need or desire the USB connection for programming, hence the reason I am seeking a way to program the ATMEGA328P chip out of circuit with my TL866II Plus programmer.

 

Edited by mytek
Link to comment
Share on other sites

On 8/18/2019 at 6:57 PM, cbelcher said:

I've been working on a small project - after building an SdriveMax.  I've wanted to make it smaller and internalize it.

Have it working now.

 

Pros:

A little cheaper - no screen, no SIO plug

Internal - less stuff to lug around

Smaller - uses a smaller Arduino with the same chip (Arduino Nano)

Powered off constant 5v rail of the main power switch, power controlled using the channel selector switch

Built in the 7407 circuit so should play nice on the SIO bus

Care to go into more detail on this? Like what is it that you actually used for the hardware. was this still based on the UNO board?

 

Quote

Cons:

Setup is hard - SDrive Max relies on screen calibration - I had to burn the EEPROM from a working SDrive Max using AVRdude over ICSP

I've never used AVRdude, but how exactly did you extract the EEPROM code from a working SDrive-Max using it?

 

Quote

Future directions:

See if kbr will release a headless firmware that doesn't stop waiting for initial screen calibration

It looks like that happened already in V12.

 

Quote

Questions?

To add to what I've already asked, if you have the hex files for both the Flash and EEPROM areas, can you please upload them here. Also any idea of what the Fuse settings should be?

 

Here's what I have for the SDrive-NG fuses, do you know if the Max is going to be the same?

 

SDrive-NG_Fuses.thumb.png.94bd2b73ecdda8516a23bfaac4169ae4.png

 

Thanks :)

 

Edited by mytek
Link to comment
Share on other sites

To answer one of my questions I checked out some of the Arduino TFT display/Micro-SD Shield diagrams, and saw that neither the write lock or card detect switches for the SD card have any connection points going to the UNO. So I guess there's no need to worry about those :)

 

But now I'm starting to feel like I'm just talking to myself, so I'm out of here for a bit as I run some experiments.

 

Link to comment
Share on other sites

5 hours ago, bf2k+ said:

You are not talking to yourself... I am listening. :)

Good to know and thanks :)

 

Since there's been no feedback from the original topic starter, I decided to figure out a way on my own, and in my comfort zone to extract the contents of the ATMEGA328P in my one and only SDrive-Max (thank you @Mr Robot for the donation). So I thought it would be as simple as opening up the case and unplugging the ATMEGA chip, and then popping that into my TL866II Plus to read it. Unfortunately when I got to the UNO board I discovered that it was all soldered in SMD.

 

Arduino-Uno-R3-SMD.thumb.jpg.4e6a919fda36bfd216db8798c38c0e8c.jpg

 

So the next best thing would be to connect to the 6 pin ICSP header on the right side.

 

 

Well small problem with doing that...

The UNO2SIO board had already Stolen that for its own use. No problem I just temporarily soldered a fresh header on top of that.

 

UNO2SIO.thumb.jpg.6f6fe73283b82ab95738dcba944d59a4.jpg

 

 

Here's a nifty chart I found that shows the various ICSP headers and where to connect from that to a TL866II Plus (the UNO board supports the ATMEL convention).

 

TL866_ICSP.thumb.png.c6bdc7f98b515218984c182b5a787782.png

 

So I used a few of these to make the interconnections based on the chart above (check eBay for Dupont Jumper Wires).

 

Dupont_Jumper_Wires.thumb.jpg.c72f480aed66eb9ea4df40f4a4e35dd2.jpg

 

After that was completed, I simply ran the app that came with my TL866II Plus programmer, selected ATMEGA328P as the device, then checked the ICSP box, and finally clicked on the READ icon. Within a matter of seconds I had the Flash, EEPROM, and Config (fuse settings) info I needed. Then I disconnected the ICSP connection and selected the ZIF socket as my default, put a ATMEGA328P DIP chip in the socket and clicked on the PGM icon. Everything got flashed into the chip, with successes being reported by all of the individual operations.

 

Next I put the chip in my bread boarded test setup connected to an SD Card Slot (with level shifting resistor voltage dividers - same as original SDrive), and to the SIO. Powered it up, and... NOTHING. It didn't even appear to be communicating with the SIO as far as I could see (or hear). So obviously there is a problem. Could be the wrong fuse settings, although nothing about that jumped out at me. The SD is being run from a 3.3V regulator and that checked out as good with a meter, whereas the ATMEGA was getting 5V from the SIO. Looks like I have some troubleshooting to do ;)

 

 

EDIT: After going back over this thread a bit better, I see that the OP used what appears to be a NANO board and an SD Card break-out board that already has a 3.3V regulator and level shifting present, as well as some form of UNO2SIO carrier board for the NANO (larger overall image shown in first post). Actually I guess that would be better described as a NANO2SIO carrier board. Anyone seen one of these or have more info on it? Or is this a creation of the OP?

 

Screenshot.png.32d5deb86716eeae569d17342989d842.png

 

 

And this appears to be very similar to the SD Adapter used.

PPAC0007_main2.jpg.b3c46be45d2aa12e85ad0ffeed2bca1d.jpg

Found this one at: https://proto-pic.co.uk/product/micro-sd-card-reader-module-spi-with-level-shifting/

 

 

Edited by mytek
  • Like 1
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...