Jump to content
IGNORED

MBX reproduction?


Rastamafugg

Recommended Posts

Has anyone tried to make a reproduction of the MBX as a whole?  I've seen some joysticks built from new parts, but I was wondering if the the main box is reproducible in 2022? I couldn't find any attempts documented online through my searching.

 

I know the heart of it is a 6809 processor, and it relies on the Ti99 for video and some of the game sounds (other than what it drives out its own speaker).  Are there any custom chips that can't be sourced today?  I don't see why the touchpad, joysticks, and mic interfaces couldn't all be replicated.

 

I love obscure hardware add-ons for old computers, and this is one of the weirdest I've seen.  Shame it's so rare.

Link to comment
Share on other sites

In principle, is it possible?  Sure, probably.  Ultimately, with FPGAs, anything like this is possible, even when original chips are scarce. 

 

It's just a matter of the MBX being a product in which at best dozens of people have any serious interest, and even they (I certainly not least among them) aren't all that interested.  Which mainly comes down to the very small library available for the machine, and the essentially non-existent resources/tool/documentation for developing new software for it. 

 

If the MBX is ever going to get any traction, the first step isn't building a full-fledged clone system.  It's dumping and documenting the ROM and how serial communication with the TI-99 works and understanding the fundamentals of the machine's and its software's functioning.  Even just to the point where it's possible to create simple demos.  And we aren't even there yet. 

 

That alone is a big project that I'm not sure anyone's ever going to take up as their cross to bear.  It sure would be nice!  But I can't really expect someone to take that up, in principle. 

 

Who knows though.  Maybe someone just shows up on day and says "Championship Baseball was the defining experience of my childhood and 6809 assembly is my jam, and I'm going to figure this machine out!" 

 

One can dream. 

 

Still, as I say, the dream there is just seeing the machine *thoroughly documented*.  That doesn't actually build you a clone system. 

  • Like 2
  • Haha 2
Link to comment
Share on other sites

28 minutes ago, pixelpedant said:

In principle, is it possible?  Sure, probably.  Ultimately, with FPGAs, anything like this is possible, even when original chips are scarce. 

 

It's just a matter of the MBX being a product in which at best dozens of people have any serious interest, and even they (I certainly not least among them) aren't all that interested.  Which mainly comes down to the very small library available for the machine, and the essentially non-existent resources/tool/documentation for developing new software for it. 

 

If the MBX is ever going to get any traction, the first step isn't building a full-fledged clone system.  It's dumping and documenting the ROM and how serial communication with the TI-99 works and understanding the fundamentals of the machine's and its software's functioning.  Even just to the point where it's possible to create simple demos.  And we aren't even there yet. 

 

That alone is a big project that I'm not sure anyone's take up as their cross to bear.  It sure would be nice!  But I can't really expect someone to take that up, in principle. 

 

Who knows though.  Maybe someone just shows up on day and says "Championship Baseball was the defining experience of my childhood and 6809 assembly is my jam, and I'm going to figure this machine out!" 

 

One can dream. 

 

Still, as I say, the dream there is just seeing the machine *thoroughly documented*.  That doesn't actually build you a clone system. 

Good points, thanks!  Your YouTube videos on the MBX were the primary inspiration for the question.  I didn't realize the machine hasn't been fully documented yet.  That would have to be done first, for sure, and would require original hardware to help reverse engineer the system.  I wonder how good MB's internal documentation for the system was?  Although it sounds, then, that not even schematics survived the decades.

I grew up with an MC-10 and Coco 2 at home, so I'm more familiar with the 6809 in that context.  I used a few Ti99's growing up briefly, but I'm pretty much starting from scratch learning the system itself.  I'm curious about that serial communication between the two systems.  It uses both the joystick port and cassette port to communicate, which seems like a weird choice when the side port was there.  Someone with some serious hardware hacking skills must have come up with that solution! Does that mean it only sends input data back to the Ti99?  Any sounds/speech it generates come out of its speaker (although, if it's connected to the cassette port, I wonder why they didn't try to push an analog audio source through there?), and I assume the voice recognition would work by converting the voice command onboard and sending the relevant joystick/touchpad command to the Ti99.

On a side note, is/are the original designer(s) of the MBX known?  If they were still around, that would make a fascinating interview!

 

