Jump to content
IGNORED

Intellivision development, back in the day


decle

Recommended Posts

In terms of a 6502 vs. CP1600 comparisonthe original purpose of this digressionI don't think the 6502 has much of an advantage here. You can, though, TSX followed by LDA $100,X or the like, though, if memory serves, and do something similar to your sequence above. And since you get indexing for a mere 1 cycle penalty (e.g. LDA $101, X, LDA $102, X, etc. to access different elements of a stack frame), the 6502 does get the benefit of low-cost random access to a stack frame.

CC65 uses an area of memory set aside to act as the parameter stack :-

 

http://wiki.cc65.org/doku.php?id=cc65:parameter_and_return_stacks

 

This generates additional overhead when dealing with local scope variables but you can make use of the register directive to try and get CC65 to use some space in its pool of ZP locations (there are other usage rules to adhere to).

Link to comment
Share on other sites

  • 5 months later...

Wow, I just found this thread and... wow! I knew about the Black Whale and all, and I've spoken to Keith Robinson and others about INTV development, but this discussion is a treasure trove!

 

BTW, maybe I missed it if someone identified it upthread, but the terminal in the photo in the first post looks to be a C. ITOH CIT-101, which was a DEC VT-100 clone.

Edited by Big_Mo
  • Like 2
Link to comment
Share on other sites

Even at Mattel in California, the programmers would often say they worked on a PDP-11 (timeshared), but I think they might have been PDP-11 clones. APh might have had an actual DEC PDP-11 or two. Memories might be fuzzy with these guys, it was a long time ago.

Link to comment
Share on other sites

  • 4 weeks later...

Hi all,

Firstly thanks for the ongoing and very interesting discussion.

I've been working on an update to development information, and I've posted the results to the top of thread today. Rather than rework the rather lengthy in-line post, I've moved to a PDF. Hopefully this will make integrating new information a bit easier going forward.

As well as relevant comments from this thread I have included material from the Intellivisionaries podcast interviews up to an including episode 31. I have also approached Rick and Chris of the Intellivisionaires to see if they could solicit some feedback and corrections from Keith, the other Blue Sky Rangers and developers.

Hopefully this will help flesh out an accurate picture of how things were done and with what.

 

Cheers

 

decle

  • Like 1
Link to comment
Share on other sites

Thanks for compiling that info.

 

I always wondered what was "modified" in the Keyboard Components development systems aka black whales. A KC was recently sold that came from Mattel, is it modified?

 

I was thinking that the serial data transfer was due to the KC 6502 bus being 8-bit and the data/code being transferred was 10-bit. What would you have to modify to make it work? I'm guessing some 6502 software is needed, how is it executed?

 

David Warhol mentioned his PC based assemblers supported two types of syntax. I was thinking APh used one that they previously used and adapted to different target cpus, maybe closer to pdp-11assembly. They must have had the GI cross-assembler at Mattel as well, probably free from GI. Up to the programmer to use GI or APh assembler.

 

Keith has mentioned that Mattel went cheap when buying their development systems and that APh, where Kimo Yap worked, had the better stuff. Here you can find a brochure of the clones Andromeda made. http://www.mirrorservice.org/sites/www.bitsavers.org/pdf/andromedaSystems/ The software is the same to the programmers sitting in front of the terminal.

 

APh, where Kimo Yap and Tom Loughry worked, had hard disks, they seemed to get the bleeding edge technology. In those days hard disks might have been removable platters.

 

There was a story about the floppy drives at Mattel having a higher capacity non standard format. They were supposed to be archived to a standard format upon the sale of assets in 1984. Later at INTV when they tried to read the disks they couldn't and had to source some ancient obsolete drive to read the floppies. Can't remember what episode podcast.

  • Like 2
Link to comment
Share on other sites

And INTV published a couple of Atari developped games. They were slightly modified. The development tools by David W would have had to support the GI assembler syntax for that reason. And of course they also worked on old APh games.

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

Thanks for compiling that info.

 

I always wondered what was "modified" in the Keyboard Components development systems aka black whales. A KC was recently sold that came from Mattel, is it modified?

No problem. My current hypothesis, and I'm basing this on nothing more than I think this would be the simplest possible way of doing things, is that no hardware alterations were made to the KC itself. I suspect that the additional serial UART needed to talk the PDP-11 and any KC bootloader software were on a KC cartridge, possibly just a bare board, that plugged in the back like the BASIC cartridge. I don't think it is clear whether any additional diagnostic software was made available to the Master Component via the Black Whale. If it was, I would imagine the cheapest option would be to have it linked as part of the build process and loaded into the shared RAM along with the code under test.

 

 

