Jump to content
IGNORED

Atari 1050 Turbo Module Test FAIL


marquisor

Recommended Posts

hello

 

i'm fixing my 1050 turbo modded drive. it did not always bootup, now i'm at step 46 in this german! manual, page 8

 

translation: it says i shall insert SD diskette into drive, close lever, press option to get into maintenance menu. all fine, if i press start it jumps back to earlier (backup) menu. if i don't close lever i get following screenshot:

 

800xl026ywi9.jpg

 

well the chapter 8 in manual says, if always FAIL displayed the module would be broken. what exactly is broken? do i have to cut a trace because i got a ROM/EPROM version floppy, would that fix anything?! of course i checked the jumper config, i got a ROM board and the turbo module is set to ROM mode. seems correct.

 

i could format SD and DD disks, as well as saving and loading files from/to disk. created a DOS 2.5 copy (H - Write DOS Files) or so. on this disk(s) i can play around in basic. even a diskmag booting works etc.... so what is broken there???

 

i'm again at my wits end :( i also had issues with maybe wrong contacts, followed every step from the turbo manual again to 10x check everything is right til this step.

 

part. success: now my error rate from 10/90 of "floppy bootup" changed to 90/10 success/fail... :!:

still not sooo good, but have to accept it *sigh*

 

what do you think?

 

cheers!

marquisor

Edited by marquisor
Link to comment
Share on other sites

Hello marquisor

 

Why don't you post this question on the ABBUC website. http://www.abbuc.de ?

 

AFAIK the Turbo upgrade was mostly sold in and around Germany and there are quite a few hardware developers on the ABBUC forum.

 

sincerely

 

Mathy (ABBUC member since 1990, but no hardware guru)

Edited by Mathy
Link to comment
Share on other sites

...

what do you think?

 

I wouldn't wonder if it's broken. I had two of them back then and both 'died' after one year without any special reason.

 

 

Sounds not good! Really... So what could it be? Turbo 1050 II Module related? Or something on Floppy 1050 itself? Or are they more sturdy..

The drive boots fast, reads, writes etc. But 1050-2-PC interface won't work, dunno if it's because of Turbo?! And the Maintenance Box II does not work, can't adjust RPM etc...

Link to comment
Share on other sites

  • 1 year later...

No, this extension is different than Happy, no Ultra Speed, no track buffering, it is made by Bernhard Engl in Germany. 1050 Turbo is sometimes called as Top Drive (maybe there are another differences when this name is used, like no Centronics interface, but I am not sure), this Turbo protocol is used by TOMS extensions and Drives too, and even by SIO2SD lately.

And is defined in AtariSIO, so I am interested if I should try get Linux machine to try to use it. I did not see any post about using set like this.

Link to comment
Share on other sites

Maybe part of the upgrade is an RPM increase.

Not increase, decrease :)

 

The 1050 Turbo connects a wire to the RPM adjustment circuit in the 1050 and allows you to switch between 288 RPM and ~269 RPM.

 

The first version of the 1050 Turbo (which was buried inside a block of epoxy) had another small pot, on the microhook connecting to the RPM circuit, to fine-tune the 269 RPM setting.

 

The second version, using a GAL and not being buried in epoxy, doesn't have this additional pot but uses a precision resistor instead.

 

I'd say checking this RPM-adjustment connection would be a good start (and also try pressing SELECT, IIRC, to switch between 288 and 269 RPM and see what happens).

 

BTW: the schematics of both versions are available in cas' Infothek, too

http://www.strotmann.de/~cas/Infothek/1050Turbo/tech-doc_1050_turbo_1.pdf

http://www.strotmann.de/~cas/Infothek/1050Turbo/tech-doc_1050_turbo_2.pdf

 

so long,

 

Hias

  • Like 1
Link to comment
Share on other sites

Has anybody got working 1050 Turbo with 1050-2-PC with ProSystem from Atarimax or AtariSIO from HiassofT?

In standard or Turbo mode?

Yes, I've got it working, both in standard and in Turbo mode :)

 

For Turbo mode you need a 16C950 based serial card, though, (ideally one allowing for up to 921600 bit/sec, haven't fine-tuned the speed settings for 460800 bit/sec cards yet) as the 16550 cards can't be configured to match the higher POKEY bitrates.

 

so long,

 

Hias

Link to comment
Share on other sites

Is the disk speed correct? I thought the 1050 supposed to spin at 288 rpm.

 

Well it is not, 288 RPM would be right.

 

My REAL RPM might be correct as it boots and loads in 90% of cases. But the shown value sure is wrong. Why? Dunno yet.

 

 

If you don't close the lever you will get a large RPM number because it really isn't reading anything.

 

Translated:

44) Levers open and close. With reasoning the engine must start, the head must a small piece inward and again outward quilt. After approximately 5s must stop the engine again, otherwise error tracing. [Karl: Assuming power to the drive is on, closing the door will make the motor spin and the heads move inward and outward]

 

