Jump to content

Photo

Li'l Bro ii - A better Unisonic Champion simulator for the Intellivision


27 replies to this topic

#26 Gernot OFFLINE  

Gernot

    Moonsweeper

  • 370 posts
  • Location:Switzerland

Posted Fri Mar 23, 2018 4:52 PM

Frontier, the predecessor to pioneer (much more as it is to Elite4), has various counters of which even our veteran dev. had no idea what exactly they count and when they will be used.

but as an example, me as player will think why do i have to face the bad ass heavy armed maximum shielded "imperial courier" so often, maybe it's just because you "murdered" to often unarmed small fighters of which everybody thinks "what are they good for?". but maybe it's also just because you turn more often to starboard or whatever behave.

 

i know that our young devs turned later all to "percentual" adding to the result, but i didn't think that's the right way it has to be done.

 

use the behave directly on rand and the game will act "intelligent" because it acts on you, but not always, and not always as expected.

 

thus in fact:

int getRandomNumber()
{
     return 4;  // Chosen by fair dice roll.
                // guaranteed to be random.
}

imho, this is far less complex as to script a rig with three joints.

to use a cad is easy, but to guess "what does it if i move this link and that link and how do i have to move the third link".


Edited by Gernot, Fri Mar 23, 2018 5:19 PM.


#27 decle OFFLINE  

decle

    Chopper Commander

  • Topic Starter
  • 216 posts
  • 0x10 bits or less

Posted Fri May 11, 2018 5:29 AM

Wow, that took rather longer than expected, mainly because I got distracted by other projects.  Anyway, this is Bottom Gas update two, the end of the journey toward a Unisonic Champion that is not completely rubbish.  This time we look at sound and controls.  These might seem very distinct things, but the nature of the General Instrument chipset, and specifically the AY-3-891x range of chips, tends to link them.

As has already been highlighted, through part of its history, the Gimini Mid-Level System reference design had an AY-3-8910 Programmable Sound Generator (PSG) in it.

arch1.png

Had this been implemented it would have given the Champion the same audio capabilities as the Intellivision Master Component and two 8 bit ports for controllers.  Even without the "cunning" encoding scheme used on the Intellivision, this is enough for two 8 way joysticks each with up to 4 fire buttons.

So, why was the AY-3-8910 not included?  Unfortunately it appears that the AY-3-8910 was not available at the point the Unisonic Champion was put together.  The evolution of the GI programmable product line can be traced through three documents.  There is a single Gimini Programmable Game Set product listed on page 88 of the 1977 GI data catalogue.  This design is a hybrid, containing a STIC with hardware scrolling and MOBs, but no GRAM.  Like the Unisonic, the processor is disabled during active display and sound is produced by the STIC.  Although a number of card games that made it to the Unisonic are listed, the weird split graphics mode is not present.

At the beginning of 1978 this single product has been split into two, the 8950 Mid-Range and 8900 Full-Range systems shown on page 49 of the 1978 Gimini TV Game Circuits.  Neither the Mid-Range or Full-Range systems mention the AY-3-8910.  The Full-Range system has been improved through the addition of GRAM, VBLANK interrupts and reduced graphics cycle stealing.  It is unclear how audio will be produced in this design.  Meanwhile the Mid-Range system has been chopped back with the removal of MOBs and RAM requirements more than halved.  At this point things like the YES and NO controller inputs have been defined, but details of the bizarre graphics mode are not mentioned.  The card games also seem to have disappeared.

By the time the 1978 Data Catalog was released preliminary data for the AY-3-8910 is available and it has been included as an optional component in both the Mid-Range/Challenger and Full-Range/Deluxe Systems.  It is this incarnation of the Mid-Range system, from page 74, that is pictured above.  At this point the design is representative of the Unisonic Champion.  So my previous description was probably incorrect, rather than the PSG being removed from the design for cost reasons it is more likely that the Unisonic Champion simply pre-dates its introduction.

Even if this is not the case there are a couple of reasons why it might not have been included.

Firstly, the resulting system might have felt rather unbalanced, with sound capabilities far superior to its graphics or computational performance.