I was thinking that the serial data transfer was due to the KC 6502 bus being 8-bit and the data/code being transferred was 10-bit. What would you have to modify to make it work? I'm guessing some 6502 software is needed, how is it executed?

Some interfacing would have been required to do a parallel interface, but chips were available, for example the 6522 VIA which interfaced two 8 bit parallel ports to a 6502 with the minimum of fuss. So I don't think that the 10-bit / 8-bit switch is the cause of the change to serial comms. I would speculate that it is down to removing the need for a parallel card in the PDP-11, which would have saved cost. This might have been substantial if it also meant that the PDP-11 no longer needed an expansion cage to house the parallel cards. That of course supposes that the Magus was a two part design, which is hinted at, but not explicitly stated anywhere, as far as I know.

 

 

David Warhol mentioned his PC based assemblers supported two types of syntax. I was thinking APh used one that they previously used and adapted to different target cpus, maybe closer to pdp-11assembly. They must have had the GI cross-assembler at Mattel as well, probably free from GI. Up to the programmer to use GI or APh assembler.

Hmm, if Mattel did allow freedom of choice it seems a little strange. Unless there was a clear benefit of one over another in certain circumstances it would just look to be a maintenance and training overhead to me. A question to ask Keith or one of the other Mattel guys I guess.

 

 

And INTV published a couple of Atari developped games. They were slightly modified. The development tools by David W would have had to support the GI assembler syntax for that reason. And of course they also worked on old APh games.

Ahh yes, I had forgotten about the Atarisoft titles. Perhaps this is the cause, and David Warhol is mis-remembering the reason for the need to support two syntaxes?

 

 

Keith has mentioned that Mattel went cheap when buying their development systems and that APh, where Kimo Yap worked, had the better stuff. Here you can find a brochure of the clones Andromeda made. http://www.mirrorservice.org/sites/www.bitsavers.org/pdf/andromedaSystems/ The software is the same to the programmers sitting in front of the terminal.

OK, the "Mattel tried to do things on the cheap" thing is something I have heard before, but again I've not found a quote for it. Do you have one?

 

The Andromeda catalogue is awesome, thanks for the link. I need to look through the information more carefully but immediately I'm interested in the existence of the expansion chassis on page 2 and the parallel digital card on page 9.

 

 

APh, where Kimo Yap and Tom Loughry worked, had hard disks, they seemed to get the bleeding edge technology. In those days hard disks might have been removable platters.

 

There was a story about the floppy drives at Mattel having a higher capacity non standard format. They were supposed to be archived to a standard format upon the sale of assets in 1984. Later at INTV when they tried to read the disks they couldn't and had to source some ancient obsolete drive to read the floppies. Can't remember what episode podcast.

Cool, I must have missed these in the podcasts, if you could find the quotes for me I'll include them.

 

It occurs to me that it might be good to formulate a list of development centric questions to ask a BSR, were you to bump into one in the queue at Starbucks. ;)

 

Stuff like:

  • Were the hosts really DEC PDP-11s or were they clone Andromeda machines?
  • What was the name of your machine?
  • What operating system did it run?
  • How much RAM did it have?
  • Did it have a hard drive?
  • How many floppy drives did it have and what size?
  • How many developers shared a PDP-11?
  • Did you use editors other than TECO?
  • How long did it take to assemble a game?
  • How long did it take to transfer a game to the Intellivision?
  • Did Mattel use an assembler or toolchain other than the one developed by APh?
  • What did the Magus, Widget, etc look like?
  • Was it reliable?
  • Were there different types of Magus?
  • How did you configure the cartridge memory map when using a Magus?
  • Who designed the Magus?
  • How many developers shared a Magus or Black Whale?
  • When you used the Magus could you halt the game and access debug information about what was running on the Intellivision from the PDP-11?
  • How about when you used the Black Whale rather than the Magus?
  • Who came up with the idea to use Blue Whale's for development?
  • Who designed the changes and where were they done?
  • Did the Black Whale connect to your terminal or directly to the PDP-11?
  • What was the most annoying thing about using the development system?

What do you think? I might add something like this to the next release of the document.

 

