Jump to content
IGNORED

SDrive-Simple - Yet Another Hardware Variation


mytek

Recommended Posts

10 hours ago, vitecd said:

Is there a source code available?

https://github.com/kbr-net/sdrive-max

 

 

4 hours ago, Madi said:

Since there are no connections involved on both sides of the board, is this feasible?

madi

 

 

adafruit1.png

I'm not sure what is meant by the question. Is 'what' feasible?

 

 

Link to comment
Share on other sites

2 hours ago, mytek said:

https://github.com/kbr-net/sdrive-max

 

 

I'm not sure what is meant by the question. Is 'what' feasible?

 

I want to build this SDrive using the Adafruit breakout board. Before ordering parts, I was asking if it is possible to cut the 2 corners of the SD board so that the SD card module can be inserted in the Atari plastic case without much modification. Please see the 2 corners that were trimmed.

madi

 

Link to comment
Share on other sites

  • 2 months later...

Right, I thought I am able to figure it out by myself, but the more I read and go to the different pages I get more confused. Hardware side of things it is clear (I think), putting aside historic version / predecessors:

 

- sdrive-max which is a classic UNO + TFT based solution

- sdrive-ng / sdrive-ng-v2 which is a headless design (but I find the schematics only, could not find solid references to any actual boards), no TFT, but control buttons, two hardware designs where the v2 seems to be the one to use, yet the web-page talks only about the earlier design

- sdrive-simple by mytek, headless, internal, no hardware control interface whatsoever, only through the sdrive.atr

 

What puzzles me is the mess with the firmware / software, I see three github repositories with the sources, all by kbr, and at least three pages where different versions of the firmware can be found:

 

http://www.kbrnet.de/projekte/sdrive-max/index.html

http://www.kbrnet.de/projekte/sdrive-ng/index.html

https://ataribits.weebly.com/sdrive.html

 

with absolutely un-intuitive version numbers and waaay too many different packages.

 

To be a bit more direct, my questions are:

 

- which is the main / master / canonical source repository with the firmware?

- is it up-to-date? (in the sense that the source there matches the binary releases on certain web-sites, or are some binary releases "proprietary"?)

- if it is, where are, for example, the sources for mytek's developments / sdrive-simple? 

 

The source of my question is: I want to build / assemble one, not sure which one yet (for example, I'd go directly for mytek's simple stuff, if not for the lack of drive swap / rotate button of any kind), but firmware wise I'd really prefer to compile and install from the source (possibly adapting it to my own needs, for example, hack it up for the said button) rather than to have to guess which binary version I need and which particular features it would have and which I'd miss, if you see my point...

 

So, someone, please give me a short lecture on this...

 

Edited by woj
Link to comment
Share on other sites

2 hours ago, woj said:

The source of my question is: I want to build / assemble one, not sure which one yet (for example, I'd go directly for mytek's simple stuff, if not for the lack of drive swap / rotate button of any kind), but firmware wise I'd really prefer to compile and install from the source (possibly adapting it to my own needs, for example, hack it up for the said button) rather than to have to guess which binary version I need and which particular features it would have and which I'd miss, if you see my point...

Well if what you are after is to have Swap and Rotate, then the SDrive-Simple hardware is not for you. So you would either want the SDrive-ng or the SDrive-Max (the original SDrive would also work, but it was limited to FAT16 and only 2GB SD cards).

 

As for your other questions regarding sources, I will bow out of the discussion and let someone more in the know answer that.

 

For those who are actually content with not having the Swap, Rotate, lack of ATX and Tape abilities, the SDrive-Simple would likely work great for you as is. So to get the appropriate firmware that this requires go to: https://ataribits.weebly.com/sdrive.html

Link to comment
Share on other sites

21 minutes ago, mytek said:

Well if what you are after is to have Swap and Rotate, then the SDrive-Simple hardware is not for you. So you would either want the SDrive-ng or the SDrive-Max (the original SDrive would also work, but it was limited to FAT16 and only 2GB SD cards).

 

As for your other questions regarding sources, I will bow out of the discussion and let someone more in the know answer that.

 

For those who are actually content with not having the Swap, Rotate, lack of ATX and Tape abilities, the SDrive-Simple would likely work great for you as is. So to get the appropriate firmware that this requires go to: https://ataribits.weebly.com/sdrive.html