Secondly, it would have pushed up the system cost.  As Joe pointed out, about 10% of the $300 retail cost of the Intellivision went on the 8 Gimini chips supplied by GI.  It seems that the Unisonic Champion sold for a recommended price of $150, not exactly bargain basement.  Let's speculate that about 10% of this, say $15, went on the 3 component Gimini Mid-Range chipset.  Adding an AY-3-8910 and some decent controllers would have pushed up the retail price, the system would be more expensive than the RCA Studio II ($150), closer to the Channel F ($170) and 2600 ($200).

So let's park the possibility of including an AY-3-8910 for the moment, what else could have been done?

Remember, the three tones of Unisonic sound is generated by the GIC, how about if we treat the lower 6 bits of address $96 as an oscillator period, like the Intellivision?  That would give 63 tones rather than three, a big improvement, but significantly less capable than the AY-3-8910.  So what can we do with that?  Well with a bit of careful choice...

Attached File  lilBroSoundDemo.rom   5.56KB   8 downloads

It should be noted that Li'l Bro does not properly represent the tone of the actual Unisonic sound.  However, it looks as though the harshness of the real machine might be a bug, as documented in exquisite detail on line 255 in the MAME code for the GIC.  So for the purposes of this experiment I have assumed that this is an error, one that has been fixed in our enhanced GIC, leaving a pure square wave output like the AY-3-8910.

If we sacrifice an additional RAM location we could perhaps add a second voice, then Bottom Gas might sound like this:

Attached File  lilBroBottomGasUp2.rom   9.06KB   8 downloads

OK, it's not Mozart, but it is a reasonable start and could probably be improved with a bit of fettling.

Again, surely the cost of doing this change would have been negligible in the overall VLSI design?  The results are usable, but not great, and maintain a reasonable differentiation between the Intellivision and its little brother.

How about controls?  Well, clearly Dragster was chosen for Li'l Bro because the core game only needs two inputs per player.  While with 4 way joysticks we could add the controls for the steering version of the game, there isn't enough vertical screen resolution to make it work.  So, all in all there is not much I can meaningfully demonstrate.

However, let's consider what would have been possible.  According to David Viens, the Champion's controllers use exactly no electronics.  Four switches are connected to the EBCA output lines on the CPU and the EBCI input, as shown below.

schematic2.png

When a BEXT instruction is executed one of the EBCA lines goes high and if the associated switch is closed, this is seen on the EBCI input.  Simple and easy.

However, if only GI/Unisonic had added a 74154 4:16 way decoder and some diodes to the design, they could have had 4 way joysticks with fire buttons.  Probably less than $1 of electronic components.  Admittedly they would have required more complicated controllers, that would have pushed the price of the console up, but they already had the basics of a design with the analogue joysticks used on the Unisonic Olympian.

olympian3.jpg

Unisonic could also have saved a little money by removing the pointless rage quit reset buttons from the Champion design.

So, I think that serviceable sound and controls was within the reach of General Instrument.  Overall I hope to have shown that a more sensible little brother to the Intellivision probably was possible.  Whether it would have been enough to make the console any kind of success is doubtful, graphically the system is still very weak.  There are of course other ways in which the design could have been improved, by adding some 16bit RAM for example, however, I think Li'l Bro shows that these were not required for interesting games to be produced.  It would be very interesting to chat to the guys who designed the GIC graphics processor at the heart of the Unisonic Champion to understand the constraints and priorities that led to such a strange product.

And that about brings me to the end of my investigations and the Li'l Bro project as a whole.  I hope it has been a fitting tribute to the ugly duckling of the GI family.

As always, if you have any thoughts or comments please let me know.  In the mean time, have fun and Happy 40th Birthday to the Unisonic Champion!
 



#28 nanochess OFFLINE  

nanochess

    Processorus Polyglotus

  • 5,393 posts
  • Coding something good
  • Location:Mexico City

Posted Thu May 17, 2018 7:28 PM

Kudos man :) :thumbsup:

 

I'm amazed by the quality of your research on the system and even more by your clear writings.

 

:thumbsup:






0 user(s) are browsing this forum

0 members, 0 guests, 0 anonymous users