I have also started to do some research into setting up an emulated development environment in SIMH. I've found what claims to be an RT-11 / TSX-Plus 5.1 distro from 1984 here, but I've not gotten much further. The SIMH / PDP-11 way of working and terminology is rather alien to me. I suspect in reality Mattel / APh would have used TSX-Plus 3 (1977+) or TSX-Plus 4 (1980+), but I've yet to find any media for these. There is also a large amount of RT-11 software here, index here. This includes the ASxxxx assemblers which might provide a useful start point to a CP-1610 assembler. :) If anyone fancies working with me on this, let me know. All help gratefully received.

 

 

Cheers

 

decle

Edited by decle
Link to comment
Share on other sites

Sorry the story about the non standard floppy archives was from a panel discussion from cge 2007 (video ~45m mark).

https://m.youtube.com/watch?v=Vk98eyzFnFU

 

That video also has Glyn Anderson from APh. He mentions APh grew to about 20 people in 1980. He wrote an instant replay routine for NFL Footbal. It didnt make it into the game, but its incredible to think that could be done with so little ram. It was eleven years before instant replay first appeared in a sports video game.

 

Yeah, you're right about the BumpnJump guys. They did program Bumpnjump from their home, I wonder what they used. A playcable as a ram cartridge interfaced to an IBM PC? Wait, is Bumpnjump larger than 8k?

 

At Mattel, I think pretty much all games stuck to the APh/Exec way of doing things. Masters of the Universe was the only Mattel game I'm aware of that completely skipped the Exec and ran at 60Hz. Probably doesn't indicate anything about what assembler they used. Maybe Bumpnjump too, but it wasnt programmed at Mattel. But at Mattel they were working on the Intellivision III exec, and could have used GI assemblers there. They used the Intellivision III exec techniques in the MOTU game; "Supergraphics".

Link to comment
Share on other sites

https://m.youtube.com/watch?v=Oil2XnGvb4M

 

This video is one of my favourite programmer discussions. Between 24m and 34m John Sohl describes his experience programming at the APh office in 1980 and Mattel getting their first development system for their programmers. There was mention of a hardware debugging system that APh had and Mattel didn't want to pay for. Dave Rolfe very briefly describes it, but it looks like something APh had but Mattel didn't. Dave mentions APh had a PDP20. John also referred to the Andromeda compatibles at Mattel as PDP11s. Just like people later described IBM clones as IBM PCs. Its running the same CPU and software so it does the same thing. Not paying for the brand names saved money.

 

Edit:

They also mention the name of the guy from Mattel's design and development group who in 1977 attempted Intellivision programming before APh was called in.

Edited by mr_me
Link to comment
Share on other sites

  • 2 months later...

Once again thanks for the additional information. I have integrated it along with other content I have gleaned from numerous gaming expo videos on YouTube, here is the latest version of the development description:

intellivisionDevelopmentBackInTheDay-20170814.pdf

The main changes are:

  • Clarification that APh used a PDP-20 rather than PDP-11s for development
  • Confirmation of the use of Andromeda PDP clones at Mattel
  • Further information on Andromeda 8" floppy disks
  • Introduction of Mattel's migration from PDP-11s to DEC VAX based development
  • Additional details on debugging capabilities and indications that APh had a more sophisticated tools than Mattel (Dopey)
  • The possible distinction between Magus and the APh Widget
  • Date for the introduction of development systems at Mattel established as January 1981
  • Late experiments with C on the Aquarius
  • Some details on the Minkoff Measure
  • The suggestion that Joe Jacobs and / or Dennis Clark worked for the Playcable manufacturers

I think the big questions at this point are whether the Magus and APh Widget are the same thing, or two separate pieces of equipment; and how they both relate to Dopey.

 

As always any corrections or new details are greatfully received.


Cheers

decle

Link to comment
Share on other sites

Hmm, if Mattel did allow freedom of choice it seems a little strange. Unless there was a clear benefit of one over another in certain circumstances it would just look to be a maintenance and training overhead to me. A question to ask Keith or one of the other Mattel guys I guess.

 

Not as strange as you might think :) I currently work for a company that goes by the premise "You're all smart people, so you can learn whatever tool you need. Use whatever you like, so long as you produce results".

 

We standardize on programming languages and that's about it. Virtually no two people use the same toolchain for damned near anything. I could easily see the early 80s "wild west" atmosphere being similar.

Link to comment
Share on other sites

