Jump to content
IGNORED

Atari 1050 - Track Display


macsonny

Recommended Posts

4 hours ago, macsonny said:

I can confirm that after installing in a WST drive that it 100% works - so it's a difference between the Tandon and WST drives.

 

I take that back. First WST drive I have is a bit touch-and-go and not a reliable unit so I took the display out of that and placed into a second WST drive I had. The issue of constantly flickering between track 01 and track 00 started again.

 

I wonder if it has something to do with the ROMs on the drive rather than the brand/model?

 

I was thinking about swapping the ROMs over from the flakey WST drive to the known good drive and then testing the track read out. What do people think?

Edited by macsonny
Link to comment
Share on other sites

1 hour ago, macsonny said:

I take that back. First WST drive I have is a bit touch-and-go and not a reliable unit so I took the display out of that and placed into a second WST drive I had. The issue of constantly flickering between track 01 and track 00 started again.

 

I wonder if it has something to do with the ROMs on the drive rather than the brand/model?

 

I was thinking about swapping the ROMs over from the flakey WST drive to the known good drive and then testing the track read out. What do people think?

Sigh. After yet more testing, I found that my drive that I thought was a little sus is actually fine. It's just when the track display module is installed that it has issues reading floppies. 

 

Any ideas why the display might be interfering with the drive?

 

Note that I'm taking 5VDC to power my device from the 1050 motherboard (TP13 or 15 from emory). Might that be the issue?

Link to comment
Share on other sites

14 minutes ago, xrbrevin said:

just a guess but are you using current limiting resistors on the input lines?

if so, maybe try another rating?

I use the 15k and 27k to get the voltage divider per original design. Do you think I need to reduce these to a 3.3k and a 6.8k maybe?

Link to comment
Share on other sites

Normally Teensy is powered by your PC or USB hub, through a USB cable. The USB power arrives at the VUSB pin, which is connected VIN and powers the entire board.

When USB power is not used, 5V power may be applied to the VIN pin. Because VIN & VUSB are connected, power should not be applied to VIN while a USB cable is used, to prevent the possibility of power flowing back into your computer. Alternately, a pair of pads on the bottom side may be cut apart, to separate VUSB from VIN

TEENSY 4.0 PINOUT BOTTOM.png

Edited by Chri O.
Link to comment
Share on other sites

On 5/5/2022 at 1:39 AM, Chri O. said:

 

All pins on teensy 4.0 are interrupt capable.

Two (NS02 & NS04) edge-triggered interrupt on RISING edge (low to high) while inside the interrupt I read the digital voltage on pin NS01 or NS03 respectively.


void IRQ_NS02() {
  if (digitalReadFast(interruptPin_NS01) == HIGH) {
    Tcount ++;
  } else {
    Tcount --;
  }
  //Serial.print("T NS02 :"); // debug print
  //Serial.println(Tcount); // debug print
}

void IRQ_NS04() {
  if (digitalReadFast(interruptPin_NS03) == HIGH) {
    Tcount ++;
  } else {
    Tcount --;
  }
  //Serial.print("T NS04 :"); // debug print
  //Serial.println(Tcount); // debug print
}

By the way the serial debug printing inside the interrupts supposed to be disabled ?

 

So got my drive working reliably now! Small gains right ?

 

But strange track counter error now. It seems the track counter is always 1 track behind the actual track count. For example, even when going to sector 720 the track display is showing 38 instead of 39. Same for when formatting a floppy or doing the 1050 Diagnostic burn-in test.

 

It's almost like when going to track 0, you need two tracks to increment the first track.

 

Any thoughts?

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

I noticed this issue once before I think it happens on the startup when you power ON the Drive.

Try this but I didn't test this yet.

 

void loop() {
  noInterrupts();
  if (digitalReadFast(N_TRACK00_Pin) == HIGH) { // if Track 0 sensor @5volts then set TRACK count to 0
    Tcount = 0;
  }
  NewTcount = Tcount;
  interrupts();

  if (OldTcount != NewTcount) {
    OldTcount = NewTcount;
    display.clearDisplay();
    display.setCursor(10, 4);
    if (NewTcount < 10) {
      display.print("0");
    }
    display.print(NewTcount);
    display.display();
  }
}

 

Link to comment
Share on other sites

30 minutes ago, Chri O. said:

I noticed this issue once before I think it happens on the startup when you power ON the Drive.

Try this but I didn't test this yet.

 


void loop() {
  noInterrupts();
  if (digitalReadFast(N_TRACK00_Pin) == HIGH) { // if Track 0 sensor @5volts then set TRACK count to 0
    Tcount = 0;
  }
  NewTcount = Tcount;
  interrupts();

  if (OldTcount != NewTcount) {
    OldTcount = NewTcount;
    display.clearDisplay();
    display.setCursor(10, 4);
    if (NewTcount < 10) {
      display.print("0");
    }
    display.print(NewTcount);
    display.display();
  }
}

 

I think that worked. I'll do some further testing...

 

  • Like 1
Link to comment
Share on other sites

Quote

Note that I'm taking 5VDC to power my device from the 1050 motherboard (TP13 or 15 from emory). Might that be the issue?

One more thing regarding Teensy 4.0 power.

With the default 600 MHz settings Teensy 4.0 consumes approximately 100 mA current.

Plus whatever the OLED screen needs ?

You can change the frequency a bit 450MHz?  This will drop the current.

20220511_223626.jpg

Link to comment
Share on other sites

Oh one more thing I was playing with OLED brightness?

For now I have this in:

void setup() {

  display.begin(SH1106_SWITCHCAPVCC, 0x3C);  // initialize with the I2C addr 0x3D (for the 128x64), SH1106 addr 0x3C.

 

  display.SH1106_command(0X81); // SETCONTRAST

  display.SH1106_command(0);  // CONTRAST VALUE 0 TO 255

 

... more code.

 

Link to comment
Share on other sites

there are 3d extruder and resin based printer files to print bezels for these drives, no need to hack up the originals... some are posted on AA as well...

some are floating around with places for updates such as these as well. A number of members here do professional quality files and even provide prints. ;)

  • Like 1
Link to comment
Share on other sites

On 5/13/2022 at 3:32 PM, macsonny said:

Not my best work but you get the idea ?

IMG_7626.jpeg

I know the mod looks a bit rough but trust me, from a distance it’s actually not too bad. I’m happy with it and I have 4 drives so can afford to have one as my “mod device”.

  • Like 2
Link to comment
Share on other sites

  • 1 year later...

The WST type 1050 drive is easily modded to do track display but the Tandon type is more complicated and had not been worked out when this thread was live.

Unless you mean the SIO2mSD teensy device referred to later on?

either way, @Chri O. have you had chance to make any progress?

Link to comment
Share on other sites

IIRC, its something in the EPROM code that makes the Tandon mech operate using half-steps and a multi-phase stepper motor. its like the hardware wasnt fully compatible so the code was developed to make it work.

I tried a simple, logical approach a while ago but was ultimately scuppered by this strange design:

 

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