(45) Levers open and computers on switch. Menu must appear, otherwise error tracing. [Karl: open the door, power on the computer, a menu shows up]

 

(45) OPTION briefly press. The utilities must be loaded, otherwise error tracing. [Karl: press option to bring up utilities]

 

46) Insert single Density disk, close levers. With OPTION „ „the MAINTENANCE BOX “ “select, START press. The engine must start and per second have to do approx. two number of revolutions measurements to take place. About 288 RPM would be normal. If the measurement does not function, ERROR appears or roughly deviating values (more as 300 UPM or less than 100 UPM) to be indicated, to the error tracing. The module test must result in PASS, if it results in FAIL, to chapter 8. [Karl: insert a single density disk (I hope you formatted that elsewhere), close the door, wait a moment, then press start. It should do a test of the drive speed]

 

Edit: actually, after translating a bit more of this, it seems this entire section is to adjust the POT for a different RPM value (I'm assuming to be able to write more sectors per track, ala 1050 Duplicator)

 

47) With SELECT try to switch the number of revolutions. If that is not possible, to the error tracing. Depending upon attitude of the potentiometer on the Microhook the speed measurement can fail after the change-over because of to low attitude and result in ERROR. In this case the MAINTENANCE BOX again start and a potentiometer position find, which permits a speed measurement after the change-over.

 

(48) With OPTION abandoned, again it selects the MAINTENANCE BOX and starts again around safe sets that the normal number of revolutions is switched on. Atari specifies 288 UPM, is permitted between 286 and 291 UPM. Stop number of revolutions (fluctuations einge closed) for optimal function of the BACKUP MACHINE between 287.5 and 289 UPM. The trimmer is appropriate approx. for 3 cm beside the construction unit, at which the Mikrohook is attached (see with step 37). If the adjusting screw with lacquer is sealed, the lacquer CAREFUL with the tweezers zerkrümeln, until the screw can be rotated.

 

(49) Switch to the lower number of revolutions and with the potentiometer at the Microhook on scarce under 270 UPM adjust. The number of revolutions may never vary over 270 UPM, permitted is 268 to 270 UPM.

 

(50) Normaldrehzah1 switch. It must lie still in the before adjusted range, otherwise to the error tracing.

 

(51) Computers switch off, disk take and station off switch. Housing upper part touch down (case this the drive assembly does not fit exactly set on the pins not correctly). Snap connection by pressing the front part in slightly close.

 

(52) Station hold together, turn and the six screws in again screw. Thus the installation and test 1050 TURBO of the module are final. All sources of error offering by the installation of the module are likewise checked throughly. NOTE: If those floppy ones at expiration of the warranty term defectively will or must be placed behind, a precautionary development 1050 TURBO of the module is not necessary, because up to „ „the Factory MFM Burn in test “ “ everything Service functions that „ „Atari 1050 DIAGNOSTIC disk “ “ are implemented

 

 

 

Basically, what I'm gathering is that if you power on the computer with the drive door open you get a menu. You then press option which brings up the utilities menu. Put in a single density disk, close the door and press start to measure RPM. This is the point where you say it goes back to the main menu? Was there a noise from the Audio line on the Atari during that or did it just quietly go back to the previous menu? If there was a noise and went back, my guess is that its having a problem reading the disk (either not formatted correctly on another drive or the speed pot is way off)

Edited by kheller2
Link to comment
Share on other sites

  • 2 weeks later...

Hias, or maybe someone else - have you tried to use ProSystem from Atarimax with Turbo 1050 drive? Is it working? Of course not in turbo mode, but if it is just seen by ProSystem.

No, I haven't tried using the ProSystem software yet, and also not the SIO2PC/1050-2-PC/ProSystem interface from AtariMax. The only AtariMax hardware I own are an older 8MBit flashcart, a MyIDE+flash cart and the USB cart. My SIO2PC and 1050-2-PC/ProSystem interfaces are all homebrew stuff.

 

so long,

 

Hias

Link to comment
Share on other sites

Hias, I did some tests, could it be better?

 

I build 1050-2-PC interface based on 1489 IC. But I only have 16550A UART.

I have two CA2001 drives.

Both works with standard firmware in Normal Speed.

But the first is also Turbo capable (Toms Turbo Drive), and after switching to this mode it is not working. Even in standard. The same effect is in Atarimax ProSystem. But of course it is working OK with real 65XE computer.

I have effects trying to use atarixfer like this down here.

 

Is it possible to get higher speed with these drives? Or it is just UART limitation?

 

Synchromesh transmission is not available?

 

lemiel@hamada:~/atari/AtariSIO/atarisio-110528/tools$ sudo atarixfer -r image1a.atr -1 -S -d

atarixfer 0.30-110528

© 2002-2011 by Matthias Reichl <hias@horus.com>

 

activated realtime scheduling

mlockall(2) succeeded

checking highspeed capability

no highspeed drive detected, using standard speed

get percom block ... failed [atari error 138]

get status ... failed [atari error 138]

