Jump to content
Kyle22

Incognito STICK(3) and STRIG(3)

Recommended Posts

As much as I have tried, I can't figure out the Incognito's joystick ports. I have 3 & 4 enabled in setup, but a simple BASIC program:

 

10 ?stick(3),strig(3):g.10

 

does not show those ports working. All I get is 15 1.

 

I *AM* moving the stick and pressing the button.

 

Any ideas?

Edited by Kyle22

Share this post


Link to post
Share on other sites

They should only work as an 800 in an 800 mode.

 

On XL/XE, ports 3/4 are connected as cartridge sense and keyboard sense (XEGS only) lines.

In the XL/XE OSes, the shadow registers (which the Basic statements use) will reflect the state of Ports 1 and 2.

That also applies to paddles.

Edited by Rybags

Share this post


Link to post
Share on other sites

I was hoping that the logic chip would allow the use of the other ports. Joystick 3 & 4 enable/disable are in the XL/XE section of the menu. They are NOT in the Coleen (800) section.

Share this post


Link to post
Share on other sites

I was hoping that the logic chip would allow the use of the other ports. Joystick 3 & 4 enable/disable are in the XL/XE section of the menu. They are NOT in the Coleen (800) section.

Maybe these settingd work with a Translator type OS(XLFIX/OSNXL are 2 examples) when in XL/XE mode?

Share this post


Link to post
Share on other sites

I get 15 and 208 in OmniView, and 0 and 208 in OmniMon. I can try and flash other OS's in there, I'll need to shift things around to get XL compatible OS B.

 

I want this to work for a new R:Verter style device that uses a joystick port for RTS/CTS. Also, it would be nice to try a Corvus.

Share this post


Link to post
Share on other sites

I was hoping that the logic chip would allow the use of the other ports. Joystick 3 & 4 enable/disable are in the XL/XE section of the menu. They are NOT in the Coleen (800) section.

I'd take from that that they are ALWAYS active in Colleen mode. Forgetting the shadow locations - what are the actual hardware locations reading?

Share this post


Link to post
Share on other sites

direct reads of $D301 (portb) don't work.

pactl and pbctl both have 3c in them.

Edited by Kyle22

Share this post


Link to post
Share on other sites

direct reads of $D301 (portb) don't work.

Can't see a different OS helping, then. Gonna have to have a look at my 800...

Share this post


Link to post
Share on other sites

You're better off reading direct from the hardware registers when testing such stuff.

 

The PORTA/B only do joystick directions / paddle triggers. The TRIG registers are through GTIA.

Share this post


Link to post
Share on other sites

You're better off reading direct from the hardware registers when testing such stuff.

 

The PORTA/B only do joystick directions / paddle triggers. The TRIG registers are through GTIA.

I was reading $D301 PORTB from OmniMon while moving the stick (and re-reading D301) each time

.

Share this post


Link to post
Share on other sites

As much as I have tried, I can't figure out the Incognito's joystick ports. I have 3 & 4 enabled in setup, but a simple BASIC program:

 

10 ?stick(3),strig(3):g.10

 

does not show those ports working. All I get is 15 1.

 

I *AM* moving the stick and pressing the button.

 

Any ideas?

I'm pretty sure port '3' is actually port 4. The port number for an 800 would be from the left 0,1,2,3. An xl would only have port 0,1.

Share this post


Link to post
Share on other sites

Read d381 instead

10 ?peek($D381):g.10

run

211

211

211

211

211

0

211

211

0

211

211

211

211

211

0

 

 

and so on. no visible pattern to it, and it does not change with stick movement in either port 3 or 4.

Share this post


Link to post
Share on other sites

I'm pretty sure port '3' is actually port 4. The port number for an 800 would be from the left 0,1,2,3. An xl would only have port 0,1.

that is correct, with STICK(x) and STRIG(x) in BASIC, but in setup, they are labelled 3&4.

Share this post


Link to post
Share on other sites

D3f1 then, poin is to use a shadow location, try d341 too - i dont remember the actual range it works, and wont get a chance to check it till monday

Share this post


Link to post
Share on other sites

can anyone recommend a program to display an entire block of memory in real time? that would be so much easier than having to fiddle with the stick while manually typing d d300 d3ff in a debugger over and over and trying to spot a change.

Share this post


Link to post
Share on other sites

Thanks for memory eye. it works, but the other two ports don't change anything in the $D300 page. $D300-$D37F look normal, but $D380-$D3FF are all rapidly changing, seemingly meaningless numbers.

Share this post


Link to post
Share on other sites

that is correct, with STICK(x) and STRIG(x) in BASIC, but in setup, they are labelled 3&4.

Since Incognito is a XL/XE emulation, PORTB ($D301/54017) Is for BASIC ROM control, there is no port 3,4.

Edited by russg

Share this post


Link to post
Share on other sites

Since Incognito is a XL/XE emulation, PORTB ($D301/54017) Is for BASIC ROM control, there is no port 3,4.

then why is there an option in setup to enable / disable them?

post-13040-0-74383200-1389384853_thumb.jpg

Share this post


Link to post
Share on other sites

Using EYE2 (available here: the other EYE tool crashed when I pressed G to set the address), it looks as if $D300-D303 repeat every four bytes up to $D37F, with $D380-D3FF indeterminate or WO. I can see the effect on PORTA if I connect a joystick, but no change on any address in the range with a stick connected to ports 3 or 4.

Share this post


Link to post
Share on other sites

same results with eye2... The command line address feature is nice :)

Share this post


Link to post
Share on other sites

same results with eye2... The command line address feature is nice :)

 

Well quite. At least this is an opportunity to use a really nice monitor tool. :)

Share this post


Link to post
Share on other sites

then why is there an option in setup to enable / disable them?

I don't know. If Incognito really emulates a XL/XE, it has a built in BASIC ROM. If it has that, then PORTB will only serve to enable/disable it. I think in XL/XE, PORTB does more than just

enable/disable BASIC, there is some service to BASIC in the OS.

I guess Incognito has a custom OS. Someone intended to service ports 3, 4, but such service got lost somewhere along the line.

Edited by russg

Share this post


Link to post
Share on other sites

Remember, the Incognito has its own logic on it that replaces the MMU. It can change the normal "rules". It already intercepts the trig3 signal.

Share this post


Link to post
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.

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