Monday, March 2, 2015

Just learned something about Dragon's Lair that I never knew

Sorry for the absence in updates.  I hope to be posting more frequently in the near future :)

For LD-V1000 operation, I always thought that Dragon's Lair kept the LD-V1000 ENTER line (pin 17, not to be confused with the PR-7820 ENTER line) tied to ground (ie always active).  However, I am wrong about this.  Looking at the schematics, I just noticed that LD-V1000 Pin 17 is actually tied to the output of an LS374 (an 8-bit latch, called U16 on the schematic).  This latch is written to via memory location 0xE008 in the ROM program.  This means that the ROM program must actively set bit 7 of memory location 0xE008 to 0 in order for commands to be accepted by the LD-V1000.  Setting this bit to 1 would disable command receipt.  I actually have no recollection of whether the ROM ever sets this bit to anything other than 0, and , frankly, I can't see any reason to do this since the LD-V1000 (I am pretty sure) has internal pull-ups to force a 0xFF "NO ENTRY" command if no data is put onto the bus during the command strobe window.

Anyway, just something interesting that I never noticed before.  The LD-V1000 suggests tying pin 17 to the command strobe (pin 7), but I think tying it to ground would also work.

3 comments:

  1. Hi Matt,
    You've got the operation of the "Enter" line incorrect.
    "Enter" is only used by the PR-7820. It has no use for the LD-V1000.
    You may notice that the enter signal leaves U16 at pin 6 and immediately encounters the "W1" jumper. Since this jumper is not installed on a Rev-C boardset, the "enter" line is effectively disconnected.

    The V1000 has no direct handshaking with the computer. It has two control "windows" marked by the state of the "command" and "status" lines which are both outputs from the player. When the V1000 sets the "command" line low, it checks for a command from the computer. When the V1000 sets the "status" line low, it places its status code on the bus for the computer to read.

    Yes, the data bus has pull up resisters which force a "FF" if the bus is floating.
    It's also interesting that all commands must be preceded by FF. For instance; 123search, must be sent as ff 1 ff 2 ff 3 ff search. (0xff 30 ff 31 ff 32 ff f7)
    -Shaun

    ReplyDelete
    Replies
    1. Hi Shaun,
      Not saying you are wrong, but did you notice that I am talking about the LD-V1000 ENTER (pin 17) and not the PR-7820 ENTER (pin 11) ?

      Delete
  2. Hi Matt,
    That's OK, I have my fair share of being wrong :)

    No, I didn't notice that you were referring to the Centronics connecter on the player. I was looking at the DL schematics. Oops!
    Pin 17 on the player is also "Enter", which is tied to "Int/Ext" on U16.

    Your absolutely right. In DL's the "send to player" routine, bit 7 is set low every time the routine is called, and nowhere in the program does it ever get set high.

    Now that I look at it closer. It appears to me that that line would be useful if you wanted to have two players on the same control ribbon.
    -Shaun

    ReplyDelete