But you see, if it would be clear which source the firmware for your stuff is or where to find it, then it would be no problem for me to (privately) hack both the firmware and the board design (or just wire jump it here and there) to have the button for rotate (that's all I really need on top of your (great I should add!) design). But instead I am sort of facing the challenge of choosing a ready product, which I find weird considering that all this is open and free. 

 

I can of course go through the complete source of sdrive-max on github (which I believe is the active and most up to date one) and figure out if/how it would work with sdrive-simple and adapt accordingly, but that would be repeating the work that has already been done (by you I guess?).

Link to comment
Share on other sites

1 hour ago, woj said:

But you see, if it would be clear which source the firmware for your stuff is or where to find it, then it would be no problem for me to (privately) hack both the firmware and the board design (or just wire jump it here and there) to have the button for rotate (that's all I really need on top of your (great I should add!) design). But instead I am sort of facing the challenge of choosing a ready product, which I find weird considering that all this is open and free.

If you check the very first page on this topic, you would see that I used firmware version 1.3 of the SDrive-Max as the basis for this project, and simply put it into a form that could be flashed to a stand-alone ATMEGA328P chip using a TL866-II Plus programmer, or some other AVR programmer. I never used the source files to do this. And as far as where I got the firmware from, it was from Github, but I don't recall the link (it's been a year since I did this). In essence the SDrive-Simple is an SDrive-Max without the touch screen display, and directly uses the ATMEGA328P same as what would be on the SDrive-Max's UNO board, as well as the exact same firmware. All the same I/O functionality is present, although I obviously only used a portion of it for my board.

 

The way I got the firmware in the form that I could use for directly programming the ATMEG328P, was by downloading it via the ICSP header on the UNO board from a working SDrive-Max. Prior to doing that I first deactivated the ScreenSaver feature in the Max via the config menu. This was done so that my copy of the firmware would not have an active ScreenSaver which was causing wake up problems with missed data and/or errors when saving to the SD card. If you read through this entire topic, you will see the evolution of this project, and all that went into making it to the final version (SDrive-Simple-II).

 

I really can't get much more specific than that, because my memory has faded since I did this project, and I have quite a few other projects that came afterwards, all competing for my attention.

  • Thanks 1
Link to comment
Share on other sites

I really appreciate all the help, and I know I will figure out the versioning mess in the end. Yet, the github repository last realease / version is named 1.2 and it is from April 2020. Anything that could be matched against 1.3 is listed on sdrive-ng site, that one is updated last in 2017 it seems and it also mentions versions 1.4 and 1.5. I hope you can understand my total confusion 😕 The only thing I can now assume is that 1.3 is simply the version referring to the current repo version.

 

EDIT: All right, got it, 1.3 is actually another branch on the git repository, now it all starts to fall into place.

Edited by woj
Link to comment
Share on other sites

2 hours ago, woj said:

All right, got it, 1.3 is actually another branch on the git repository, now it all starts to fall into place.

I seem to remember that at the time I used it, it was a BETA version. So that may or may not explain it being in a different branch ;)

Link to comment
Share on other sites

Sorry for the confusion, but i'm using a little bit other development strategy: I do all newer changes in an other (beta) branch, so that the master branch is always holding the latest stable version.

 

It would be time to release 1.3, but there is a missing goal feature right now, and the flash memory is exhausted. So i'm thinking a lot about optimization or things that could be removed, and finally i got stalled...

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

5 hours ago, kbr said:

It would be time to release 1.3, but there is a missing goal feature right now, and the flash memory is exhausted. So i'm thinking a lot about optimization or things that could be removed, and finally i got stalled...

Just curious what that "missing goal" is?

 

BTW, I have an SDrive-Simple-II on 4 different machines, and an SDrive-Max that floats between them, all with the BETA V1.3 firmware on board, and they all work perfectly. Great job 👍

Link to comment
Share on other sites

@kbr I also wonder what the missing feature is. The only thing that comes to mind on my end is motor control connection and functionality for multistage tapes... I just finished browsing the source code, I am full of respect, simply because I have no idea how you manage to have all this under control ;) My only criticism would be that I really do not like software that compiles with warnings (even though it is only a handful), there is a way to disable them temporarily for the pieces of code that the compiler is not sure about while you are ;) 

 

@mytek So the only diff point of the firmware for Sdrive-Simple-II is the disabled screensaver, is this correct? That can be also easily done by patching the source, also when you compile / build it from source you get the binary files in all possible shapes and forms to directly flash onto ATMega I believe...

 

Myself I decided to go for the full version, the reason I was considering the headless variant was some problems sourcing the right TFT shield, but now I solved that problem and I really wanted to have the full colorful thing :D 

