Jump to content
Vorticon

TI 99/4A interfacing

Recommended Posts

Yup, I was correct. With only a minor modification to the prototype board, I was able to speed up the image transfer rate over 35x, going form 62 minutes to 1min 42secs! And I have not yet implemented the byte packing scheme Tursi suggested, which should give me an additional 250% speed increase at a minimum (accounting for the extra processing overhead for packing and unpacking). This should bring down the transfer time to somewhere around 41 seconds.
Here's what it looks like currently:

 

https://youtu.be/2STv2FUbytI

  • Like 5

Share this post


Link to post
Share on other sites

So I implemented the color depth reduction scheme as suggested by Tursi, and it brought down the image transfer time from 1'45" to 1'13", a 70% boost in speed. This was kind of disappointing as I was expecting something in the order of 250%. Bitwise manipulation in Python is apparently not terribly speedy, and there is the added overhead of unpacking the bytes on the TI side. The last available optimization is creating a lookup table for the color conversion on the TI as this is currently taking up a good portion of the processing time during the transfers.

More to come :)

Share this post


Link to post
Share on other sites

OK, with the color look up table in place, the transfer time is now down to 47 seconds. I think this is the best I can probably get out of this setup. There are probably some minor code optimizations I could do, but I doubt it would shave more than a couple of seconds at best.

I am not terribly happy with the color rendering however with the look up table as compared to the original color distance calculation method, so I will need to tweak the table a bit to get better results. I'll post another video of the final result once that is done.

 

Overall though, a success :) It only took a year of intermittent experimentation... :D

  • Like 1

Share this post


Link to post
Share on other sites

It's possible that the color depth at 332 is not good enough for the matching you want to do - it will definitely look different. I used it a bit in the DOS days and it's really best qualified as "ok". :) You /could/ skew the color matching table a bit, rather than going for pure mathematical matching, since you know the source image has color shifted. :)

 

There's also a trade off of how much you want to 'cheat' by using the PI's processor (ie: if it did the color matching, you'd have the full original source image). 47 seconds sounds about what I'd expect though, so that was a success! :) Congratulations!

Share this post


Link to post
Share on other sites

It's possible that the color depth at 332 is not good enough for the matching you want to do - it will definitely look different. I used it a bit in the DOS days and it's really best qualified as "ok". :) You /could/ skew the color matching table a bit, rather than going for pure mathematical matching, since you know the source image has color shifted. :)

 

There's also a trade off of how much you want to 'cheat' by using the PI's processor (ie: if it did the color matching, you'd have the full original source image). 47 seconds sounds about what I'd expect though, so that was a success! :) Congratulations!

 

Thanks :) Several times I came very close to pulling the plug on the project, but you guys have been a great source of help and have always come up with suggestions to get me through each thorny problem.

 

As far as the image processing aspect, what I'm currently doing is first turning off any pixels that are close to black in any 8-pixel block, then averaging the combined RGB values for each 8-pixel block, and comparing that average to the RGB average for each TI color. It does not get much cruder than that, but it's fast. The problem here is that certain colors are very close to each other and in one case has exactly the same average, so I plan on evening up the distribution a bit and see what I can get. It's going to be purely trial and error here though.

 

And yeah, I really want to showcase the TI's abilities here. If I wanted to cheat, then I could have the Rpi run a full dithering algorithm on the entire image and simply just pump the converted TI color values to the TI to get great looking images a la Convert9918, but where's the challenge in that? :)

 

Once I clean up the color rendering a bit, my next challenge is going to be to get the TI to do a simple object recognition, likely just a colored square on a flat surface (at least to start), no matter where it is on the image. I still have to do some of research on this. I found an old article in a Robotic Age compilation that looks very promising.

  • Like 2

Share this post


Link to post
Share on other sites

I've been trying to tweak the color table, and I could not achieve a substantial improvement in the image, so I decided to try converting the RGB image to black and white for comparison. Below are the results: I think B&W is a definitely clearer than the color version, and I may stick with it.

 

SW Color

SW B&W

Sabre Wulf cart

Walid Color

Walid B&W

Yours truly :)
  • Like 3

Share this post


Link to post
Share on other sites