cannot determine density!

 

and dmesg:

[ 881.514237] atarisio0: setting baudrate 19200 (requested: 19200), divisor 6

[ 881.517016] atarisio0: SIO: device=0x31 unit=0x01 cmd=0x3f aux1=0x7d aux2=0x3a dir=0x40 timeout=1 datalen=1 highspeed=0

[ 881.592517] atarisio0: timeout in wait_receive [wanted 1 got 0 time 18]

[ 881.667149] atarisio0: timeout in wait_receive [wanted 1 got 0 time 17]

**** and 24 times more this last line ****

[ 883.392114] atarisio0: SIO error: -1138

[ 883.392145] atarisio0: SIO: device=0x31 unit=0x01 cmd=0x53 aux1=0x00 aux2=0x00 dir=0x40 timeout=7 datalen=4 highspeed=4

[ 883.395694] atarisio0: setting baudrate 57600 (requested: 68266), divisor 2

[ 883.464009] atarisio0: timeout in wait_receive [wanted 1 got 0 time 17]

[ 883.464115] atarisio0: setting baudrate 19200 (requested: 19200), divisor 6

[ 883.467658] atarisio0: setting baudrate 57600 (requested: 68266), divisor 2

[ 883.536012] atarisio0: timeout in wait_receive [wanted 1 got 0 time 17]

**** and 24 times more these 3 last lines ****

[ 885.264120] atarisio0: SIO error: -1138

[ 885.264135] atarisio0: SIO: device=0x31 unit=0x01 cmd=0x48 aux1=0x20 aux2=0x00 dir=0x00 timeout=1 datalen=0 highspeed=0

[ 885.264143] atarisio0: setting baudrate 19200 (requested: 19200), divisor 6

[ 885.336009] atarisio0: timeout in wait_receive [wanted 1 got 0 time 17]

**** and 25 times more this last line *****

[ 887.136114] atarisio0: SIO error: -1138

[ 887.136132] atarisio0: SIO: device=0x31 unit=0x01 cmd=0x53 aux1=0x00 aux2=0x00 dir=0x40 timeout=7 datalen=4 highspeed=3

[ 887.208027] atarisio0: timeout in wait_receive [wanted 1 got 0 time 17]

[ 887.208037] atarisio0: setting baudrate 38400 (requested: 38400), divisor 3

[ 887.208148] atarisio0: setting baudrate 19200 (requested: 19200), divisor 6

[ 887.280011] atarisio0: timeout in wait_receive [wanted 1 got 0 time 17]

**** repeated again these 3 lines ****

[ 889.008139] atarisio0: SIO error: -1138

[ 889.008188] atarisio0: SIO: device=0x31 unit=0x01 cmd=0x4e aux1=0x00 aux2=0x00 dir=0x40 timeout=7 datalen=12 highspeed=0

[ 889.008196] atarisio0: setting baudrate 19200 (requested: 19200), divisor 6

[ 889.088339] atarisio0: timeout in wait_receive [wanted 1 got 0 time 19]

[ 889.160024] atarisio0: timeout in wait_receive [wanted 1 got 0 time 17]

**** repeated again this last line ****

[ 890.888116] atarisio0: SIO error: -1138

[ 890.888163] atarisio0: SIO: device=0x31 unit=0x01 cmd=0x53 aux1=0x00 aux2=0x00 dir=0x40 timeout=7 datalen=4 highspeed=0

[ 890.967914] atarisio0: timeout in wait_receive [wanted 1 got 0 time 18]

[ 891.040019] atarisio0: timeout in wait_receive [wanted 1 got 0 time 17]

**** repeated again this last line ****

[ 892.768114] atarisio0: SIO error: -1138

 

 

lemiel@hamada:~/atari/AtariSIO/atarisio-110528/tools$ sudo atarixfer -r image1a.atr -1 -d

atarixfer 0.30-110528

© 2002-2011 by Matthias Reichl <hias@horus.com>

 

activated realtime scheduling

mlockall(2) succeeded

get percom block ... failed [atari error 138]

get status ... failed [atari error 138]

cannot determine density!

 

and dmesg:

 

[ 1377.648420] atarisio0: setting baudrate 19200 (requested: 19200), divisor 6

[ 1377.651111] atarisio0: SIO: device=0x31 unit=0x01 cmd=0x4e aux1=0x00 aux2=0x00 dir=0x40 timeout=7 datalen=12 highspeed=0

[ 1377.721999] atarisio0: timeout in wait_receive [wanted 1 got 0 time 17]

[ 1377.801003] atarisio0: timeout in wait_receive [wanted 1 got 0 time 19]

[ 1377.872029] atarisio0: timeout in wait_receive [wanted 1 got 0 time 17]

**** repeated again this last line ****

[ 1379.528172] atarisio0: SIO error: -1138

[ 1379.528235] atarisio0: SIO: device=0x31 unit=0x01 cmd=0x53 aux1=0x00 aux2=0x00 dir=0x40 timeout=7 datalen=4 highspeed=0