Thanks again Decle, for the update. Just want to clarify that Kimo Yap and Tom Loughry never worked at Mattel. Kimo was a summer student at APh in 1978 and Tom Loughry was at APh around 1980-82. In 1978 APh was small and even with the summer hires could probably be served by a PDP-11. Kimo was a systems guy and likely new exactly what he was using, unlike some programmers that might not even know what their keyboard is plugged in to. In 1980 when Tom joined APh, the Intellivision was still not released nationally. By 1982 Intellivision was in millions of homes, APh was making lots of money with Atari cartridges and grew to over 20 people. They would have upgraded to their PDP-20 over that time. And like Dave Rolfe mentioned it probably ran the PDP-10 operating system; like today there's lots of reasons people run older operating systems on new computers. And DEC did make 1.2MB hard drives with removable platters. There were probably bigger drives but these things would have been expensive. http://www.ultimate.com/phil/pdp10/dec.disks

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

That is phenomenal work! Thank you for curating that.

 

 

Once again thanks for the additional information. I have integrated it along with other content I have gleaned from numerous gaming expo videos on YouTube, here is the latest version of the development description:

attachicon.gifintellivisionDevelopmentBackInTheDay-20170814.pdf

The main changes are:

  • Clarification that APh used a PDP-20 rather than PDP-11s for development
  • Confirmation of the use of Andromeda PDP clones at Mattel
  • Further information on Andromeda 8" floppy disks
  • Introduction of Mattel's migration from PDP-11s to DEC VAX based development
  • Additional details on debugging capabilities and indications that APh had a more sophisticated tools than Mattel (Dopey)
  • The possible distinction between Magus and the APh Widget
  • Date for the introduction of development systems at Mattel established as January 1981
  • Late experiments with C on the Aquarius
  • Some details on the Minkoff Measure
  • The suggestion that Joe Jacobs and / or Dennis Clark worked for the Playcable manufacturers

I think the big questions at this point are whether the Magus and APh Widget are the same thing, or two separate pieces of equipment; and how they both relate to Dopey.

 

As always any corrections or new details are greatfully received.


Cheers

decle

  • Like 1
Link to comment
Share on other sites

  • 5 weeks later...

Here is the latest version of the development description, the major changes are in the APh hardware and test harness sections; and the Mattel test harness section on pages 5, 7 and 13.

 

I would like to thank David Rolfe who as been helping me to piece together a preliminary picture of the APh development framework.

As always, thank you to everyone for your input and if anyone has additions or corrections please let me know.


Cheers

decle


Now, some responses to specific points raised about the previous version:

Just want to clarify that Kimo Yap and Tom Loughry never worked at Mattel. Kimo was a summer student at APh in 1978 and Tom Loughry was at APh around 1980-82.


Thanks for hightlighting this. As it has become clear that the APh and Mattel development systems are distinct I have not separated out the references to developers of each organistion. I have corrected this.

In 1978 APh was small and even with the summer hires could probably be served by a PDP-11...
...They would have upgraded to their PDP-20 over that time.


David Rolfe and John Sohl seem to be pretty clear that the primary APh development system prior to 1981 was a DECSYTEM-20 mainframe. As you say APh would have been too small to own one, but the rather cunning design of the Datawidget meant that they could make use of a time share system. So perhaps the evolution was the other way around, from renting time on a remote PDP-20 to being able to afford their own PDP-11s.

Link to comment
Share on other sites

In the Kimo Yap interview he describes the computer he was using at APh in summer 1978 as a pdp-11 minicomputer. As APh grew over the next couple years from a couple of employees to over 20 staff, it sounds like APh upgraded to a DEC mainframe. I haven't heard anyone mention renting time on a remote computer.

Link to comment
Share on other sites

In the Kimo Yap interview he describes the computer he was using at APh in summer 1978 as a pdp-11 minicomputer. As APh grew over the next couple years from a couple of employees to over 20 staff, it sounds like APh upgraded to a DEC mainframe. I haven't heard anyone mention renting time on a remote computer.

Hey,

 

You are correct Kimo is quite clear in the interview he was using a PDP-11. My bad, I was distracted by his reference to the Caltech DECSYSTEM-10 machine. I've corrected this, as well as improving the quality of the images a bit here:

 

 

 

I agree, I find the differences in memories hard to reconcile, and you are right to question my interpretation. Hopefully if we are able to talk to more developers a consistent time-line will coalesce.

 

I must confess that the suggestion of the use of a time sharing service was mine, but it has not been questioned by David, and the use of higher speed 9600 baud modems was his. Time sharing was the only way I could reconcile David and John Sohl's belief that APh used a DECSYSTEM-20 prior to 1981.

 

