Jump to content
IGNORED

Help Diagnosing Atari to TI Joystick Adapter


ballyalley

Recommended Posts

Last week I went to visit @WhataKowinkydink.  (Hey, does putting a "@" in front of someone's handle tag them and let them know that you're talking about them?  If not, then how do I do it?).

 

We played some TI games together.  I brought my Atari-to-TI joystick adapter to his place and we discovered that the first button on joystick 1 doesn't work at all.  Joystick 1 is a known-working Atari CX-40 (the standard Atari 2600 joystick).  That joystick works just fine on an Atari 2600, Atari 8-bit computer and my PC for emulation using a Stelladapter USB joystick converter for my PC.

 

Here are pictures of the front and back of my adapter:

 

Atari-to_TI_Joystick_Adapter_01_Cropped.thumb.jpg.90755d3de8ca7a305f8d0be7974f63ca.jpg

Atari-to_TI_Joystick_Adapter_02_Cropped.thumb.jpg.bcaa9a95bdfe8f3bef51f3d9d0444442.jpg

 

I didn't know the adapter was broken, as only have one cartridge: Munchman.  This game doesn't use the fire button.

 

Can anyone suggest what might be causing joystick #1's fire button to not function?  I think converters use diodes; how can I check the adapter?  I do have a multimeter, if that might help.

 

Can anyone recommend an Extended BASIC game that would make it easy to test all the functions (four directions and fire button) of two Atari joysticks plugged into the adapter?

 

Adam

Link to comment
Share on other sites

Alright, just dug up my little JOYTEST program:

10 CALL CLEAR
20 INPUT "JOYSTICK #?: "
30 CALL CLEAR
40 CALL SPRITE(#1,33,5,96,1,28)                   ## CALLS UP THE EXCLAMATION POINT TO BE THE SPRITE, CENTERED ON SCREEN
50 CALL JOYST(A,X,Y)
60 CALL KEY(A,K,S)
70 IF K=18 THEN CALL COLOR(#1,INT(RND*16)+1)      ## IF THE FIRE BUTTON IS PRESSED, THE COLOR OF THE SPRITE CHANGES
80 CALL MOTION(#1,-Y,X)
90 GOTO 50

 

Not sure if can be of help with the adapter, but this program should give you something to be able to test the 5 functions of the joystick.

  • Thanks 1
Link to comment
Share on other sites

there's a good joystick test in the ti diagnostics cart  .. if you have a finalgrom you can run that easily

 

no bent pins in your adapter?

 

I've had joysticks not make "enough" connection in my wico adapter that after some shoving/wiggling it makes better contact and works 

 

Link to comment
Share on other sites

2 hours ago, arcadeshopper said:

there's a good joystick test in the ti diagnostics cart  .. if you have a finalgrom you can run that easily

 

no bent pins in your adapter?

 

 

I don't have the FinalGROM.  I may get one after I get used to the TI.  For now, I'm using it as a vanilla machine.

 

I'll take a closer look at the adapter tomorrow, but I didn't notice any bent pins the other days.  Nor dig wiggling the joysticks help.

 

Adam

Link to comment
Share on other sites

3 hours ago, WhataKowinkydink said:

Alright, just dug up my little JOYTEST program:

 

 

Did you actually just type that in...?

 

I used the Classic99 emulator and pasted the program into the emulator:

 

10 CALL CLEAR
20 INPUT "JOYSTICK #?" : A
30 CALL CLEAR
40 CALL SPRITE(#1,33,5,96,1,28)
50 CALL JOYST(A,X,Y)
60 CALL KEY(A,K,S)
70 IF K=18 THEN CALL COLOR(#1,INT(RND*16)+1)
80 CALL MOTION(#1,-Y,X)
90 GOTO 50

 

This worked okay.  Here's a listing of the program:

 

Joystick_Routine_Listing.thumb.png.2f6fdbcd641872f08374fe5ccd31bc46.png

 

Here is the program running (before it crashes):

 

Joystick_Routine_Listing_Running.thumb.png.c08484e06da80f827645d5ec2b7b68a0.png

 

Here is the program crashing:

 

Joystick_Routine_Listing_Syntax_Error.thumb.png.873bac8ceadf1f61e46e865c5f84599a.png

 

I'm a REAL newbie here.  I just used the "disk drive" for the first time about five minutes ago.  I've attached the TI-99/4a disk image to this post (at least I think I did):

 

JOYSTICK.DSK

 

The disk image is 180K.  Does that seem right?  The program on the disk is called JOYSTICK.  You're all used to this stuff, but (as a reminder to myself), here's how I saved it:

 

SAVE DSK1.JOYSTICK

 

Then I loaded it back with:

 

OLD DSK1.JOYSTICK

 

Can someone check what's wrong with this Extended BASIC program?

 

Also, how do I check the directory on a disk from Extended BASIC?  It seems I can't... but can that be right?

 

Adam

 

P.S.  I've noticed that there are a TON of utility programs for file conversion for disks/WAVs and much more on the TI system.  I really dig the community around this system.

 

Link to comment
Share on other sites

1 hour ago, ballyalley said:

 

I don't have the FinalGROM.  I may get one after I get used to the TI.  For now, I'm using it as a vanilla machine.

 

I'll take a closer look at the adapter tomorrow, but I didn't notice any bent pins the other days.  Nor dig wiggling the joysticks help.

 

Adam

you could be a new one of new design from @arcadeshopper

 

https://www.arcadeshopper.com/wp/store/#!/Joysticks-and-adapters/c/21773047

 

  • Like 1
Link to comment
Share on other sites

In line 40, row velocity is specified as the 5th value, but column velocity is missing. Maybe add a 6th number for that? The manual for XB has the details. A good reference for when a program halts on a specific line with an error, look up that command and check the syntax and values are correct. A pdf copy can be found in the reference topic sticky in the Development subforum (and elsewhere).

https://atariage.com/forums/topic/153704-ti-994a-development-resources/

 

When you save a file to a DSK image, it's always a full-size image in the format used (DSSD for 180K), even with only one small file in it, or even empty, for that matter! The other "standard," FIAD (Files In A Directory, usually just a folder on the PC's hard drive) are kept as individual files. Classic99 prefers its content in FIAD format, but it works pretty well with DSK images, thanks to author Tursi actively supporting the program. DSK images images are "full" when you hit 180K, but a FIAD folder can just be added to on the fly till you hit TI's internal limit for individual files on a disk (127, I think).

 

Some versions of XB have a cat command built in, such as the Super Extended BASIC cart that I use has CALL CAT. TI's Extended BASIC cart does not have this ability built-in, unfortunately. Otherwise, there are numerous XB programs written to simply list a disk, and possibly also view text files or RUN programs picked from the listing the program creates. If you already have a program in memory, you need to save it first before running a separate disk cataloging program.

 

A simple one is given in the XB manual you can type in. John Johnson's BOOT program (with its XB loader added) is an excellent example of a full-featured cataloger/loader/viewer.

 

If you name an XB program as LOAD, it will autoRUN when you select XB from the TI's main menu. I choose my favorite XB loader as LOAD on most all my disks. Or use one of many disk utility programs, or TI's Disk Manager II cartridge to look at and maintain your disk collection.

 

Now, in emulation on the PC, you of course have more options. TIdir is one utility you can run alongside Classic99 to look inside DSK images or FIAD folders, copy and move things, etc. FIAD folders can also just be opened in Windows since the files are all separate to begin with. And Classic99 will let you explore contents when you navigate to a new DSK or FIAD.

 

-Ed

 

Edited by Ed in SoDak
Link to comment
Share on other sites

40 CALL SPRITE(#1,33,5,96,1,28)

 

The comment says this is meant to center the sprite, so probably the "1,28" was meant to be "128" (with no comma).

 

The velocity part of CALL SPRITE is optional, but if one is there, they both need to be - thus the SYNTAX ERROR. But I think you'll find with that one edit it will work as intended.

 

  • Like 3
Link to comment
Share on other sites

4 hours ago, Tursi said:

The comment says this is meant to center the sprite, so probably the "1,28" was meant to be "128" (with no comma).

Yep - so that was my fault, I introduced the typo :(

 

So this is what it should read:

10 CALL CLEAR
20 INPUT "JOYSTICK #?: "
30 CALL CLEAR
40 CALL SPRITE(#1,33,5,96,128)                    ## CALLS UP THE EXCLAMATION POINT TO BE THE SPRITE, CENTERED ON SCREEN
50 CALL JOYST(A,X,Y)
60 CALL KEY(A,K,S)
70 IF K=18 THEN CALL COLOR(#1,INT(RND*16)+1)      ## IF THE FIRE BUTTON IS PRESSED, THE COLOR OF THE SPRITE CHANGES
80 CALL MOTION(#1,-Y,X)
90 GOTO 50

 

Link to comment
Share on other sites

16 hours ago, Tursi said:

The comment says this is meant to center the sprite, so probably the "1,28" was meant to be "128" (with no comma).

 

Thanks for checking into the program's code.  Last night, "WhataKowinkydink" and I found the error and it worked under emulation.  He showed me some programs on his computer like TIimageTool and TI99Directory which were very helpful.  I ordered myself a NanoPEB, which should prove very helpful and fun to use to load TI BASIC And Extended BASIC programs.

 

Adam

  • Like 2
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...