-
Content Count
64 -
Joined
-
Last visited
Posts posted by Meddler
-
-
More astounding work being done to expand the old TI99... which is fine for the hard-core PEB owners.
IC2 keeps cropping up as a useful expansion to utilise all the Arduino goodies.
How realistic is it to roll Stuart Conner's I2C through the Sandbox to provide a simple method and maybe expand our user base to the youngsters and unexpanded types?
-
After watching some videos on YouTube and trying to learn more about electronics and other assorted machines...
With out home grown American power house Texas Instruments computer. Unlike other machines from across the pond *cough cough*
Where are the robots!
Where is the LCDs!
Or something silly like controlling a model train set!
Absolutely, show those Arduino boys that nothing is new!
I think that the I2C is the route to go but...
Remember these? Larson light runner i.e 555+4017 a.k.a Night Rider lights
Well flashing lights is not a problem and if you bear with me then I will explain how to drive an 10x10 grid or 100 LEDs from BASIC & Console only.
I bought a metric dozen as I could not buy the components that cheap and it meant that I could use the P.C.B directly.
I only wanted the 555 but it was bugging me to find a use for the 4017....
All that this device, the 4017, does is sequence a '1' from one output to the next output of 10.
Desirable uses are:
1). Relay driver
2). Servo driver
3). Stepper motor driver
4). Selector
5). Flashing lights!
It turns out that the 'CLOCK' and 'CLOCK INHIBIT' are the inverse of each other so holding 'CLOCK' '1' and pulsing 'CLOCK INHIBIT' with a Joystick select line will step the outputs. A simple BASIC routine in a 11 count loop, stoping at the count required will leave that output 'high'; completing the count to return it 'low'.
So,
1). Relay driver x 9, yes!
The PCB comes ready with a 555 timer to provide 1mS pulses for a servo
Clocking the 4017 outputs fitted with resistors that connect to the 555 timing capacitor will give Servo movement.
So,
2). Servo driver, yes, with reservations i.e total Servo travel in discrete steps (multiple 4017s can be chained).
Combining output logic with transistor drivers does allow rudimentary Stepper motor drive.
3). Stepper motor, yes, if you don't need anything special and only in one direction which is why we need a Selector.
The real limitation has been that of having only two outputs from the Console in BASIC so using a 4017 as a selector means that one output can be directed to many devices. Combining more than one 4017 gives much greater flexibility by directing a clock to different devices i.e forward/backward.
4). Selector, yes, this opens the possibility of multiple axis/action control.
In the real world it will be recognised that each output is active before being left at the last count so a capacitor/resistor delay will be needed if the transition time is a problem.
Flashing lights, no problem, two 4017s are each connected to the two different Joystick select lines, one 4017 is fitted with driver transistors for column drive and all the LEDs are connected in a grid to the other 4017.
Each LED will light as the clocks are cycled, row by row, column by column, row by column etc.
5). Flashing lights, yes, no problem!
-
Addendum 2:
I have simplified the 555 H-Bridge driver as I realized that an extra 555 can provide the reset function and no voltage level conversion is required to allow a power supply up to 15v.
The two Joystick outputs are applied to Trigger one of two 555 I.Cs and is reset by triggering the other; the momentary action of both outputs being 'high' is detected by the third 555 which acts as an inverting Schmitt driver using the 2/3 & 1/3 switching points i.e triggered when above 2/3 Vcc and released when below 1/3 Vcc
Ahem! Addendum 3:

I have a revised diagram as whilst the theory was fine, when I got around to trying this, it is unlikely that the 'trigger' has disappeared quickly enough after reset and so the alternate (re-setting) 555 gets set. Ha! Theory versus practice in the real world.
My apologies to those that down-loaded the previous versions. Here is another one:
You will notice the addition of a delay to the reset pulse and extra capacitors including a 'fat' one on the power lines. So, as long as your 'trigger' has gone back 'high' before the delay time of 100K x 1uF then all is well.
The inputs are very sensitive and are easily upset by the inductive load of a motor so capacitors everywhere!
-
1
-
-
My device just reached the US and is still on its way for delivery... Looking forward to playing with it. I should be able to send the appropriate string commands from within RXB to save and load files for data logging purposes. RXB has the super versatile CALL IO command which should be able to provide the needed functionality. Essentially send the data logging command, send the current data to be logged and terminate the process. Lots of options here...
Hi, did you get side-tracked, maybe
Any up-date on this?How did this thing work out? I bought an MP3 recorder/player for starters.
-
1
-
-
Okay, there are lots of cheap Chinese electronics available in the marketplace, like Ebait for example . Has anyone given any thought on how they would interface some of this stuff to a TI?
I bought one of these things with the intention of using it for TI99 - PC transfer/hookup but have not tried it yet; it turns out that Bluetooth was initially invented to provide extended RS232 range! (Wiki)
HC-06 Wireless Serial 4 Pin Bluetooth RF Transceiver Module RS232 https://www.ebay.co.uk/itm/For-Arduino-HC-06-Wireless-Serial-4-Pin-Bluetooth-RF-Transceiver-Module-RS232-1X-/172394196735?hash=item28237eaeff
-
1
-
-
The problem with putting active circuitry on the joystick port is that there is no 5v line, so you need to get power from somewhere else.

With a couple more diodes and a capacitor you can "steal" 5v from the Joystick select transistors at p1&2, easily enough for a CMOS 555 and more.
-
For a Winter project and seeing as you lot are so keen on games then I thought a Pinball table would be a fun HID for the TI99?
Flashing lights, sound effects...

-
Addendum 2:
I have simplified the 555 H-Bridge driver as I realized that an extra 555 can provide the reset function and no voltage level conversion is required to allow a power supply up to 15v.
The two Joystick outputs are applied to Trigger one of two 555 I.Cs and is reset by triggering the other; the momentary action of both outputs being 'high' is detected by the third 555 which acts as an inverting Schmitt driver using the 2/3 & 1/3 switching points i.e triggered when above 2/3 Vcc and released when below 1/3 Vcc
I had inserted a Schmitt trigger circuit as the simple principle of detecting both outputs being 'high' cannot guarantee that both 555's will reset.
Anyway, the simplified drawing is attached:Differential_555.bmp Differential_555.bmp
J1 & J2 are connected to the Trigger pins 2 and Dual or differential drive can be connected to respective Output pins 3. The Diodes shown on the outputs are likely to be necessary for inductive loads.
p.s I have figured out how to drive multiple outputs from one Joystick output.-
1
-
-
He,he....I'm playing Parsec! How old am I!
....Part of a bunch of cartridges including Munchman & Indoor Soccer I found on ebay for £14 the lot and half of that was shipping!
Hours are going to be wasted!!
I should re-coup some of the cost by re-selling the Extended Basic cartridge and, you never know, some-one might even want the Home Management cartridge.
-
2
-
-
If you really are just limiting yourself to the joystick port and TI BASIC, I would think that any mouse (whatever the interface/protocol) would have such jittery movement that it would be impossible (or very annoying) to use. ...
Hi, I found this, same video chip:
There is nothing new under the Sun!!
-
1
-
-
...I have no idea why you think we need to jump one character at a time on screen when we can use auto motion sprites.
That would be because Sprites are not available to TI BASIC & CONSOLE ONLY users
which is the challenge of this post so, unless RXB can be loaded to a basic console then your comments have no place on this thread.
-
If you really are just limiting yourself to the joystick port and TI BASIC, I would think that any mouse (whatever the interface/protocol) would have such jittery movement that it would be impossible (or very annoying) to use. Any 'modern' mouse has a resolution of probably 200 dpi or more, and BASIC trying to read and decode the protocol at any sensible mouse movement speed just isn't going to happen. If you're working in assembly however you can get a reasonable response ... http://www.stuartconner.me.uk/ti/ti.htm#connecting_serial_mouse.
I agree that a proper interface makes more sense (joystick port mouse not my idea, btw) but the 200dpi of the "mouse" is not relevant as that is the resolution of the "mouse" not the screen i.e scaling would be required to suit any particular screen resolution and you are also right in that to get smooth(ish) movement would require direct drive at bitmap level. Not a difficult task really, hence my question to/on RXB.
Limited to the Joystick port and BASIC means that you might as well use the joystick as a mouse using the existing methods, jumping one square at a time.
Using XB ACCEPT AT & DISPLAY AT provides more realistic "mouse" operation but we are now getting far beyond the initial scope of the post.
-
This is off topic but I need to know and I think you know the answer.
Joystick port on console. Pins 2 and 7 are output the rest are input. Is that true? I'm trying to figure out what direction to install diodes on all lines except 2 and 7. Thanks for your help.
All keyboard inputs (i.e including Joystick) are held 'high' by 10K resistor to +5v and are strobed 'low' to activate therefore anode to inputs -I>I-+ cathode to output.
-
...RXB is free and available for anyone to use to test this concept such as a joystick mouse routine in RXB.using CALL IO
...If CALL IO is that versatile then could it be used to decode the PS/2 protocol? So much easier than re-inventing the wheel (mouse) and we get a full keyboard too so no conflict with the internal keyboard.
That said, the reason all peripherals have their own DSR etc. is to avoid using console memory in which case I stand by my suggestion of using the side bus port.
Mean-while let us see who spots that I typed 9902 instead of 9901 and we can nominate them as they obviously know a thing or two.