A DECSYSTEM-20 was a big beast of a machine requiring a three phase electric supply, properly air-conditioned computer room and technicians to tend it. It looks as though the slower, entry level bit-sliced 2020 may have had lower requirements, but I don't think this was introduced until late 1978 and even a minimal implementation cost $200K at the time (approximately $750K in 2017 money). As a little bit of a corollary of APh using a DECSYSTEM mainframe around this time, on page 98 of the DECUS abstracts you can find reference to David's file manager REV which it looks like he wrote at APh prior to June 1977. With the M-Network titles not being released until 1982, I think APh would have been stuck with the revenues from the rather unfavourable Mattel Intellivision contract while David was with them. Clearly, APh were not flush in 1978, if they were nickle and diming the payphone as observed by Kimo Yap.

 

So my original thinking went as follows. It is highly unlikely a small business like APh could afford to buy and run a DECSYSTEM-20. I guess leasing or buying second hsnd might have been possible, but I don't know to what extent this was possible in the late 70s. Therefore, for David and John to be correct APh probably rented time on a machine. However, given they were doing embedded work and the consistent description of the Magus (and therefore Widget) is it having a parallel connection, this was not practical from a testing perspective. Therefore, David and John's memories might be wrong.

 

And then, in discussing the Datawidget with David, he explained that it is a serial design sitting on the same line as the devloper's terminal. All of a sudden the pieces fit together, the Widget is not the same as the Magus and its design looks suspiciously as though it specifically facilitates the use of a remote host (using a separate serial connection to a local host would have simplified the Widget's design). It is exaclty the kind of clever thinking a resource constrained small business would come up with. Therefore, APh could practically develop using a remote machine, which could have been the expensive and powerful DECSYSTEM-20, a mainstay of the time-share business, and David and John's recollections are probably correct.

 

We are left with the contradiction between their memories and those of Kimo and Tom.

 

If I was to hazard a guess at this point I would suggest that the initial work on the EXEC and Baseball was done on a PDP-10/PDP-20 and there is a reasonable probability this was a time share machine, hence the payphone. With the green light from Mattel, things at APh scaled up and development of the Mattel tools was undertaken. At this point APh brought some of the hardware in house and moved toward PDP-11s, possibly to be consistent with Mattel, possibly because the server connection got to be a bottleneck (at some point someone would have started asking questions about the number of payphones required ;) ) or possibly because it was cheaper and scaled better to have local hardware. Consequently, new boys like Kimo and Tom used PDP-11s, however, maybe the old hands like David only migrated slowly, perhaps because they had an investment in the tooling on the older, but significantly more powerful hardware. Possibly you had to use the Magus if you used the PDP-11 and as has been suggested it was not as sophisticated as the Widget. Possibly John Sohl, as a representative of a prized customer, was introduced to development by the old hands, rather than being handed the manual and left to it like the graddies. As a consequence, he was exposed to the more powerful PDP-20 environment, the differences between it and what he had available at Mattel certainly seem to have stuck in his mind. As a consequence, we end up with a rather contradictory view of the world.

 

Although obviously all of this is pure speculation, and therefore not worthy of inclusion in the document, I think it fits with the information we have at present (although obviously many other possible pasts also fit). As I say, hopefully over time we will get to talk to more people and, like the use of Andromeda Systems or TSX Plus, things that were originally speculative can be confirmed or refuted. Its all iteration :)

 

Once again, thanks for your input, it is much appreciated.

 

 

decle

Edited by decle
Link to comment
Share on other sites

What's the contradiction?

 

 

Sorry, I meant the possible contradiction between David and John's suggestion of the use of a PDP-20 at APh and Kimo and Tom's suggestion of the use of a PDP-11 during a similar time frame.

 

I guess I find it a little surprising that, given the company was small, if there were different technologies in use, neither side has volunteered the fact that while they used X, there were other people using different things. My experience is that people who work with tech tend to be naturally curious about what other people are using, as we are demonstrating here. Would you not think it unusual to find four technologists on a team of less than 20 who, whilst working in a very innovative environment, did not take an interest in what other members of the team were using? I think my expectation is that a good number would formulate an opinion on the relative strengths of the respective technologies and share it, perhaps enthusiastically, with pretty much anyone ;) . Indeed, in some ways John Sohl has done this in comparing the debugging tools he saw at APh with what he subsequently had at Mattel.

 