Link to comment
Share on other sites

Yes, i am thinking about a motor control also, but this is nothing what you can use without a display, for this project here.

 

I don't have all under control, there are many relics from Bob & Raster(👏many thanks to the prime fathers of this project at this point 👏), which i don't understand fully.

The compiler warnings disturb me also, but i am only a hobby coder, and have not so deep experience. So many thanks for your hints, i will have a look on it by time!

 

BTW: I have released a new beta yesterday, it would be nice, if someone could testing: https://github.com/kbr-net/sdrive-max/releases/tag/v13b2

Especially with bigger images, which needs the use of PERCOM, and ATX support.

Edited by kbr
  • Like 1
  • Thanks 2
Link to comment
Share on other sites

  • 4 months later...
  • 5 months later...

@kbr I'm working on a new project that will incorporate the SDrive functionality into an All-in-One board for the 576NUC+. One aspect of this new board is based upon the SDrive-Max firmware (V1.3) and ATMEGA328 chip without the touch screen display. And I was wondering if there would be a way to add a physical 'rotate' disk button without the touch screen?

 

I was thinking perhaps if there is an unused input pin that could be used, a snippet of new code in the firmware could read a push button going to ground to advance to the next drive in the list. Preferably it really should be an extra pin that even the full Sdrive-Max with the touch screen wouldn't require, so as to eliminate the need for independent versions of the firmware.

 

Here's my circuit.

 

Depreciated and Removed

 

In my new design I was able to add a bit of extra functionality via a simple bit of extra hardware to detect, indicate, and reset the ATMEGA chip when an SD Card change was made.

Operation: A few seconds after the SD Card change the RED LED will be solidly lit, and if the reset key (F5 on 576NUC+) is pressed, it will relaunch the sdrive.atr menu program showing the new drive directory. The HCT4053 is simply acting as an inverter with an open drain output, and was a left over unused gate which I had from another circuit.

 

Link to comment
Share on other sites

Few months back I had the idea to take your regular simple sd-drive max and extend it with the rotate button, for me a necessary feature to justify cutting the case ;) At that point I looked into firmware sources hoping it would be a 5 minute job to add a disk rotate button  (BTW I think there should be defo a free pin on ATMega for that, but I can't remener if I actually checked), but it did not seem to be the case, I mean I would have to really dive deeper into the code, IIRC some non trivial amount of data has to be moved between arrays, and some SIO things have to be done too (or so I understood). It's definitely not beyond my capabilities, but I just could not justify investing the time back then.

  • Like 1
Link to comment
Share on other sites

20 minutes ago, woj said:

I would have to really dive deeper into the code, IIRC some non trivial amount of data has to be moved between arrays, and some SIO things have to be done too (or so I understood). It's definitely not beyond my capabilities, but I just could not justify investing the time back then.

I understand. Thanks for at least considering to do it one time :)

Link to comment
Share on other sites

I just wanted to add that when I said 'rotate', what I'm really after is being able to load up to 4 disk images, and then when prompted by a multi-disk game be able to sequentially step through each disk 1-2-3-4 for each time the button is pressed. Pressing reset should reset back to disk 1.

 

I know there is a rotate button in the SDrive-Max's CFG screen, but I don't believe that is at all the same as what I am looking for. In fact I'm not sure what that particular selection even does?

Link to comment
Share on other sites

Just use the sdrive-ng, it has a drive rotate button(LEFT/RIGHT) already.

 

Well, there are some missing features like ATX support, but a better SIO highspeed capability because of the 14.318MHz crystal.

If i am lucky, i could try to backport some new features from the sdrive-max, if really needed.

 

PS: Better use this never version, if you really plan to build it.

Edited by kbr
  • Like 1
Link to comment
Share on other sites

4 hours ago, kbr said:

Just use the sdrive-ng, it has a drive rotate button(LEFT/RIGHT) already.

That does make better sense. I'll just need to double check pin outs and fix where needed, plus change the crystal frequency. I don't have room for both direction buttons, so I'll just use right rotation only which should work fine.

 

4 hours ago, kbr said:

Well, there are some missing features like ATX support, but a better SIO highspeed capability because of the 14.318MHz crystal.

If i am lucky, i could try to backport some new features from the sdrive-max, if really needed.

I don't think back porting would be necessary for what I'm after. But thanks for offering.

 

4 hours ago, kbr said:

PS: Better use this never version, if you really plan to build it.

Thanks will do :thumbsup:

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