You don't have an MBX system? No worries! Here's a fun replacement using late 80's technology with the Archer VCP200 voice recognition IC from Radio Shack which will allow you to control virtually any game using voice commands in lieu of the joystick. It is a speaker independent system that does not require training. However, it is only limited to a few words, although still quite usable.

 

https://youtu.be/uBc2XhaJ0-g

  • Like 3

Share this post


Link to post
Share on other sites

Thanks :) I'm going to create a PCB for it and print an enclosure with my 3D printer. I'll also add a fire button. I need to find a good headset microphone like the MBX one. The final product will be a universal voice activated joystick.

It will make a nice addition to my eclectic experimental hardware :D

Share this post


Link to post
Share on other sites

Here's the home made PCB for the voice recognition project,all drilled out and ready for the parts. I should have a fully assembled prototype by Faire time this weekend :)

 

Voice recognition PCB

 

And now a rant: I miss my Radio Shack store! Say what you want about the management of RS over the last decade, it was still the fastest way to get your hands on common parts when in a pinch and unable/unwilling to wait a week for an online order to arrive. With the closing of a large number of stores, now the closest RS store to me is 25 minutes away without traffic whereas it used to be only 5 minutes. Today I needed a 7805 regulator and a couple of switches for the project, so I drove over there and got what I needed without fuss. The store clerk had absolutely no idea what I was doing, but I was used to that by now anyway. You really can't beat that kind of accessibility, not to mention that I love to rummage through the store every time I visit looking for interesting finds. I keep hoping that RS will rebound with the resurgence of the DIY movement...

  • Like 4

Share this post


Link to post
Share on other sites

Here's the assembled and tested board. There was a missing trace in the design, easily fixed. I also trimmed the edges a bit to make it fit into the project box. Works great!

Tomorrow I'll be packaging it inside a project box :)

 

Assembled speech recognition board

  • Like 2

Share this post


Link to post
Share on other sites

Vorticon,

I really like this last speech recognition project of yours, but while investigating the possibility of re-creating it for myself, I've hit a dead-end when it comes to sourcing the Motorola chip. It appears to be 'unobtainium'. In fact I've not been able to even locate a datasheet on this IC. I have found that it's a "bit-masked programmed" 6804 microprocessor. So, if a blank M6804 can be located, is there any chance of reading your chip and reprogramming a blan device, or is it part of the manufacturing process, which means we're all screwed and can just be envious of your new TI toy?

 

gallery_35324_1027_29078.jpg

 

 

gallery_25753_1039_254821.jpg

 

sml_gallery_35324_1027_56673.jpg

 

** EDIT ** Could you please scan the documentation that came with it and post it to the forum?

Motorola 6804 - MCU Manual -Sept 1985.pdf

Edited by --- Ω ---

Share this post


Link to post
Share on other sites

Yes I'm afraid it's pretty scarce, but I was able to secure a spare one on Ebay a couple of months ago. I think they pop up every once in a while. I'll keep an eye on one for you :). There is no published datasheet for the VCP 200 as it is considered proprietary and the voice recognition code and data are permanently burned in ROM. What I do know is that it is an early Motorola microcontroller with 1.5K of ROM and a few bytes of RAM. As to cloning the chip, I'm not sure if that is feasible but I am definitely not an expert here. ksarul may be the person to answer this one. I'll try to scan the documentation tonight if I have the time otherwise I'll do it after I get back from Chicago. Here's a very informative video that explains in detail how to get the VCP200 set up:

https://youtu.be/kFth9K_IvwA

Here's the final project:

Completed voice recognition project general


Completed voice recognition project top


Completed voice recognition project back



Here's a test of the final prototype with Jet Set Willy :) Please don't criticize my gameplay as I was concentrating on the voice commands :P

 

https://youtu.be/aov_Zx8oFAM

  • Like 1

Share this post


Link to post
Share on other sites

Thanks :) In the end though, voice recognition on a retro computer is mostly a gimmick, but a fun one nonetheless! This has been one of my favorite hardware projects for the TI to date.

  • Like 1

Share this post


Link to post
Share on other sites

 

Here are the design files if someone wants to reproduce the project:

 

I actually think I have one of these in storage somewhere, I remember wanting to dabble with it in the 90's.

 

 

Share this post


Link to post
Share on other sites

Yeah, that was the case with me, until I actually decided to finally do something with it a few decades later :grin:

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