Loading ...
Sorry, an error occurred while loading the content.

Successfully cracked: the BASIC tape format

Expand Messages
  • Cameron Kaiser
    % totapdec Longer.aif | tobasdec Filename found: LONGER 10 PRINT HELLO WORLD 20 LET X=50432 30 PRINT X 40 GOTO 10 Yes, it s directly reading from an .AIF
    Message 1 of 6 , Feb 17, 2014
    • 0 Attachment
      % totapdec Longer.aif | tobasdec
      Filename found: LONGER
      10 PRINT"HELLO WORLD"
      20 LET X=50432
      30 PRINT X
      40 GOTO 10

      Yes, it's directly reading from an .AIF created by the Tutor itself. It's
      slow, but it's completely reliable. I also have some early work on the
      GRAPHIC screen format.

      More later! Plus, I'm not going to let ksarulofpurdimal win the rare stuff
      battle: I landed a BASIC-1 cartridge (at a rather high price, gah) and a
      Game Adaptor, and I might have a line on some 3D cartridges and a Pyuuta
      Mark II manual. The BASIC-1 cartridge, incredibly, has a printer interface.
      I'm going to have to crack this one open when it arrives.

      --
      ------------------------------------ personal: http://www.cameronkaiser.com/ --
      Cameron Kaiser * Floodgap Systems * www.floodgap.com * ckaiser@...
      -- Another visitor. Stay awhile. Stay forever! -- Professor Elvin Atombender --
    • ksarulofpurdimal
      Now I understand the price on that one--I was the other bidder on the BASIC1 expander, Cameron. Note--the one you won is for the Pyuuta, not for the MkII. I
      Message 2 of 6 , Feb 18, 2014
      • 0 Attachment
        Now I understand the price on that one--I was the other bidder on the BASIC1 expander, Cameron.  Note--the one you won is for the Pyuuta, not for the MkII.  I mentioned the fact that these had a printer interface in them back in December.  Note also that yours is missing the keyboard overlay and the manual.

        The MkII manual is already in the files section--I put a scan of it in there last year.  It is good to know you'll have an original too--and that will verify that the one I have was the only manual for the MkII.

        Excellent work on the tape format too!
      • Cameron Kaiser
        ... Damn you! Well, at least it would have gone to a good home either way. ... Aren t they the same? -- ... Cameron Kaiser * Floodgap Systems *
        Message 3 of 6 , Feb 18, 2014
        • 0 Attachment
          > Now I understand the price on that one--I was the other bidder on the BASIC1
          > expander, Cameron.

          Damn you!

          Well, at least it would have gone to a good home either way.

          > Note--the one you won is for the Pyuuta, not for the MkII.

          Aren't they the same?

          --
          ------------------------------------ personal: http://www.cameronkaiser.com/ --
          Cameron Kaiser * Floodgap Systems * www.floodgap.com * ckaiser@...
          -- If you're gonna be dumb, you gotta be tough. -------------------------------
        • ksarulofpurdimal
          ... Aren t they the same? Not at all. There are two flavors of the BASIC1 expansion. The one for the Pyuuta comes integrated into an expander that also has a
          Message 4 of 6 , Feb 18, 2014
          • 0 Attachment



            ---In tomytutor@yahoogroups.com, <spectre@...> wrote:



            > Note--the one you won is for the Pyuuta, not for the MkII.

            Aren't they the same?

            Not at all.  There are two flavors of the BASIC1 expansion.  The one for the Pyuuta comes integrated into an expander that also has a printer interface built into it.  With the Mark II, the BASIC1 comes in the form of a cartridge for the cartridge port.  The Printer Expansion Port for the Mark II is separate.  I have one of the Mark II Printer Ports, but not the one for the Pyuuta.  So far as I know, the code for BASIC1 is pretty much identical in either version.  I had an email conversation with Barry Boone yesterday about Tomy Tutors (he ported the Tutor OS and the US games over to the Geneve 9640 many years ago). He noted that the OS was intended to be easily modified, so there are probably some entry point mods to make it work with a Pyuuta (the Mark II has the same first ROM as the Tutor, so the BASIC hooks are already there in that one).  Here's the text of his message, as it may be useful to you:

            The Tomy OS bore such a resemblance to the 99/4A’s that it made it a bit easier to reverse engineer what it was doing.

             

            The OS was located in ROM from >0000 - >7FFF, and part of the latter part of the space was taken by the first part of the built in XB interpreter.  The remainder of the XB ROM was from around >8000  to >BFFF as I recall.

             

            Inserting a cartridge would load ROM code starting at >8000 and going up, so once a cartridge was inserted, the XB became unavailable.

             

            The OS was designed to minimize the ROM size of the cartridges.  They accomplished that by putting all sorts of useful subroutines into the OS ROM space, and using a BLWP table to access the various subroutines.  All hardware specific access was done via the built in routines, the carts never touched any hardware I/O directly.  The advantage of all this was that they could update the OS with bugfixes, or even make a successor machine and keep compatibility with the carts.

             

            Where this was nice for the Geneve, I basically took the Tomy OS, deduced the routines that handled VDP, sound, joysticks, and keyboard, and patched them with the appropriate code to work on a Geneve.  Once that was done, the raw dumps of the carts could run perfectly on the Geneve so long as they didn’t call up some hardware thing that was missing (i.e. a Tomy trackball or something specific like that).

             

            The other catch, since the OS needed to be, well, the OS, I had to basically map in the proper code pages and hand all control to the Tomy OS once the OS/game was loaded, and set the Tomy code to reboot the Geneve once the game was over, since at that point there wasn’t a clean way to get back to MDOS without a lot more effort than it was worth.

             

            The long and short of it, is that you should be able to take the cart dumps from those carts, and run them with my loader, as long as there wasn’t some innate incompatibility between the Tutor and the Pyutta cartridges.

          • Cameron Kaiser
            Interesting. Thanks for the clarification. I need to update my carts list to show the difference, since it s clearly now only accurate for the Mark II BASIC-1
            Message 5 of 6 , Feb 18, 2014
            • 0 Attachment
              Interesting. Thanks for the clarification. I need to update my carts list to
              show the difference, since it's clearly now only accurate for the Mark II
              BASIC-1 variant.

              I imagine the ROM in both is the same as the American Tutor BASIC ROMs; I
              don't know why it wouldn't be.

              --
              ------------------------------------ personal: http://www.cameronkaiser.com/ --
              Cameron Kaiser * Floodgap Systems * www.floodgap.com * ckaiser@...
              -- Conscience makes egotists of us all. -- Oscar Wilde ------------------------
            • Cameron Kaiser
              More progress tonight! I was able to have the Tomy save to the G5, have the G5 decipher it to a bitstream, then turn around and have the G5 encode that
              Message 6 of 6 , Feb 20, 2014
              • 0 Attachment
                More progress tonight! I was able to have the Tomy "save" to the G5, have
                the G5 decipher it to a bitstream, then turn around and have the G5 encode
                that bitstream and the Tomy could read it.

                The trick is that the bitstream has to be "widened" on playback, so the
                Data Recorder appears to have some different circuitry than a regular
                tape recorder. In fact, this trick needs you to save from the G5 to the
                Data Recorder as an intermediary, and have the Data Recorder do the final
                playback step. But it's arbitrary data, and it works!

                I'm going to get source code up once I've finished doing some more testing.

                --
                ------------------------------------ personal: http://www.cameronkaiser.com/ --
                Cameron Kaiser * Floodgap Systems * www.floodgap.com * ckaiser@...
                -- When people get acupuncture, do voodoo dolls die? --------------------------
              Your message has been successfully submitted and would be delivered to recipients shortly.