-
Yet RXB since 2001 also has a routine that uses the GPL ACCESS TO CRU Input/Output command:
...
So CALL IO also works with the Joysticks too see Smart Programmer issue Volume 2 Issue 4 Sept 1985 for CRU Map.
Using a specific CRU line on Joysticks would probably be much more effective than scanning entire keyboard
RXB has many powerful tools that very few have taken advantage of over the years.
That is great! I therefore nominate you to give us a "mouse", after all you have to be the expert here.

-
Why can we not build a Mouse that runs from the Joystick port? The two sticks would give us X and Y and 2 mouse buttons?
A lot of "mice" derive the movement from two, X-Y, sources to provide a simple square wave signal proportional to speed which is then processed.
I doubt that the JOYST routine can be polled fast enough for meaningful results if that square wave is sampled and would also not be active whilst the keyboard is required. It is the case that Keyboard and Mouse are treated as separate entities on PCs. (It caused a lot of heart-ache when the first PS/2 "mice" were introduced).
Given that most "mice" are PS/2 or USB then it seems to me that a plug-in to the side port with it's own DSR would make more sense.
Though, on reflection, a routine could be written to interrogate the keyboard 9902 CRU pins....
-
Whilst waiting for my cheapo Chinese imported MP3 recorder (no tape deck, thankyou, !shudder!) I have continued my pursuit of Joystick port interfacing <strike>dreaming </strike>ideas.
The limitation is that there are only two output lines so you can have two on/off functions or forward/reverse but not both which is very limiting.
It occurred to me that if a motor driven disc was moving a reciprocating arm then two motors could be used and with the cassette motor drive to a solenoid or vacuum line giving X-Y movement and function. So a Plotter/Drill and a Pick & Place is possible!
Realistically, what has been going through my mind is
"What task justifies leaving a TI99 powered up or justifies it's use as a tool?" "What job would be suitable for full "throw" and return action?"
Here goes, Solar panel drive, monitoring and reporting: Not only does the "out & return" action make complete sense but you have the full processing power for monitoring and recording the complete situation of sunlight, voltage and time of year etc.
What a grand project that would be!
And for you Gardeners, Greenhouse/ Propagator management, again, the "out & return" action works for ventilation with a temperature switch and watering by the Cassette motor drive. Though I would not recommend leaving the TI99 in that environment.
And we have discussed Weather monitoring.
Any other ideas? I fancy using it to shoot down over-flying Drones, maybe tie that into a game scenario.
The objective here is to bring the TI99 into daily life rather than an obsolete curiosity for rainy days. -
There is a bit of excitement on this side of the pond as a Ti99/4a Super Sketch has been offered on ebay.
I have never seen this before and wondered if details are archived?
Can you imagine, a whole 192 x 256 resolution? LOL-
1
-
-
I'm not sure I understand what you're implying but if it has anything to do with using the keyboard instead of a 6 button game pad then it's out of scope for this project.
CALL KEY using key-unit 0, input is taken from all the keyboard i.e including the 5 Joystick inputs; key-unit 1 is left side i.e one Joystick and key-unit 2 is right side i.e the other Joystick as the keyboard shares the same connections to the Joystick port but you need to toggle the JOYST CRU bits
This gives the option of 2 x 5 inputs or 1 x 5 inputs with out the two switch quadrant info. of a Joystick and/or CALL JOYST for quadrant info.
Maybe RXB will help.
-
1
-
-
Perhaps this might make things a lot simpler; use CALL KEY(n,k,v):
Since using the Joystick port to switch a 555 I realised that the split keyboard CALL KEY(n,k,v) where n=1 or 2 polls the same CRU outputs which is handy because it means that key press can be monitored in the same routine; the CALL JOYST routine ignores the keys but instead formats the quadrant information.
-
1
-
-
Whilst working on a Channel Tunnel contract (Rail Tunnel between England and France) I discovered that the processor controlling the signalling interpretation was our close friend the TMS9905. These units were fully climatically tested and are presumably still in daily use.
The parts were becoming obsolete at the time and so I spent a lot of time fixing new units using any parts that could be found where-as, I was told, initial production units using fresh parts from TI all worked first time. My personal experience is that TI components where top-notch and my preference over any other manufacturer...and TI became complacent too, getting caught for not testing full space-worthyness, presumably as they knew it was not really necessary.
-
Why a cable? A sidecar box could contain modern miniature components and a hard drive. Only cable would be for external printer port connector etc.
-
...a couple of my cards have overly bright LED's - I mean ridiculously bright where I have to put something in front of the Pbox when I use it. I have a drawer full of unused LED's, but I have no idea how lumen levels work on LEDs (how are mA's translated into brightness levels). It would be a waste of time to replace the LED's only to swap them out for something as bright or brighter as what I'm replacing, so a little guidance would be helpfulI'm looking for something about the same brightness as the original TI card lights.
There is no direct relationship between lumens and milli-amps except for the same type of LED. Back then you needed 20mA for a Red LED just to get it lit but now we have many variations of "Super Bright" LEDs at 10mA or less.
To solve your problem you can simply increase the existing LED resistor say, 3 times greater, in the PeB when you change the LED.
A simple way to experiment is to discover the existing resistor value and try it with series multiples of the same value. LEDs are easy to test/measure if you have a Meter and resistors available.
-
Clearly I will not be getting a PEB 'cause you lot have them all!

-
1
-





What can you control with the Ti-99/4a
in TI-99/4A Computers
Posted · Edited by Meddler
Following up on my post #18
"Remember these? Larson light runner i.e 555+4017 a.k.a Night Rider lights"
it has since occurred to me that the PCB was wired so the outputs could be replaced with a CR network such that quick "passing" pulses can be ignored in a clock count from a joystick port and only the final count output would remain "high" - to turn it "off" would require the completion of the count.
Meanwhile the TI99 is released for other tasks.
The 4017 can supply only a few milli-amps. so to drive relays or lamps would require a transistor or some-such.
4017s can be cascaded for more outputs or the other joystick port can be used fro X-Y selection.
I was thinking that this could also be used as a parts locator on an X-Y grid with data-base selection.