[ 1379.609959] atarisio0: timeout in wait_receive [wanted 1 got 0 time 19]

[ 1379.680037] atarisio0: timeout in wait_receive [wanted 1 got 0 time 17]

**** repeated again this last line ****

[ 1381.408145] atarisio0: SIO error: -1138

 

 

 

 

Second one CA drive, Turbo, US and Happy capable mode (Tygrys Turbo enhacement):

First run::

lemiel@hamada:~/atari/AtariSIO/atarisio-110528/tools$ sudo atarixfer -r image1b.atr -1 -S -d

atarixfer 0.30-110528

© 2002-2011 by Matthias Reichl <hias@horus.com>

 

activated realtime scheduling

mlockall(2) succeeded

checking highspeed capability

detected ultra speed drive: pokey divisor 10 (52150 baud)

possibly Happy 1050: enabling fast writes

Happy command $48 (AUX=$20) succeeded

warning: UART doesn't support 52150 baud, using 57600 instead

get percom block ... failed [atari error 138]

get status ... failed [atari error 138]

cannot determine density!

 

and dmesg:

 

[ 2313.334347] atarisio0: setting baudrate 19200 (requested: 19200), divisor 6

[ 2313.337030] atarisio0: SIO: device=0x31 unit=0x01 cmd=0x3f aux1=0x7d aux2=0x46 dir=0x40 timeout=1 datalen=1 highspeed=0

[ 2313.344154] atarisio0: SIO: device=0x31 unit=0x01 cmd=0x48 aux1=0x20 aux2=0x00 dir=0x00 timeout=7 datalen=0 highspeed=0

[ 2313.417336] atarisio0: timeout in wait_receive [wanted 1 got 0 time 17]

[ 2313.423371] atarisio0: setting baudrate 57600 (requested: 52150), divisor 2

[ 2313.423386] atarisio0: setting baudrate 19200 (requested: 19200), divisor 6

[ 2313.423421] atarisio0: SIO: device=0x31 unit=0x01 cmd=0x4e aux1=0x00 aux2=0x00 dir=0x40 timeout=7 datalen=12 highspeed=1

[ 2313.423429] atarisio0: setting baudrate 57600 (requested: 52150), divisor 2

[ 2313.494391] atarisio0: timeout in wait_receive [wanted 1 got 0 time 17]

**** repeated again this last line ****

[ 2315.200120] atarisio0: SIO error: -1138

[ 2315.200182] atarisio0: SIO: device=0x31 unit=0x01 cmd=0x53 aux1=0x00 aux2=0x00 dir=0x40 timeout=7 datalen=4 highspeed=1

[ 2315.279764] atarisio0: timeout in wait_receive [wanted 1 got 0 time 19]

[ 2315.348019] atarisio0: timeout in wait_receive [wanted 1 got 0 time 17]

**** repeated again this last line ****

[ 2316.980140] atarisio0: SIO error: -1138

 

Second run:

lemiel@hamada:~/atari/AtariSIO/atarisio-110528/tools$ sudo atarixfer -r image1b.atr -1 -d

atarixfer 0.30-110528

© 2002-2011 by Matthias Reichl <hias@horus.com>

 

activated realtime scheduling

mlockall(2) succeeded

get percom block ... OK

D1: get percom block : 130k (ED)

[128 BytesPerSec, 1040 Sectors]

enhanced density disk

starting to read disk

1040

successfully created "image1b.atr" from disk

 

And after few repeats of this command I got third run:

lemiel@hamada:~/atari/AtariSIO/atarisio-110528/tools$ sudo atarixfer -r image1c.atr -1 -S -d

atarixfer 0.30-110528

© 2002-2011 by Matthias Reichl <hias@horus.com>

 

activated realtime scheduling

mlockall(2) succeeded

checking highspeed capability

detected Happy Warp Speed drive

get percom block ... OK

D1: get percom block : 130k (ED)

[128 BytesPerSec, 1040 Sectors]

enhanced density disk

starting to read disk

1040

successfully created "image1c.atr" from disk

 

dmesg:

[ 2700.722318] atarisio0: setting baudrate 19200 (requested: 19200), divisor 6

[ 2700.725229] atarisio0: SIO: device=0x31 unit=0x01 cmd=0x3f aux1=0x3d aux2=0xc9 dir=0x40 timeout=1 datalen=1 highspeed=0

[ 2700.730262] atarisio0: illegal response to command frame: 0xff

**** repeated again this last line ****

[ 2700.858226] atarisio0: SIO error: -1140

[ 2700.858257] atarisio0: SIO: device=0x31 unit=0x01 cmd=0x53 aux1=0x00 aux2=0x00 dir=0x40 timeout=7 datalen=4 highspeed=4

[ 2700.861820] atarisio0: setting baudrate 57600 (requested: 68266), divisor 2

[ 2700.863033] atarisio0: illegal response to command frame: 0xa1

