Jump to content
IGNORED

1200XL Jumper W1 Mystery


kheller2

Recommended Posts

For as long as I can remember, when I first obtained a 1200XL and the 1200XL OS Manual Technical Reference Notes supplement.... I was always curious about this:

 

 

3.8 OPTION JUMPERS

The 1200XL is provided with a set of four hardware jumpers which are designed to tell the operating system how the system is configured As of the date of this writing, only one of the four jumpers has been assigned. specifically Jl. This is specified in the table below. During the power-on sequence, the 1200XL operating system reads the state of these jumpers and stores this state in the OS database variable JMPERS, location 030E.

The bit assignments for each of the four jumpers is as specified below. The bits are all active low, meaning that if a line reads a digital zero. the jumper is installed.

BIT FUNCTION HARDWARE NAME

o Self test enable (will run self test if low) J1 (pot 4) 1-3 Reserved for future use

4-7 Unused

(Granted, I was even more curious about section "3.13 Deleted Features" in the table of contents that didn't actually exist as a page...)
There it was on the schematics:
post-4566-0-29300100-1515791208.jpg
Today when looking over the different versions of 1200XL boards I noticed it in a completely different place... Rev 11A (a PILOT run board)
post-4566-0-33430900-1515790867.jpg
This area looks nothing like the production model Rev 13A and A which has W1 in a different location:
post-4566-0-37322300-1515791079.jpg
The 11A board always posts to the diagnostic screen too. Confusingly, and probably because I'm still getting over a cold and are missing something simple, I can't figure out why all boards don't boot directly to diagnostics since all 4 pots are tied to ground.
Karl
Link to comment
Share on other sites

 

For as long as I can remember, when I first obtained a 1200XL and the 1200XL OS Manual Technical Reference Notes supplement.... I was always curious about this:

 

 

3.8 OPTION JUMPERS

The 1200XL is provided with a set of four hardware jumpers which are designed to tell the operating system how the system is configured As of the date of this writing, only one of the four jumpers has been assigned. specifically Jl. This is specified in the table below. During the power-on sequence, the 1200XL operating system reads the state of these jumpers and stores this state in the OS database variable JMPERS, location 030E.

The bit assignments for each of the four jumpers is as specified below. The bits are all active low, meaning that if a line reads a digital zero. the jumper is installed.

BIT FUNCTION HARDWARE NAME

o Self test enable (will run self test if low) J1 (pot 4) 1-3 Reserved for future use

4-7 Unused

(Granted, I was even more curious about section "3.13 Deleted Features" in the table of contents that didn't actually exist as a page...)
Oddly enough, I could never find J1/W1 on any 1200XL board, yet there it was on the schematics:
that is until today when looking over the different versions of 1200XL boards. And here it is.. clear as day... Rev 11A (a PILOT run board)
This area looks nothing like the production model Rev 13A and A:
The 11A board always posts to the diagnostic screen too. Confusingly, and probably because I'm still getting over a cold and are missing something simple, I can't figure out why all boards don't boot directly to diagnostics since all 4 pots are tied to ground.
But I am happy to have solved another, perhaps useless, mystery.
Karl

 

 

Very interesting stuff.

 

I do wonder, however, what that jumper is right below R32 in the photo of the production version, right next to the two inductors.

Link to comment
Share on other sites

W1 is like a keystone, it doesn't seem to be any more important than any other component, to the untrained eye,but remove it and the entire board will crumble. :-o

 

And all computers run on magic smoke, let the magic smoke out and it's OVER... bricked! :skull:

Edited by Gunstar
  • Haha 1
Link to comment
Share on other sites

Confusingly, and probably because I'm still getting over a cold and are missing something simple, I can't figure out why all boards don't boot directly to diagnostics since all 4 pots are tied to ground.

The OS boots straight to Self-Test if the value of POKEY's POT4 register is 0. I don't know what that W1 jumper does, but it apparently causes the value of POT4 no be non-zero. I guess that the 1200XL OS manual is simply incorrect in that regard. (For starters, they call the jumper J1 not W1, suggesting that this section was written before the 1200XL design was finalized.)

 

Could you boot BASIC on your working machine and post the values of PADDLE(4) to PADDLE(7)?

  • Like 1
Link to comment
Share on other sites

The documentation is confusing but correct. It is referring to the bits in JMPERS that come from bit 7 of the POT4-7 registers, not the physical POT lines going into POKEY. WIth the jumper in place, POT4 never reaches threshold, the POT4 counter counts all the way to 228, and bit 4 in JMPERS is 1. With the jumper removed, the POT4 line is always above threshold, the POT4 counter stops quickly at 0 or near 0, and JMPERS bit 4 is 0.

  • Like 2
Link to comment
Share on other sites

  • 5 years later...

Tonight, I was looking at the Atari 800XL schematic and wondering, again, what W1 is for.  This led me to finding this thread.   🙂

 

While wondering about W1, I saw there was mention of up to 4 jumpers.  Unfortunately, while digging around I didn't find any mention of the other 3 jumpers.  Even the Sweet 16 OS Specification document only shows the one jumper being available.  Looking through operating system versions, I found that OS R10 and OS R11 will process the W1 jumper.  Strangely, OS R1, originally for the 600XL and 800XL's, dropped support for the W1 jumper.  Maybe to save space?  Why did they keep the jumper on the board and remove it's support in the OS?

 

The Sweet 16 OS Spec states:

 

Sweet16OSJumpers.thumb.jpg.72a98c23f7b1f7da80189768577a01b5.jpg

 

Unfortunately, I couldn't find any other documents that show what the other 3 jumpers could have been planned for.  Maybe they were truly unassigned?

 

Then, both OS R10 and OSR11 have the following in the Preset Memory Subroutine:

 


;    Initialize JMPERS.

    LDA    SSKCTL    ;SKCTL shadow
    ORA    #$04    ;enable fast pot scan
    STA    SKCTL    ;set serial port control
    STA    WSYNC    ;wait until pot values are stable
    STA    WSYNC
    STA    WSYNC

;    Loop through POT7..POT4.

    LDX    #3    ;start at POT7

PRS18    LDA    POT4,x    ;read POT value
    ASL    A    ;C = 0 if jumper X shorted
    ROL    JMPERS    ;transfer C to JMPERS
    DEX
    BPL    PRS18    ;if not finished

    LDA    SSKCTL    ;SKCTL shadow
    STA    SKCTL    ;restore serial port control

    CLI
    LDA    JMPERS
    ROR    A    ;C = 0 if J1 shorted
    BCS    PRS19    ;if J1 not shorted

;    Check for memory problems.

 

 

 

So, removing the jumper skips the memory self test on boot-up.  I wonder why they wanted to do that.....

 

 

 

 

 

 

 

 

 

  • Like 1
Link to comment
Share on other sites

Faster Power on was needed for certain instances where 1200XL's would be replacing 800's in their working environments. FujiNets would want self test on while some Factory CNC machines etc would time out before the the 1200XL came up if it took the time to test memory etc.

The original 800 and the later 1200XL with mem test disabled come up faster than than those without the option.

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

14 minutes ago, _The Doctor__ said:

Faster Power on was needed for certain instances where 1200XL's would be replacing 800's in their working environments. FujiNets would want self test on while some Factory CNC machines etc would time out before the the 1200XL came up if it took the time to test memory etc.

The original 800 and the later 1200XL with mem test disabled come up faster than than those without the option.

Makes sense.  It would be great to know if there was any thought for the other 3 jumpers.  It appears that none of the boards supported the other 3 jumpers, either.

Link to comment
Share on other sites

It would have made even more sense to make it occupy the least used pot bit down the chain so as not to have possible interference down the road.

Remember the 800 had 4 I/O port on the front capable of 4 sticks 8 potentiometers etc... the 1200XL and later machine had 2 built in I/O ports while some people hacked the other 2 I/O ports back in, those ports could conflict with later port b memory configs, a latch would have cured that. The incognito board handles this though and you can still use all four ports in the other modes... ;)

Edited by _The Doctor__
Link to comment
Share on other sites

Removing the W1 jumper doesn't speed up the boot, it completely redirects it into the memory self test.

 

The logic for reading the jumper is also broken. The code turns on the fast pot scan bit and waits enough scanlines for the fast scan to complete -- but it never writes POTGO to start it in the first place. Instead, it relies on POTGO having been written as part of hardware initialization clearing the POKEY registers, then actually starting once SKCTL is set to $22 and completing during the memory sizing pass. Thus, it doesn't actually read the result of the fast pot scan, but rather the result from the previously completed slow pot scan.

 

  • Like 1
Link to comment
Share on other sites

Yep it's all broken and does not work as intended at all, it needs some effort on a fix to work properly and use a non interfering location. @phaeron this vaguely sounds like something discussed previously in terms of potscan. Did discussion about fixes at some point occur?

 

Since it's all broken and does not work in either of it's designed purposes, that might be why it was removed. Though it would be interesting to see it fixed and implemented just for completion.

Edited by _The Doctor__
Link to comment
Share on other sites

14 minutes ago, _The Doctor__ said:

Yep it's all broken and does not work as intended at all, it needs some effort on a fix to work properly and use a non interfering location. @phaeron this vaguely sounds like something discussed previously in terms of potscan. Did discussion about fixes at some point occur?

 

Since it's all broken and does not work in either of it's designed purposes, that might be why it was removed. Though it would be interesting to see it fixed and implemented.

It's broken in that the fast pot scan code doesn't do what was intended and is basically a no-op, but it still gets the same result regardless. The pot line's grounded or pulled up, so it doesn't really matter whether a fast or slow scan is used.

 

What's more questionable is what the purpose would have been for a self-test jumper that was soldered to the motherboard. If they had used an actual jumper, then perhaps it might have had some use. But as it was, it's hard to think of how they could have used that feature either during production or servicing.

Link to comment
Share on other sites

botched in all cases, and was dropped. serves no real purpose unless something provides different resistance values for the pot scan, and since it doesn't skip the memory test, but rather forces it to go to the tests, it's a complete fail in function.

Edited by _The Doctor__
Link to comment
Share on other sites

I suspect the jumper was on the 1200XL for factory testing purposes to begin with - it probably would have helped with automating the process.

 

Was the OS portion removed on later OS revisions?

They never bothered removing the F-key handler from the keyboard IRQ, so wouldn't surprise me if other unused remnants stuck around.

Link to comment
Share on other sites

3 hours ago, Rybags said:

I suspect the jumper was on the 1200XL for factory testing purposes to begin with - it probably would have helped with automating the process.

 

Was the OS portion removed on later OS revisions?

They never bothered removing the F-key handler from the keyboard IRQ, so wouldn't surprise me if other unused remnants stuck around.

The OS portion was in both 1200XL OS's and was removed in OS R1.  Oddly enough, the jumper was kept on the board and even the 1450XLD schematic shows the jumper.

Edited by reifsnyderb
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...