I recognise it is all a long time ago, memories will have faded and that in many of the current conversations the "development tech" is not the focus, therefore, people might talk in general rather than specific terms. As a consequence, there is a risk in drawing too specific a conclusion from what is said, and maybe it is as simple as that. Hopefully if we get to talk in more detail to other developers, like Kimo and Tom, about the tech used things will become clearer.

Link to comment
Share on other sites

Well summer 1978 and fall 1980 are two different times and APh had grown over that time. Kimo Y was only there for summer 1978 and John S was only there for fall 1980. David R and Tom L were there when they transitioned to the mainframe. I'm not sure when Tom L started, I thought Boxing was his first project but the Jack Lalanne tape was his earliest work there. That could be 1979. They both left APh in 1982, I believe. To accomodate APh's growth they would have had to decide on buying several minicomputers or one mainframe. There would be a breakeven point based on number of users. In the 1980s and 1990s leasing computer equipment was common and it was not ususual for companies to spend $20k to $50k or more on a users workstation. APh was getting $27k for each cartridge and paying most of the programmers peanuts so each workstation could generate at least $50k, maybe $75k or more each year. They could easily afford the mainframe. Whether it was more cost effective than a bunch of minicomputers; not sure. Maybe they needed it for other projects; they were computer consultants. Mattel went with a bunch of minicomputers.

 

http://www.digitpress.com/cge/2k4_mp3/2k4_mp3.htm

In this panel discussion from cge 2004 they talk about the big mainframe in the middle of the APh office at about 17m. Peter Kaminski is on this panel, he worked APh around 1981/82 and wouldn't have been there at the same time as John S and Mike M. His description of the computer he used is not a good one but he does describe the hard drive APh had. Although they debated about pdp-10 vs pdp-20, it turns out there is no such thing as a pdp-20. The decsystem20 was a pdp-10 rebranded and had a new operating system. Although it has been mentioned that the one at APh ran the older os.

  • Like 2
Link to comment
Share on other sites

Well summer 1978 and fall 1980 are two different times and APh had grown over that time. Kimo Y was only there for summer 1978 and John S was only there for fall 1980. David R and Tom L were there when they transitioned to the mainframe.

OK, so you believe they started with 11s and upscaled to the 20 as they grew? Is that referenced somewhere? I didn't hear it in the CGE 2K4 panel and I'd like to include it if it is.

 

I'm not sure when Tom L started, I thought Boxing was his first project but the Jack Lalanne tape was his earliest work there. That could be 1979. They both left APh in 1982, I believe. To accomodate APh's growth they would have had to decide on buying several minicomputers or one mainframe. There would be a breakeven point based on number of users. In the 1980s and 1990s leasing computer equipment was common and it was not ususual for companies to spend $20k to $50k or more on a users workstation. APh was getting $27k for each cartridge and paying most of the programmers peanuts so each workstation could generate at least $50k, maybe $75k or more each year. They could easily afford the mainframe. Whether it was more cost effective than a bunch of minicomputers; not sure. Maybe they needed it for other projects; they were computer consultants. Mattel went with a bunch of minicomputers.

 

Yes, it is an interesting split. Although I guess APh's work on other contracts may also have had an influence on their decision.

 

http://www.digitpress.com/cge/2k4_mp3/2k4_mp3.htm

In this panel discussion from cge 2004 they talk about the big mainframe in the middle of the APh office at about 17m. Peter Kaminski is on this panel, he worked APh around 1981/82 and wouldn't have been there at the same time as John S and Mike M. His description of the computer he used is not a good one but he does describe the hard drive APh had. Although they debated about pdp-10 vs pdp-20, it turns out there is no such thing as a pdp-20. The decsystem20 was a pdp-10 rebranded and had a new operating system. Although it has been mentioned that the one at APh ran the older os.

 

Yowza, I've not listened to that panel before, and it has some gems. Thanks for pointing me at it. :thumbsup:

 

OK, I think that is pretty clear my premise, and therefore, speculation is wrong. :ponder: Between at least October and December 1980, while John Sohl was there, and probably significantly longer, APh had a DECSYSTEM mainframe sat in the office. I will work on some corrections. We also have further confirmation that the Datawidget is not the same as the Magus, nice. 29 minutes in they start talking about the Datawidget. So, the "blue box" is the Widget, not a Magus, and it sounds like at least initially Mattel only had a few, perhaps even one. From the way Keith contrasts the use of the Widget use with "intuitive debugging", it sounds like the Magus was just a RAM cart, with no Dopey or equivalent. That must have made things hard, and explains why Rick Koenig invested the time in creating the in-system debugger. Interesting reference to "Merlin" by John Sohl, might ask David about that.

 