[ 2700.863138] atarisio0: setting baudrate 19200 (requested: 19200), divisor 6

[ 2700.866718] atarisio0: setting baudrate 57600 (requested: 68266), divisor 2

[ 2700.867936] atarisio0: illegal response to command frame: 0xa1

[ 2700.868051] atarisio0: setting baudrate 19200 (requested: 19200), divisor 6

[ 2700.871599] atarisio0: setting baudrate 57600 (requested: 68266), divisor 2

[ 2700.872834] atarisio0: illegal response to command frame: 0xe1

**** repeated again these 6 last lines ****

[ 2700.985638] atarisio0: SIO error: -1140

[ 2700.985654] atarisio0: SIO: device=0x31 unit=0x01 cmd=0x48 aux1=0x20 aux2=0x00 dir=0x00 timeout=1 datalen=0 highspeed=0

[ 2700.985661] atarisio0: setting baudrate 19200 (requested: 19200), divisor 6

[ 2700.991559] atarisio0: setting baudrate 38400 (requested: 38400), divisor 3

[ 2700.991573] atarisio0: setting baudrate 19200 (requested: 19200), divisor 6

[ 2700.991596] atarisio0: SIO: device=0x31 unit=0x01 cmd=0x4e aux1=0x00 aux2=0x00 dir=0x40 timeout=7 datalen=12 highspeed=2

[ 2701.005511] atarisio0: SIO: device=0x31 unit=0x01 cmd=0x52 aux1=0x01 aux2=0x00 dir=0x40 timeout=7 datalen=128 highspeed=2

[ 2701.010507] atarisio0: setting baudrate 38400 (requested: 38400), divisor 3

[ 2701.900531] atarisio0: SIO: device=0x31 unit=0x01 cmd=0x52 aux1=0x02 aux2=0x00 dir=0x40 timeout=7 datalen=128 highspeed=2

[ 2701.900543] atarisio0: setting baudrate 19200 (requested: 19200), divisor 6

[ 2701.905552] atarisio0: setting baudrate 38400 (requested: 38400), divisor 3

<cut>

Link to comment
Share on other sites

Hi!

 

I build 1050-2-PC interface based on 1489 IC. But I only have 16550A UART.

I have two CA2001 drives.

Both works with standard firmware in Normal Speed.

But the first is also Turbo capable (Toms Turbo Drive), and after switching to this mode it is not working. Even in standard. The same effect is in Atarimax ProSystem. But of course it is working OK with real 65XE computer.

This is strange, it should work with standard speed...

 

I did 2 quick tests with my 1050 Turbo, both with a 16C950 card and a 16550A card and communication in standard speed is fine.

$ atarixfer -p -r test.atr
atarixfer 0.30-110810
(c) 2002-2011 by Matthias Reichl <hias@horus.com>

get percom block ... OK
[128 BytesPerSec, 1040 Sectors]
enhanced density disk
starting to read disk
1040
successfully created "test.atr" from disk

 

I'm also using a 1489 based interface, but I have to add that I have to provide external +5V supply to the interface/drive, otherwise it doesn't work at all (the 1489 prosystem interface, drawing power from the serial port, is a terribly ugly hack...). I usually do this by having a powered-on, idling 800XL on the SIO chain (similar to what Steve suggests for using his SIO2PC/ProSystem interface), but of course any other +5V source, like from a USB port or external power supply is fine, too.

 

The drives (at least 1050 and XF551) just play dead if they don't see +5V on the +5V/Ready SIO line. Not sure about the CA2001 drive, as I don't have one, but I'd recommend checking this first, as it's quite easy to do (maybe the drive only checks the pin in Toms mode?).

 

Next thing to try: set both debug debug_irq to 3 and run another test in standard speed mode and post the logs. If it's some timing or communication problem the logs should contain some hints to it (the current logs just show that AtariSIO didn't receive any command ACK, like when there's no drive connected at all).

 

Is it possible to get higher speed with these drives? Or it is just UART limitation?

No, this is a UART limitation. With the 16550A you can only do 19200 and 38400 bit/sec to the drives, 57600 bit/sec would be possible too, but no drive supports this rate. I'd also recommend using the "-s" command line switch instead of "-S", it limits to max 38400 speeds (Happy warp and XF551 highspeed modes only).

 

Synchromesh transmission is not available?

No, I never cared about it too much. For one part, I don't have an Indus drive to test with, for the other part, the stock Syncromesh implementation in the Indus drives is broken and you need to upload some code to the drive to get it working (the well known "INDUS.SYS" driver does this, for example). I didn't have enough space in my highspeed patch for this code, so I also never implemented the syncromesh protocol (the latter would have been quite easy, it looks quite similar to the Turbo protocol). Then I also didn't care about it in AtariSIO. Newer Indus firmwares now also support the Ultraspeed protocol, which I think is the proper "fix" to these drives :)

 

so long,

 

Hias

Link to comment
Share on other sites

