Jump to content
IGNORED

SDrive-MAX ATX support


Farb

Recommended Posts

33 minutes ago, Mr Robot said:

yes

 

...or you can compile and flash diagnostic example from that library (with Arduino IDE):

https://github.com/prenticedavid/MCUFRIEND_kbv

 

it's LCD_ID_readreg.ino

 

https://github.com/prenticedavid/MCUFRIEND_kbv/tree/master/examples/LCD_ID_readreg

 

I think (if there's still some free space available in the UNO) that should be in the firmware as a feature.

 

 

 

 

Link to comment
Share on other sites

8 hours ago, bazza666 said:

where can I get the UNO2SIO boards from?

If you send me a SASE, I will send you one for free (well, the cost of the envelope and a stamp).  If you are out of the states, you can either send an International Reply Coupon or somehow get me USPS postage for a later to your address.

 

The Brewing Academy

15 Court St

Woodland, CA 95695

 

This is JUST for a blank UNO2SIO board, you have to put it together.

  • Like 3
Link to comment
Share on other sites

3 hours ago, ijor said:

Firmware upgrade:

 

I am trying to upgrade the firmware but I don't know which LCD controller I have (I didn't build it). Is there anyway to know which firmware variant was flashed before? Or should I just try to reflash the firmware for every controller one by one, until one that works?

 

Probably I am missing something here: Last version is supposed to have autodetection? Then why there are still multiple versions for each LCD controller?

 

Thanks,

If anyone buys an assembled unit from me, it will be an ili9341 if it has no indication of model.  If it is anything but that, I will have noted it in the backside of the UNO where I date and sign it.

  • Like 2
Link to comment
Share on other sites

1 hour ago, _The Doctor__ said:

Please bore us with details, it may help someone... warts and all.

 

Ok, if you insist :)

 

First problem was to install the arduino USB driver that is required to flash the device over USB. Note that I never do that kind of stuff in my main machine. I used a system running Windows 7. I downloaded Xloader from this page: https://atari8bit.net/de-re-sdrive-max because it was supposed to automate the whole process installing the drivers among other things.

 

Well, it didn't install any drivers. So as recommended on other pages I downloaded the whole Arduino IDE which is supposed to have drivers for every type of Arduino, or so I thought. I didn't install the IDE, I just unzipped it and pointed Windows to search for a driver in the Arduino folder, but it couldn't find anyone matching the Sdrive-Max. So I decided to went along and actually install the Arduino IDE and let it install every driver it asked me during the process. I would never do something like that in my main machine, of course. Even then, after full install and reboot, the Sdrive-Max was still unrecognized by Windows.

 

It was at this point that I checked the properties of the USB device and looked up the USB VID/PID (the USB device ID) and performed some research. It turns out that the USB interface in my Arduino is made by some obscure Chinese manufacturer. Windows 10 can automatically detect the device and install the corresponding driver, but for some reason Windows 7 doesn’t and can’t even find any driver online. Seems the only way is to download the driver manually from some Chinese web page. And of course that it took some time to find out all of this. So I had to browse and navigate a web page in Chinese only, guess what file I need to download, and more important, guess which one is the right button to initiate the download. I hoped that the Chinese text I clicked meant “download” and not something like "Yes, I agree to participate in some kind of coronavirus trial" :)  Finally I had the right driver installed and Windows could recognize the Max and I could use Xloader to flash the new firmware.

 

But as I said before, I didn’t know which LCD controller I have and then didn't know which version of the firmware to install. As hinted by The Doctor, indeed the Max flashes the current LCD controller for a fraction of a second at boot time. I seemed to read ILI9340 (guess I’m getting older ...) and tried to flash that version. The firmware upgrade worked, at least apparently as I could calibrate the touch and the Max booted the new firmware ok. So I thought that I flashed the correct version. But then when inserting the card and trying to actually use it, it didn’t work well. I thought the problem might be something particular to the latest version not being fully stable. So I downgraded to an older version, but now even the touch calibration wouldn’t even work.

 