I'll work up a new version of the doc. Got any more sources I should watch / listen to / read to prevent further embarrassment? Perhaps I'll run future revisions past you first, then you can correct my errors in private ;)

 

Cheers

Edited by decle
Link to comment
Share on other sites

  • 2 weeks later...

http://www.digitpress.com/cge/2k4_mp3/2k4_mp3.htm

In this panel discussion from cge 2004 they talk about the big mainframe in the middle of the APh office at about 17m. Peter Kaminski is on this panel, he worked APh around 1981/82 and wouldn't have been there at the same time as John S and Mike M.

Hey Guys,

 

Here is the latest update:

 

intellivisionDevelopmentBackInTheDay-20171008.pdf

 

Thanks to mr_me for providing some more feedback and sources of information. The main changes are again in the APh and Mattel sections around both the hardware used and the test harnesses.

 

As always, any further feedback or sources of information are most welcome.

 

 

Thanks

 

decle

Link to comment
Share on other sites

  • 6 months later...

Morning all,

 

Another update to the development document:

 

intellivisionDevelopmentBackInTheDay-20180424.pdf

 

Changes this time are:

  • Update to the description of the Black Whale to include a summary of the results of JoeZ and FrankP's excellent work reverse engineering the Daniel Bass' development boards. I recommend you read the full story here.
  • Addition of preliminary information on Mr Sound
  • More details on the T-Cards, including a reference to a full circuit diagram
  • Some idle speculation about the contents of the Minkoff Measure
  • More information on development at Imagic

As always, all feedback, corrections and additions are most welcome.

  • Like 1
Link to comment
Share on other sites

Wow. Thank you for continuing to update this!

 

I am about to start work, all full of myself, so I stop in here to get humbled. Mission accomplished!

 

 

Minkoff Measure

Several Intellivision developers refer to an interview technique known as the Minkoff Measure.
This was instituted by Mike Minkoff following the recruitment of Russ Lieblich who, whilst a talented
musician, found programming challenging.

The measure appears to have been what is now a fairly standard “explain what this code fragment
does” exercise. It was given to candidates during the interview and they would have to describe
behaviour of the code verbally.

The code fragment seems to have been approximately 10 lines of CP-1610 assembly language
lifted from the EXEC or a game (presumably one of Mike’s titles, PBA Bowling or SNAFU). During
the Classic Game Fest 2016 panel, Keith Robinson [V11] describes it as being a while loop, with
the test at the beginning, which would repeat 7 times applying an OR operation to 7 of eight input
digits. The use of an OR operation is interesting as the CP-1610 had no direct instruction for this.
Together, identifying the OR logical operation from its constituent parts, and the fact it was applied
to only 7 of the eight digits seem to have been the critical points in a candidate making the
measure.

 

The following is a bit of idle speculation. Talking to JoeZ, he suggests that the Minkoff Measure
may have been taken from the X_SET_BIT function in the EXEC (starting at $16E6), which makes
use of the X_POW2 subroutine (starting at $1745). This function sets the nth bit of a memory
location. X_POW2 creates a bit mask by iteratively left shifting the value #1 the correct number of
bits, this mask is then OR’d with the current value of the memory location.
Whilst this contains the key features mentioned by Keith, it is rather long at 19 instructions
excluding setup; and includes several CP-1610 specific idioms, like the use of the R5 calling
convention, inclusion of post-increment indirect addressing and using INCR R7 to skip an
instruction. As such, it was probably too CP-1610 centric to be used in an interview. However, it
could have formed the basis of a simplified piece of code that would perhaps be a fairer test for
developers not familiar with the idiosyncrasies of the CP-1610 or PDP-11.

 

 

 

 

Morning all,

 

Another update to the development document:

 

attachicon.gifintellivisionDevelopmentBackInTheDay-20180424.pdf

 

Changes this time are:

  • Update to the description of the Black Whale to include a summary of the results of JoeZ and FrankP's excellent work reverse engineering the Daniel Bass' development boards. I recommend you read the full story here.
  • Addition of preliminary information on Mr Sound
  • More details on the T-Cards, including a reference to a full circuit diagram
  • Some idle speculation about the contents of the Minkoff Measure
  • More information on development at Imagic