Mine is powered from USB - breakout board with FTDI 232RL. But, to be honest, I did not connected it - I thought that it is for powering it, not as signal... Now it is connected to SIO plug. But no positive effect. Syslog extract below.

About Synchromesh - I was asking Trub if it will be possible to add this code from newest Indus.sys to AtariSIO and ProSystem, to make it independent from programming via XL/XE machine with SpartaDOS...

 

But more important - where did you see this Ultraspeed enable firmware for Indus GT? Or maybe you think about this one for Tygrys extension?

 

About 57600 bit/sec - I do not understand - AtariSIO tries to set it up and drive do not want work?

Why not 52150?

atarisio0: setting baudrate 57600 (requested: 52150), divisor 2 - because of UART - warning: UART doesn't support 52150 baud, using 57600 instead - ?

 

So really only possible way is to buy +$30 PCI card with 16C950 compatible?

And Turbo mode (and hipotetic Synchromesh) - ~68000 bit/sec will be not available to?

(Why It do not want to work via USB...?)

 

syslog extract with debug on level 3:

[ 1929.579648] atarisio0: setting baudrate 19200 (requested: 19200), divisor 6

[ 1929.579666] atarisio0: resetting 16550 fifos

[ 1929.579726] atarisio0: ioctl 0xa800 , 0x0

[ 1929.582500] atarisio0: ioctl 0x4004a801 , 0x0

[ 1929.582526] atarisio0: ioctl 0xc004a81b , 0xbfef267c

[ 1929.582531] atarisio0: SIO: device=0x31 unit=0x01 cmd=0x4e aux1=0x00 aux2=0x00 dir=0x40 timeout=7 datalen=12 highspeed=0

[ 1929.582538] atarisio0: initiating command frame

[ 1929.583434] atarisio0: initiate_send: tx-head = 5 tx-tail = 0

[ 1929.583437] atarisio0: enabling TX-interrupt

[ 1929.583469] atarisio0: atarisio_interrupt: IIR = 0xc2 MSR = 0x00

[ 1929.583475] atarisio0: transmit char 0x31

[ 1929.583479] atarisio0: transmit char 0x4e

[ 1929.583482] atarisio0: transmit char 0x00

[ 1929.583486] atarisio0: transmit char 0x00

[ 1929.583489] atarisio0: transmit char 0x7f

[ 1929.657429] atarisio0: timeout in wait_receive [wanted 1 got 0 time 18]

[ 1929.657438] atarisio0: error waiting for command frame ACK: -1138

[ 1929.657543] atarisio0: initiating command frame

[ 1929.658438] atarisio0: initiate_send: tx-head = 10 tx-tail = 5

[ 1929.658442] atarisio0: enabling TX-interrupt

[ 1929.658462] atarisio0: atarisio_interrupt: IIR = 0xc2 MSR = 0x00

[ 1929.658468] atarisio0: transmit char 0x31

[ 1929.658472] atarisio0: transmit char 0x4e

[ 1929.658475] atarisio0: transmit char 0x00

[ 1929.658479] atarisio0: transmit char 0x00

[ 1929.658482] atarisio0: transmit char 0x7f

[ 1929.728046] atarisio0: timeout in wait_receive [wanted 1 got 0 time 17]

[ 1929.728055] atarisio0: error waiting for command frame ACK: -1138

[ 1929.728160] atarisio0: initiating command frame

[ 1929.729056] atarisio0: initiate_send: tx-head = 15 tx-tail = 10

[ 1929.729060] atarisio0: enabling TX-interrupt

[ 1929.729081] atarisio0: atarisio_interrupt: IIR = 0xc2 MSR = 0x00

[ 1929.729088] atarisio0: transmit char 0x31

[ 1929.729091] atarisio0: transmit char 0x4e

[ 1929.729095] atarisio0: transmit char 0x00

[ 1929.729099] atarisio0: transmit char 0x00

[ 1929.729102] atarisio0: transmit char 0x7f

[ 1929.800029] atarisio0: timeout in wait_receive [wanted 1 got 0 time 17]

[ 1929.800036] atarisio0: error waiting for command frame ACK: -1138

<cut>

and something other later - PERCOM?

[ 1931.456137] atarisio0: SIO error: -1138

[ 1931.456200] atarisio0: ioctl 0xc004a81b , 0xbfef267c

[ 1931.456204] atarisio0: SIO: device=0x31 unit=0x01 cmd=0x53 aux1=0x00 aux2=0x00 dir=0x40 timeout=7 datalen=4 highspeed=0

[ 1931.456211] atarisio0: initiating command frame

[ 1931.457107] atarisio0: initiate_send: tx-head = 135 tx-tail = 130

[ 1931.457110] atarisio0: enabling TX-interrupt

[ 1931.457129] atarisio0: atarisio_interrupt: IIR = 0xc2 MSR = 0x00

[ 1931.457136] atarisio0: transmit char 0x31

[ 1931.457139] atarisio0: transmit char 0x53

[ 1931.457143] atarisio0: transmit char 0x00