Link to comment
Share on other sites

18 minutes ago, arcadeshopper said:

I have like..4.     is there a shortage of these?

To answer your question, if I'm correct, the unit was only on sale for a few months before it was discontinued (Sept-Nov 83?).  Anything cancelled that quickly must have sold really poorly (although video game crash of 83 certainly helped).  Most units that are out there were probably bought on discount after it was discontinued, so I would guess the number of units out in the wild would be in the low thousands (maybe even high hundreds).  Nothing but a not-so-educated guess on my part though. ?

Edited by Rastamafugg
Link to comment
Share on other sites

30 minutes ago, Tursi said:

 

 

 

Nah, we're THAT far. Barry Boone released a set of libraries and source code back in 2000:

 

mbx.zip 31.85 kB · 3 downloads

 

I gather he demonstrated some of this work in person at one point long ago (might have been at Fest West?), but the source is mostly uncommented and by its own description unfinished, and nobody's ever done the work to figure out what it can really do in practice if untangled and developed further. 

 

There are a couple minor nuggets of useful information in it, but at least until someone with your own ability to dig into assembly source and suss out what it's up to digs into it and documents it, it's a long way from being a development kit for the MBX, and is more so just a collection of ephemera. 

 

  • Like 1
Link to comment
Share on other sites

29 minutes ago, Tursi said:

 

 

 

Nah, we're THAT far. Barry Boone released a set of libraries and source code back in 2000:

 

mbx.zip 31.85 kB · 3 downloads

I found this line in the readme interesting:

Quote

The MBX is communicated with via the joystick port.  Basically, you issue commands to the MBX in the form of a send queue, and wait for responses from the receive queue.  An interrupt routine (the 60Hz interrupt) is used to manage communications to/from the unit.

I'm curious to see how that queue was implemented.  If the communication was via the joystick port, I wonder what the cassette port was used for?

  • Like 1
Link to comment
Share on other sites

12 minutes ago, Rastamafugg said:

I found this line in the readme interesting:

I'm curious to see how that queue was implemented.  If the communication was via the joystick port, I wonder what the cassette port was used for?

Grounding.  Just grounding.  It actually identifies that as the purpose in the manual. 

  • Like 4
Link to comment
Share on other sites

Vastly more knowledgeable people than me (when it comes to TMS9900 assembly) have banged their head against Mr. Boone's source in the past, and not gotten much of anything out of the exercise.  But I suppose I should make my own concerted effort at some point, for whatever it's worth.  

 

Maybe those CALL LINKs will successfully compile, and actually do at least something interesting, as is, for example. Though the author's comments don't offer a lot of confidence, there (and seem to frame that more as an abandoned experiment). 

 

But even if those did have some demonstrable utility, it wouldn't really tell us all that much about the MBX.  Fully documenting a computer system, and knowing what happens when you send it some data over a serial interface, are pretty different thresholds of understanding. 

  • Like 2
Link to comment
Share on other sites

3 hours ago, pixelpedant said:

There are a couple minor nuggets of useful information in it, but at least until someone with your own ability to dig into assembly source and suss out what it's up to digs into it and documents it, it's a long way from being a development kit for the MBX, and is more so just a collection of ephemera. 

Well, via the TESTxxx files, you have contained sample code for doing literally everything. All that's missing is nice friendly documentation. Agreed that it needs better documentation, but I disagree with your conclusion that it's a "long way" from being a dev kit. At best it's a few hours away - assuming it works.

 

But I've insufficient interest to prove it. ;)

 

