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

Re: [Tomy Tutor ] Anyone know how the BASIC ROM works?

Expand Messages
  • spirantho
    ... Hmm.. I might take a look but the problem is a lot more focussed than trying to understand the whole BASIC. Essentially I have what seems clearly right
    Message 1 of 4 , Apr 17, 2003
      --- In tomytutor@yahoogroups.com, "Neil Morrison" <neilsmorr@h...>
      wrote:


      >


      > Study books on the TRS-80 Basic Rom. Those guys figured out a lot of


      > how MSoft Basic works, which includes stuff like jumping into the


      > middle of instructions to save a byte.




      Hmm.. I might take a look but the problem is a lot more focussed than
      trying to understand the whole BASIC. Essentially I have what seems
      clearly right resulting in something clearly wrong. Very strange.


      Jumping into an instruction makes sense in Z80, by the way - you can
      have, for instance




      DD212301 means LD IX, (0123) or something (off the top of my head) and


      212301 means LD HL, (0123).




      However, the TMS9995 is a 16-bit CPU so jumping to the middle of a
      word will just nuke the machine completely. AFAIK even reading on an
      odd boundary will confuse the machine no end, which is how I can be
      sure it's not right.




      Very frustrating, this - it all seems to work fine except this problem
      deep into the BASIC initialiser.


      Incidentally, am I correct in thinking the second ROM is in locations
      >8000 onwards? There seem to be references within that block to that
      area of memory. I wish I knew why the ROM keeps trying to write to
      location >8000, though - maybe a RAM expansion test...?




      If nothing else I have the only Tomy Tutor graphics editor emulator in
      the world! (emulator, not simulator!)
    • Neil Morrison
      ... From: spirantho ... than ... seems ... can ... and ... an ... That s certainly true for the 68000. I just wanted to make the point
      Message 2 of 4 , Apr 17, 2003
        ----- Original Message -----
        From: "spirantho" <IanG@...>

        > Hmm.. I might take a look but the problem is a lot more focussed
        than
        > trying to understand the whole BASIC. Essentially I have what
        seems
        > clearly right resulting in something clearly wrong. Very strange.
        >
        > Jumping into an instruction makes sense in Z80, by the way - you
        can
        > have, for instance
        > DD212301 means LD IX, (0123) or something (off the top of my head)
        and
        > 212301 means LD HL, (0123).
        > However, the TMS9995 is a 16-bit CPU so jumping to the middle of a
        > word will just nuke the machine completely. AFAIK even reading on
        an
        > odd boundary will confuse the machine no end, which is how I can be
        > sure it's not right.

        That's certainly true for the 68000. I just wanted to make the point
        that Microsoft (and I assume that's whose basic it is) are likely to
        do dirty tricks like that. You have to have your mind open to all
        sorts of possibilities. I remember the story of one programmer who
        wrote stuff on an old mainframe that relied on counting instruction
        cycles and matching them to the rotational speed of the drum memory.
        Obviously the Tomy works, the question is how?


        Regards,

        Neil

        http://coco_docs.tripod.com/

        http://mymc10.tripod.com/

        http://groups.yahoo.com/group/ColorComputer

        http://groups.yahoo.com/group/TRS-80

        http://groups.yahoo.com/group/PocketComp
      • emucompboy
        It may be that writing those locations will either bank switch (a la Commodore 64), or activate a pre-stored bank switched configuration (a la Commodore 128).
        Message 3 of 4 , Apr 21, 2003
          It may be that writing those locations will either bank switch (a la
          Commodore 64), or activate a pre-stored bank switched configuration
          (a la Commodore 128).

          I'd bet that the BASIC ROM is at least partly bank-switched.



          --- In tomytutor@yahoogroups.com, "spirantho" <IanG@a...> wrote:

          > Incidentally, am I correct in thinking the second ROM is in
          locations
          > >8000 onwards? There seem to be references within that block to
          that
          > area of memory. I wish I knew why the ROM keeps trying to write to
          > location >8000, though - maybe a RAM expansion test...?
        Your message has been successfully submitted and would be delivered to recipients shortly.