Jump to content
IGNORED

Input device test program in IntyBASIC - hand controllers and keyboards


freewheel
 Share

Recommended Posts

I wasn't quite happy with how the MTE-201 test cart works - I hate waiting for all of the other checks to complete - so I made my own in IntyBASIC. It's a really good practice exercise to reinforce hardware and software concepts.

 

Check it out, let me know what y'all think. I haven't put the code in for the second controller yet, in case I did anything stupid. I *think* I got the pins correct for the plug checks, but I won't swear by them (I spent all of 30 seconds with a multimeter - most of this was based on what people have reported online).

 

I figure now that everyone is getting their flash carts, some utilities like this would be handy. One thing that I don't like is how certain input combinations trigger other modes on the MTE-201, so you'll have to reset between tests. Realistically I could break this down into 2 separate ROMs - after all, if your controller is truly hosed, how do you select from a menu? :)

 

freecont.rom

  • Like 9
Link to comment
Share on other sites

It's perfect. Maybe add a couple of numbers to the DE9 port to indicate pin 1. Its the top right?

 

Edit:

Right, a bad controller might not start the test. Have it default to one test and then 1+9 to switch to the other.

 

Good idea. I like pin numbering. I'll see if I can come up with a smaller font to make it not so ugly.

 

I absolutely loathe controller tests where certain button combos take you out of the test. What if I'm specifically testing 1+9? :D My personal use is that if the controller is so bad that almost NOTHING works, then I won't be bothering to test it just to find the one wire that's good. What I usually run into with Inty controllers is one of the diagonals is a bit weak, or some of the keypad is broken. You'll almost always be able to move left/right in some capacity, and if none of your action buttons nor Enter work?

 

That being said, this is trivial to split into 2 ROMs for people who need to test absolutely borked controllers. If people think it's useful (and complete, and actually correct - I haven't properly wire-tested it) then I'm more than happy to put a zip together with all of them.

Link to comment
Share on other sites

New version - I've had no reports that I did anything wrong, and some seem to find this useful, so I added controller 2. Hopefully I didn't mess anything up - because this is really trivial code in terms of execution, I've just done it brute-force. And I just duplicated the code and renamed it/changed screen positions for controller 2. Easy to mess up when you have that many lines to check ;)

 

 

freecont.rom

  • Like 5
Link to comment
Share on other sites

I added a routine to the ECS keyboard tester, to print out the last 20 keys pressed in a scrolling buffer. Directionals and modifier keys print in different colours. You can clear the buffer by pressing "Enter" on either hand controller.

 

Pointless features, but I'm having fun now :)

 

Interesting random observation: if you allow the lower right action button as an "enter/select" action in a menu, and you happen to have spent a lot of time on IBM terminal keyboards of a certain vintage, it becomes incredibly natural to fly through menus :D

freecont.rom

  • Like 2
Link to comment
Share on other sites

  • 4 years later...

In the Nt-Mini-Noir-Jailbreak, an Intellivision core was added but the existing ROM formats were deemed unsuitable for the emulator so a brand new format was invented.

https://github.com/SmokeMonsterPacks/Nt-Mini-Noir-Jailbreak#intv2-rom-format

 

There is a tool "int2intv" here that may be useful: https://github.com/dot-bob/int2intv

As far as I know, .ROM and .INT should be the same thing, just different naming conventions.

Link to comment
Share on other sites

The kevtris file format is a self contained file like the intellicart and cc3 rom files but different.  The int2intv utility converts plain binary rom files to kevtris but it doesn't read cfg memory map files.  It would have to be modified to convert more files.

 

The .rom file extension is typically used for intellicart and cc3 formats; .int is typically a plain binary.

Edited by mr_me
Link to comment
Share on other sites

Aha, I thought that .INT = .ROM, but in practice .INT = .BIN? Then one either needs the .CFG file or in the case of Kevtris format, a look-up table like the spreadsheet that says which of a set of common configurations the program uses instead of allowing any combination of segments? I've got a feeling that the Intv2 emulator on the jailbreaked Nt Mini in that case may miss out a couple of programs, in particular if those use non-standard configurations.

 

It makes me wonder about the Intellivision emulator in Argon, which seems to take existing formats instead of inventing its own, if it has other requirements than the Nt Mini.

Link to comment
Share on other sites

On 12/26/2020 at 11:26 AM, carlsson said:

In the Nt-Mini-Noir-Jailbreak, an Intellivision core was added but the existing ROM formats were deemed unsuitable for the emulator so a brand new format was invented.

 

So someone decided to invent yet-another-file-format.  Great <sarcarsm>.  We already have *.ROM and *.luigi file formats that are self-contained.  There is no legitimate reason for Nt-Mini-Noir-Jailbreak to create a new one.

Link to comment
Share on other sites

On 12/27/2020 at 11:30 AM, carlsson said:

It makes me wonder about the Intellivision emulator in Argon, which seems to take existing formats instead of inventing its own, if it has other requirements than the Nt Mini.

We prefer canonical formats (.a26, .a78, .vec, .col, .lnx, etc), and support .rom and .int, but not the 2-file BIN+CFG format.

 

@ZihuaCode Can chime in with more details if needed.

 

We also have a server side database where we can look up a ROM based on MD5 or SHA256 hash. This is why you get all the meta-data such as display title, publisher, developer, release date, update date and thumbnail image for BYO ROMS (so long as we have an entry for it in our database). We are not currently storing the CFG type info based on a hash, but we could if it became a problem.

 

 

  • Like 1
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...
 Share

  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...