As always, all feedback, corrections and additions are most welcome.

 

  • Like 1
Link to comment
Share on other sites

Whilst this contains the key features mentioned by Keith, it is rather long at 19 instructions

excluding setup; and includes several CP-1610 specific idioms, like the use of the R5 calling

convention, inclusion of post-increment indirect addressing and using INCR R7 to skip an

instruction. As such, it was probably too CP-1610 centric to be used in an interview.

FWIW, the "data after R5" idiom came from the PDP-11, as did manipulating the PC directly as a register to get a short jump. From the linked page:

.

(ii) With arguments:

In this example there are 3 arguments, that are stored in the 3 words 
following the JSR instruction. Just before the JSR instruction is 
executed the PC is incremented as usual, and therefore points to 
the first argument. Execution of JSR results in the PC being copied to 
r5. As a result, the arguments can be accessed inside the subroutine 
SUB_1 through the linkage register (r5). SUB_1 just uses r5 to load the 
arguments into the registers 0, 1 and 2.

When the SUB_1 subroutine has finished executing, the register r5 should 
be left pointing to the instruction following the last argument, so that 
the RTS instruction will return program execution to the right place.

      jsr r5 SUB_1
arg1: .word 10
arg2: .word 20
arg3: .word 30
      clr r0
      clr r1
      clr r2
      halt

.=60

SUB_1:
      mov (r5)+ r0
      mov (r5)+ r1
      mov (r5)+ r2
      rts r5

If random access to the arguments is required inside the subroutine 
SUB_0, index mode can be used on the linkage register r5. In this 
case the add instruction is used just before the RTS instruction, to 
make sure that program execution returns to the right place.

      jsr r5 SUB_1
arg1: .word 10
arg2: .word 20
arg3: .word 30
      clr r0
      clr r1
      clr r2
      halt

.=60

SUB_1:
      mov (r5) r0
      mov 2(r5) r1
      mov 4(r5) r2
      add #6 r5
      rts r5
.

This PDP-11 code shows an instance of INC R7 to skip an instruction.

.

	asl	r1
	inc	r7
	mov	7,brg
	addn	brg,r7,-
	brc	1f
	br	mdmchk2
.

 

Also, PDP-11 had auto-incrementing registers as well. Interestingly, many examples I found with a quick web search used R5 as the linkage register when passing args after JSR. So, I'd have to say CP-1610 inherited PDP-11 idioms rather than these being peculiar to CP-1610. If anything, Mike Minkoff might've tweaked the syntax to look a little more PDP-like? All you have to do is change @R5 to (r5)+ and it's suddenly PDP-11 code.

 

POW2's main loop is only 5 instructions. You could combine it with the body of SET_BIT into a 10-instruction sequence like this:

.

; Assume R5 = 7.  What does this code do?

        MOV     #1,     R0
        INC     R7
loop:   SLL     R0,     1
        DEC     R5
        BPL     loop

        MOV     R0,     R5
        COM     R0
        AND     @R1,    R0
        XOR     R5,     R0
        MOV     R0,     @R1
.

That's rather conveniently 10 instructions, even if you replace INC R7 with a more conventional branch. It avoids the "data after JSR" idiom, and in Mattel syntax, is valid both as PDP-11 and CP-1610 code except for the SLL instruction, which would be spelled ASL on PDP-11.

Edited by intvnut
  • Like 2
Link to comment
Share on other sites

  • 8 months later...

Yikes! It's high time I provided a bit of an update to the development description, so here we go:

 

intellivisionDevelopmentBackInTheDay-20190111.pdf

There are lots of little bits and pieces this time around:

* page 8 & 10 - Bit more on the APh Datawidget courtesy of PRGE
* page 12 - Confirmation of the introduction of VAX hosts
* page 13 - Ray Kaestner explains the split of HeMan development
* page 14 - Quite a bit more on Mr Sound thanks to Daniel Bass and the first mention of "Sound T"
* page 16 - Black Whale naming controversy and clarification of known usage
* page 18 - Corrections to Black Whale description as a result of the replica development
* page 21 - Bit more on tight coding from PRGE
* page 22 - Credit Russ Lieblich for SNAFU tunes :)
* page 22 - Removal of some of the speculation in the Minkoff Measure section
* page 24 - Addition of MIDI conversion tools developed by David Warhol for INTV

As always if you know of more things that should be added or corrected, please drop me a line.


Cheers

decle

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