It was only at this point that I realized I might have flashed the version with the wrong controller. It didn't occur to me before, because I thought that in that case it wouldn't work at all and it would show nothing on the LCD. I guess that the reason that the latest version worked partially, even when using the wrong controller, it's because it has some kind of auto detection? Lastly I flashed the last version with the ILI9341, as it seems that is the most common LCD controller, and it also turned out that this was the one I actually have. And then, a couple of hours later and a handful of flash erase cycles wasted, my Max is finally happy :)

 

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

This works PERFECTLY under XP32. I have yet to get good Android or Fire Stick drivers working on Win 7.

Yuck.

Stick with what WORKS. (And they can't spy upon). XP32 is the SAFEST OS to run... Don't believe me? History will prove me correct. Wanna bet?

Win 7-10 is (or can be) infiltrated by evil Bill Gates M$ $pyware.

This goes MUCH deeper than anyone can imagine.

Prove me wrong. I DARE ANYONE to PROVE me wrong.

 

BTW, if I get blocked, then it means I am over the target.

:)

  • Like 1
Link to comment
Share on other sites

I thought I posted this before, but perhaps not.  In Windows 10, the easymode to build and flash the sdrive-max code is to install WSL/Ubuntu (or use native linux if that's your thing)

 

Then it's pretty much just this inside WSL/Ubuntu.  ttyS3 refers to COM3: change as required for your setup.  Substitute whatever your screen type is for atmega328-ili9341.

 

sudo apt update
sudo apt upgrade
sudo apt install build-essential git binutils gcc-avr avr-libc uisp avrdude flex byacc bison
git clone https://github.com/kbr-net/sdrive-max
cd sdrive-max
make

cd atmega328-ili9341
sudo chmod 666 /dev/ttyS3
avrdude -carduino -pm328p -P /dev/ttyS3 -U flash:w:eeprom_writer.hex
avrdude -carduino -pm328p -P /dev/ttyS3 -U flash:w:SDrive.hex

 

To download and build the xa cross compiler (needed for Atari 8 bit executable generation):

 

curl -o xa-2.3.11.tar.gz https://www.floodgap.com/retrotech/xa/dists/xa-2.3.11.tar.gz
tar -xvf xa-2.3.11.tar.gz
cd xa-2.3.11
make

 

To grab a specific branch of the sdrive-max code you can do (ex) inside the sdrive-max directory:

 

git checkout v13

 

  • Like 1
Link to comment
Share on other sites

9 hours ago, remowilliams said:

I thought I posted this before, but perhaps not.  In Windows 10, the easymode to build and flash the sdrive-max code is to install WSL/Ubuntu (or use native linux if that's your thing)

 

Useful info, thanks. But my problem was that I did it on Windows 7 that doesn't have the USB driver. Otherwise it wouldn't have been much of a problem. Actually Xloader from the link I posted above it does work quite well and makes the whole process very simple and quick. That is assuming you do have the USB driver and you don't want to build the code yourself, just flash.

 

Btw, I forgot that I have a clone Atmel AVR programmer that I bought a few years ago but I never used it. Guess I could use it to flash the AtMega directly bypassing the USB altogether. Not sure it is really worth except to test the programmer :)

Edited by ijor
Link to comment
Share on other sites

Just now, ijor said:

Btw, I forgot that I have a clone Atmel AVR programmer that I bought a few years ago but I never used it. Guess I could use it to flash the AtMega directly bypassing the USB altogether.

Don’t think that is going to work. When I started trying to make these, thought I could just use the header and flash it that way. It appears to work, but won’t see the SD correctly. I had to reflash via the USB

  • Like 1
Link to comment
Share on other sites

10 minutes ago, MacRorie said:

Don’t think that is going to work. When I started trying to make these, thought I could just use the header and flash it that way. It appears to work, but won’t see the SD correctly. I had to reflash via the USB

Interesting. Did you research why it didn't work? May be something to do with the eeprom writer?

Link to comment
Share on other sites

  • 2 weeks later...

Touch screen controller technical info:

 

Anybody has any technical info and datasheet for the analog touchscreen interface controller? I can find plenty of data for the LCD controller, but barely anything at all about the touch analog interface.

 

Thanks

Edited by ijor
Link to comment
Share on other sites

  • 3 weeks later...

Hey guys! Brand new to the forum and a long time Atari user since childhood.  Been wanting to build an sdrive max for sometime now.  Purchased a DIP style arduino with screen flashed it and its now running and ready to wire up and have a question regarding wiring for power and future firmware updates. 

 

I understand that u can put in a spdt switch to facilitate firmware updates so there's no need to reseat the #2 pin on the chip. Also I have seen another switch that can be used to switch between sio power and barrel/USB power, but I have only seen diagrams of that with the other style arduino that needs the sio2uno board.  Is there a way to wire that up with the dip style arduino? Or shall I just not wire 5v from sio and use external power? I want to install a switch for future firmware anyways. Just looking to cover all bases... 

 

Thanks in advance for all your advice... ?

Link to comment
Share on other sites

Hello to all atari users,

 

 

I have without the sio fixer. My question is i see that sio out to rx and sio in to tx same as sio2pc but why must rx chaned tx sio2 1050 can this work with sdrive max to when its connect to 1 1050 and 1050 to atari.

And why must there a buffer chip with 2 ristors? Is there a easy way to solve the problem.

 

 

Gr.

Marco

Link to comment
Share on other sites

if externally powered (not from SIO) and no other device is connected SIO2-1050 mode would more than likely work even without modification...You would still need to rename sd card atr's from being called new.atr to whatever the name is ...  just make extra steps, just as easy to put the sd card in your wintel/lintel x86 x64 box and copy the files to the sd card...

Link to comment
Share on other sites

15 hours ago, _The Doctor__ said:

if externally powered (not from SIO) and no other device is connected SIO2-1050 mode would more than likely work even without modification...You would still need to rename sd card atr's from being called new.atr to whatever the name is ...  just make extra steps, just as easy to put the sd card in your wintel/lintel x86 x64 box and copy the files to the sd card...

Thanks for the info.

Link to comment
Share on other sites

  • 2 months later...
  • 2 weeks later...

Good evening all,

I have a wiring question that I can't seem to find an answer to on this board.  I got all the pieces to make the SDriveMax and it is running version 1.1 at the moment.  My question is: I installed the UNO2SIO daughter board and this question is about the external power switch pads.  SIO/SW.  Leave unattached and only power from external power, connect via a switch then one has a choice between external power or power supplied by the Atari computer BUT DO NOT RUN BOTH at the same time!  So with the switch attached (SPST toggle) the red LED power light lights up (added) and the unit runs as expected.  When I toggle the switch, the power light still stays on and the screen runs like normal so it is still getting power externally.  I thought the switch killed external power but it doesn't.  My fear is that when I attach to my Atari then BOTH power sources will be running into the Arduino and brick it.  What does the switch do besides nothing?  Perhaps I have it wired incorrectly.  Any help would be most appreciated.

Link to comment
Share on other sites

The switch cuts pin 10 of the sio connector (+5v) so there is no way for the power sources to conflict. 
 

you can power the sdrive from usb, sio or the power jack. So even if the switch is set to disconnect the sio but you are plugged into usb you are still getting power

 

Link to comment
Share on other sites

Hi all,

I have soldered the UNO2SIO board onto my Arduino board and when I power up with an external 9v power supply everything works just dandy.  The problem I'm experiencing is that I get NO power from my Atari Computer so the Arduino doesn't turn on.  As printed in the UNO2SIO board numbers 3,4,5,7,10; #4 is ground & #10 is 5v.  When powered externally with a power supply, and working, I placed my volt/ohm meter to pins 4 & 10 thinking I'd see 5vDC.  I get nothing which explains why my Atari Computer won't/can't power my SDrive Max.  Anyone else experience this same problem?

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