(Edit: It's the XB links that are by his own admission incomplete, not the assembly code.)

 

Edited by Tursi
  • Like 1
Link to comment
Share on other sites

1 hour ago, pixelpedant said:

Vastly more knowledgeable people than me (when it comes to TMS9900 assembly) have banged their head against Mr. Boone's source in the past, and not gotten much of anything out of the exercise.  But I suppose I should make my own concerted effort at some point, for whatever it's worth.  

 

Maybe those CALL LINKs will successfully compile, and actually do at least something interesting, as is, for example. Though the author's comments don't offer a lot of confidence, there (and seem to frame that more as an abandoned experiment). 

 

But even if those did have some demonstrable utility, it wouldn't really tell us all that much about the MBX.  Fully documenting a computer system, and knowing what happens when you send it some data over a serial interface, are pretty different thresholds of understanding. 

 

I would avoid the XB interface until you're very familiar with the pure assembly approach. You are adding a lot of complexity by throwing Extended BASIC into the mix of a system that needs interrupt-based timing. XB does not play nice with a 60hz interrupt and regularly misses it - if the MBX relies on regular polling, there is a chance it may never be reliable.

 

Start with the test program. Does it work? Then you have all the sample code needed.

 

I'm not asserting this is documentation. Just that if it works, it's an acceptable base for new software.

  • Like 2
Link to comment
Share on other sites

4 hours ago, Rastamafugg said:

To answer your question, if I'm correct, the unit was only on sale for a few months before it was discontinued (Sept-Nov 83?).  Anything cancelled that quickly must have sold really poorly (although video game crash of 83 certainly helped). 

Well, between the time Milton-Bradley announced it and shipped it, TI killed their home computer division. That spelled the end of mass-market 99/4a peripherals. Though certainly enthusiast products with limited distribution thrived for years, Milton-Bradley was looking for wide retail distribution.

I think they only shipped it to recoup sunk costs.

  • Like 1
Link to comment
Share on other sites

I wrote a while back what was in the MBX:

 

The chips in the MBX include:

  • GI SP1000 - Speech Recognition and Synthesis
  • MM52664MBX/N - 8K 24 pin ROM
  • ADC0809CCN - Analog to Digital Converter
  • HM6116 - Two RAM chips
  • HD68A09 - 6809 CPU (also runs the Coco!)
  • HD68A21 - Peripheral interface adapter
  • Assorted 74LS chips and a LM324 and some other LM chips
  • One chip that I can't read - a 14 pin one

Depends on how hard it will be to source these chips.  And identify that unknown one.  The ROM is socketed, and I haven't tried to dump it quite yet.  The datasheet is attached.

 

 

 

 

 

DSA2IH00124297.pdf

mm52164.png

  • Like 3
Link to comment
Share on other sites

Ask and you shall receive.  I give you the MBX 8K speech rom.  Or, it could be 8K of code for the 6809.  I have no idea.

 

The Digitalker and RS Online are the only two places I could find anything about the MM52164.  This was a custom programmed ROM by National Semiconductor, and has a 2364 pinout.

 

mbx_MM52664MBX-N_ROM.bin

@mizapf

  • Like 4
Link to comment
Share on other sites

High res of the internals. Note the 8K 2364 rom has space for a potential 28 pin 23128 (16K) or 23256 (32K) with a simple swap.

 

Edit: Added IC BOM

MBX IC COM

386N			Audio Amplifier
ADC0809CCN		Analog to Digital Converters - ADC
ADC0831CCN		A-D Converter ADC 8B Serial I/O ADC
CD4066BCN		Analog Switch ICs Qd Bilateral Switch
HD68A09P		6809 Processor
HD468A21P 		(HD68A21P) Perhipheral Interface Adapter for 6809
HM6116P-4 (2)		2048-word X 8bit High Speed CMOS Static RAM (4K RAM total)
LM324N			Operational Amplifiers - Op Amps Quad
MM52664MBX/N		8K 2364 ROM
SP1000			GI Speech Recognition/Synthesis
74LS74AP		Dual D-type Positive Edge-triggered Flip Flops with Clear and Preset
74LS125AN (2)		Buffers & Line Drivers Quad Bus Buffer With 3-State Outputs
74LS138N		3-line to 8-line Decoder/Demltplxr
74LS02N			Quad 2-Input Positive-NOR Gates


6ce7bea4a5bcee1cffece1f8b1ddc2f3.jpg

  • Like 4
  • Thanks 1
Link to comment
Share on other sites

From David in the Vintage Computer group on Facebook:

 

“Just eyeballing the ROM dump, it is most definitely 6809 machine code. The first few bytes are:

8638 = lda #$38

1F8B = tfr A,DP

10CE4800 = lds #$4800

8638 = lda #$38

B7A601 = sta $A601

while the last few bytes appear to be interrupt vectors, with the very last 2 bytes $E000 representing the reset vector, jumping to $E000 to start execution.”

 

I’m also sure there has to be a speech data block in there for when it says “ready” when you boot it.

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