[ 1931.457146] atarisio0: transmit char 0x00

[ 1931.457150] atarisio0: transmit char 0x84

[ 1931.541088] atarisio0: timeout in wait_receive [wanted 1 got 0 time 20]

[ 1931.541097] atarisio0: error waiting for command frame ACK: -1138

 

--

lemiel

Edited by lemiel
Link to comment
Share on other sites

Hi!

 

Mine is powered from USB - breakout board with FTDI 232RL. But, to be honest, I did not connected it - I thought that it is for powering it, not as signal... Now it is connected to SIO plug. But no positive effect. Syslog extract below.

Strange. The log shows that the drive didn't respond to the command frames at all, it's just sitting there, playing dead...

 

Currently I have no clue what could be going wrong, maybe the (Turbo) implementation of the drive is somewhat broken? 19200 baud isn't critical at all, and I don't know why the drive doesn't send an answer.

 

Do you happen to have a logic analyzer or a multi-channel sampling scope? If yes, it'd be interesting to see if the drive sends anything back and/or to compare the AtariSIO timing with the original Atari XL/XE timing. I could hook up my logic analyzer and check the 1050 Turbo timing, but this won't help us much, as we are having problems with the Toms drive which I don't have :(

 

But more important - where did you see this Ultraspeed enable firmware for Indus GT? Or maybe you think about this one for Tygrys extension?

I read it here in the forum. Just found a thread, I guess it's the one I had in mind: http://www.atariage.com/forums/topic/115434-new-indus-gt-firmware

 

About 57600 bit/sec - I do not understand - AtariSIO tries to set it up and drive do not want work?

Why not 52150?

atarisio0: setting baudrate 57600 (requested: 52150), divisor 2 - because of UART - warning: UART doesn't support 52150 baud, using 57600 instead - ?

The drive uses pokey divisor 10 (52 kbit), atarixfer tells the kernel driver to switch to this baudrate, but it reports back that the UART only supports 57600 bit/sec. The 16550 derives it's baudrates from the base baudrate (usually 115200), divided by an integer number. So you only get 115200, 57600, 38400, ... 57600 is the closest one to 52150, but of course way off.

 

So really only possible way is to buy +$30 PCI card with 16C950 compatible?

Currently, yes. Be sure to buy one with 921600 max baudrate, AtariSIO is optimized for these cards. There are others supporting max. 460800 baud, but I don't have one of these (they usually also cost the same as the faster cards) and haven't setup optimized high speed setting for them yet.

 

And Turbo mode (and hipotetic Synchromesh) - ~68000 bit/sec will be not available to?

Turbo mode is working fine here, with the original 1050 Turbo, so I suspect the Toms drive to be problematic part... As for syncromesh, just burn an EPROM with the patched firmware and never worry about it again :)

 

(Why It do not want to work via USB...?)

With an FTDI based adapter it should be doable, I also helped AspeQt to get up to pokey divisor 0 (126 kbit/sec), simply by providing the correct speed settings (which the FTDI chips support just fine).

 

But I didn't have the time yet to adapt AtariSIO for USB (a lot of the logic is inside the kernel driver, interfacing only to UARTs), also it seemed I was the only one using atarixfer in highspeed mode so far :) With AspeQt being out I think I better keep focussed on real UARTs, not USB chips, and let others fill the USB-only gap.

 

so long,

 

Hias

Link to comment
Share on other sites

Strange. The log shows that the drive didn't respond to the command frames at all, it's just sitting there, playing dead...

Just had an idea after I went to bed:

 

could it be that the drive requires the clock signal(s) on the SIO connector to be present? If yes, this would explain why it isn't answering.

 

A quick check with your Atari should clarify this: Instead of using a fully-connected SIO cable only connect DataIn, DataOut, Command, +5V/Ready and GND from your Atari's SIO port to the drive and try booting from it. If it's "playing dead" again, it sure needs the clock signal(s). In this case there's nothing we can do, though.

 

so long,

 

Hias

Link to comment
Share on other sites

Bingo!

Yes, disconected Clock signals and no communication. Strange. Strange is also that I must repair two pins broken in time of disassembling the plug.

 

Thanks for the firmware topic link, it is pretty old topic, but sounds interesting to burn. Must find anybody with programmer. Or probably buy one.

And ask if somebody in Poland tried to use it.

But for my UART it still won't work because of HSINDEX $0A instead of $09.

 

But Synchromesh is still interesting - I am waiting for boards with SRAMCHARGER from tregare...

 

Another - Turbo mode must be discovered - there is no way to force this mode/speed like '-s' for XF-551 mode?

 

With an FTDI based adapter it should be doable, I also helped AspeQt to get up to pokey divisor 0 (126 kbit/sec), simply by providing the correct speed settings (which the FTDI chips support just fine).

AspeQT with my FTDI adapter allows only 19,2kbps on my Linux box. Did not try it with Windows box yet.

On polish forum there was an discussion about from cyco130 get these settings... I am not sure if they were asking you.

So from where did you get it?

 

But I didn't have the time yet to adapt AtariSIO for USB (a lot of the logic is inside the kernel driver, interfacing only to UARTs), also it seemed I was the only one using atarixfer in highspeed mode so far :) With AspeQt being out I think I better keep focussed on real UARTs, not USB chips, and let others fill the USB-only gap.

I will be the second.

But I think that original author of AspeQT will not do it - almost year from last update from him. Maybe somebody other skilled on apropriate level and with some spare time...

 

 

--

lemiel

Link to comment
Share on other sites

Bingo!

Yes, disconected Clock signals and no communication. Strange.

Thanks for the info! This is the first drive I know of which requires the clock signal for normal operation. Very interesting!

 

Another - Turbo mode must be discovered - there is no way to force this mode/speed like '-s' for XF-551 mode?

'-s' also checks for Happy Warp and XF551 mode. But this is a good idea, I'll add a command line switch to atarixfer to only enable a specific mode.

 

AspeQT with my FTDI adapter allows only 19,2kbps on my Linux box.

Strange. I used a FT232BM based USB-serial adapter from Digitus with my SIO2PC cable (homebrew, using a MAX232) and got up to divisor 0 (125 kbit/sec).

 

On polish forum there was an discussion about from cyco130 get these settings... I am not sure if they were asking you.

So from where did you get it?

There's no magic behind the settings :)

 

I had already determined the working baudrates (up to divisor 0) for AtariSIO before, most important thing here is that you stay BELOW the value calculated from the well known POKEY divisor formula. Ah, well, and for divisor 0 it also helps to know that you have to stay somewhat below the calculated value.

 

In AtariSIO I currently use 125494 / 110765 / 97010 baud for divisor 0/1/2 (the divisor-2 setting just for testing, see tools/MiscUtils.cpp for other values, and driver/atarisio.c for the exact 16C950 UART configurations), in AspeQt we use 125494 / 110765 / 98797 baud for divisor 0/1/2.

 

The FT232BM has a baud_base of 24000000 (24MHz, check with "setserial -a"), so we are actually using 125654 / 110599 / 98765 baud (FTDI divisors 191, 217, 243).

 

The only thing left was a method to set those unusual baudrates in Linux, which can be done quite easily with the TIOCSSERIAL ioctl: include ASYNC_SPD_CUST in serial_struct.flags and set serial_struct.custom_divisor (see StandardSerialPortBackend::setSpeed method in serialport-unix.cpp of AspeQt source). That's it :)

 

But I didn't have the time yet to adapt AtariSIO for USB (a lot of the logic is inside the kernel driver, interfacing only to UARTs), also it seemed I was the only one using atarixfer in highspeed mode so far :) With AspeQt being out I think I better keep focussed on real UARTs, not USB chips, and let others fill the USB-only gap.

I will be the second.

Great! It's really nice to hear someone else besides me using this feature!

 

I just found the very old userspace-only atarixfer code from 2003 on my harddrive. This code lacks all fancy highspeed stuff, but I guess it worked at standard speed with a RS232 card. If I have some time I can have a look at it, and also check it with my USB-serial adapter, but I fear that limitations in the Linux/Unix serial API could again be a show-stopper. But, anyways, to be sure I'll have to check this.

 

so long,

 

Hias

Link to comment
Share on other sites

  • 2 weeks later...

This card http://www.amazon.com/gp/product/B000MY5OWI/ref=as_li_ss_tl?ie=UTF8&tag=atariage&linkCode=as2&camp=217145&creative=399369&creativeASIN=B000MY5OWI will be good? It is based on OX16PCI952 chipset and I am not sure because of its somewhere missing middle C in UART name/type compatibility mode.

 

In driver/atarisio.c in table baudrate_table_16c950[] are defined only non standard baudrates - I cannot se there 57600 for POKEY divisor 8 - will it work with this speed?

Link to comment
Share on other sites

This card http://www.amazon.co...ASIN=B000MY5OWI will be good? It is based on OX16PCI952 chipset and I am not sure because of its somewhere missing middle C in UART name/type compatibility mode.

This card only supports up to 460 kbit/sec, better get one that supports up to 921 kbit/sec (atarisio is optimized for these settings)

I'm currently using a Lindy 51237 card (2 serial ports up to 921kbit plus one parallel port), it works fine, the only thing you have to pay attention to is that you have to pass "baud_base=921600" as an atarisio parameter as the default baud_base, as set by the linux kernel, is 460800.

In driver/atarisio.c in table baudrate_table_16c950[] are defined only non standard baudrates - I cannot se there 57600 for POKEY divisor 8 - will it work with this speed?

Sure. The table only contains some hand-crafted non-standard baudrates that require the use of the clock prescaling register to come close to the POKEY baudrates, all other baudrates are supported using standard divisor methods (plus also using the times clock register). So everything from 19.2 kbit up to 125 kbit works fine.

so long,

Hias

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