Jump to content

ralphb

Members
  • Content Count

    828
  • Joined

  • Last visited

  • Days Won

    1

Posts posted by ralphb


  1. On the original topic: I was fairly certain until today that there was still a single US-based manufacturer of 5.25" floppies.

     

    I was under the impression that world-wide production of both 5,25" and 3,5" floppy disks, along with cassette tapes and VHS tapes, was halted some time ago.

     

    For cassette tapes I had to turn to ebay, only to discover that prices for still shrink-wrapped BASF brand cassettes are outrageous. Since then, I'm proudly wearing this shirt.

    • Like 1

  2. I also have a non-working Corcomp controller here, revision C with WD2793A. It does load the CC Disk Manager from disk (potentially corrupted), but I can't do anything useful with it. CCDM, DM2 and even plain BASIC crash when trying to catalog a disk. Also, Extended BASIC crashes when it tries to auto-load DSK1.LOAD, even when there is no disk in the drive at all.

     

    After some trial and error, my best bet would be to try the MG upgrade, which schmitzi thankfully provided. But looking at the files I noticed that the BINs are 2x16K instead of 2x8K. How is that supposed to work? I know that the original HN482764P has one pin not connected -- does the CC board wire that to A13? Are the original CC dumps available somewhere?

     

    And on the backside of my board there's a small 4Kbit SRAM wedged between the two ROM banks, with WE attached to the TMS9901. I could see the need for storing data outside the TI memory, but why has this been added like an afterthought?


  3. I think the situation is different today, but not worse or lacking in any way.

     

    Children tinkering with computers no longer need to do programming in order to be creative with them. In fact, it's very hard to program something yourself that gives a sense of accomplishment. Moving a sprite in assembly on the TI 99 was something, but today you look at your sprite and you look at Candy Crush and why bother?

     

    IMHO the tinkerers (and I'm using this term in the most positive way) of today are attracted more to Arduino and the like, which offer far more unexplored opportunities to inquiring minds who lack any formal training -- yet.


  4. I would need to verify this, of course; but, I would expect that Thierry's GPL Assembler is aligned with his explanation and that he actually changed the comparison description to not have it “backwards” as R. A. Green noted in his description of his RAG GPL Assembler. If it happens that this is so, it would be useful to explain it.

     

    Maybe it would be a good idea to base the manual on either the original TI GPL Manual or the RAG GPL Assembler, as the latter seems to be most widely used.

     

    I could use a collaborator!

     

    I'll certainly help out, but right now I'm too swamped in order to do any significant TI work other than a quick AtariAge reply here and there. :(


  5. I think it works as designed. Take a look at this program:

    .

    * GROM >6000
    * AORG >0030
    
    START ALL 32
    
          ST 2,@>8300 ; 2
          ST 254,@>8301 ; 254 OR -2
    
    L1    CH @>8300,@>8301  ; 254 > 2
          BR L2
          DST 'H ',[email protected]
    
    L2    CH @>8301,@>8300  ; 2 !> 254
          BR L3
          DST 'HR',[email protected]
    
    L3    CGT @>8300,@>8301 ; -2 !> 2
          BR L4
          DST 'G ',[email protected]
    
    L4    CGT @>8301,@>8300 ; 2 > -2
          BR L5
          DST 'GR',[email protected]
    
    L5    ST '*',[email protected]
          B $
    
          END

    .

    The output is

    .

    H       GR*

    which I think is correct.

     

    Maybe your confusion is about the order of comparison, i.e., GS and GD? Certainly that's where my confusion usually is, but the GPL manual gives an example on page 4-7:

    .

    LAB1   CH   @A,@B       COMPARE (B) TO (A)
                            AND IF (B) IS LOGICALLY
                            HIGHER THAN (A) SET THE
                            CONDITION BIT
    

  6. Will it be possible to extract disk images from the index containing all files that were originally on that disk? Right now Web99 seems to be file-centric, when many programs are multi-file ...

     

    While I cannot use your program productively, as it is Windows-only and relying on .NET, your Christmas index is a treasure trove by itself. I had a go at your Lucene index with Luke, but the disk images have been thoroughly smashed into bits :) , and I wasn't able to restore them without knowledge of your data model.



  7. My point is that most items would sell much higher if foreign bidders were allowed. Certainly in this case. :)

     

    And of course I understand that some people will forego this in order to have less hassle or risk. But that's what the ebay shipping program is for -- AFAIK there's zero risk or work for sellers.

     

    Unfortunately ebay Europe is a wasteland for the TI 99. I couldn't get a Speech Synthesizer if it weren't for the US ...

    • Like 1

  8. Ralf, I'm not sure if this has been discussed before, but would it possible to release some of your awesome lists as Excel (or CSV) files -- in particular the cartridge one? That way you could sort and filter stuff and get even more awesomeness out of them! :)

     

    (I realize that it's like giving the source code away, but hey, so do I! ;) *wink*wink* *nudge*nudge*)


  9. I am not sure if you agree with me but would you consider to have a more clear error or ignore the error altogether when one has a comment starting with an asterisk and you have one or more spaces in front of the asterisk.

     

    David, I'm totally open to suggestions for improvement. I'm also sure that there may some bugs along the way ... In general, most of these should probably be posted to the xdt99 thread, to keep this tutorial focused on GPL.

     

    As for the comment issue, I guess what you're really saying is that line comments should be relaxed so that they can start in any column. I'll make a note of it for possible future "modern extensions", such as those in xas99.

    • Like 1

  10. Before the syntax discussion gets out of control, here's a table listing all of the differences between xga99 and RYTE DATA, RAG, or TI Image Tool, respectively:

    .

    xga99   RYTE    RAG     TI IMG TOOL
    -----------------------------------
    AORG                    --
    --      OFFS            --
    TITLE   TITL    IDT     TITL
    
    HTEXT   HTEX    HTEX    PRINTH
    VTEXT   VTEX    VTEX    PRINTV
    HCHAR   HCHA    HCHA    PRINTH FOR
    VCHAR   VCHA    VCHA    PRINTV FOR
    HMOVE   HSTR    HSTR
    BIAS    SCRO
    I/O             IO
    COL+            ICOL    RIGHT
    ROW+            IROW    DOWN
    FEND                    END
    MOVE                    MOVE BYTES
    
    :1010           &1010
    [email protected]                      [email protected]
    [email protected]                      [email protected]
    #               [email protected]      VREG
    

    .

    This table is partially from memory, though, so I might have gotten the attribution to RYTE DATA and RAG mixed up for some entries. Note that most changes are in the FMT sublanguage.

     

    If you want to use either language variant just include "-s rag" or "-s mizapf" in the xga99 call, i.e., the G.bat file. For this tutorial just pick your favorite variant and stick to it. :)

    • Like 3

  11. Here is this, what is currently checked in in your git repository. At Line 97 of Xbas99.bnf you'll find:

    s_display ::=
        W_DISPLAY
        (a_display+ (OP_COLON a_using)? (OP_COLON a_print)? |
         a_using (OP_COLON a_print)? |
         a_print)?
    

    This is what should be correct in my opinion:

    s_display ::= 
        W_DISPLAY
        (a_display+ (OP_COLON a_using)? OP_COLON |
         a_using OP_COLON)?
        a_print?

     

    .

    Those are very similar, but your version lacks this valid statement:

    .

    DISPLAY USING "#"

    .

    Not a very useful statement, I admit, but it's valid Extended BASIC.

     

    Do you have an example where my grammar rule does not apply?


  12. I remember playing with the innards of a broken TV set when I was a small kid. Of course the only meaningful thing we could do with something like a resistor or a capacitor was to cut it into two parts ... :) This probably contaminated me for life!

     

    Well, this year I'm set to correct my hardware deficits ...

    • Like 1

  13. Personally I would love to see some new GPL programs -- you'd be quite a unique contributor in the area. Right now I can only think of Rich who codes in GPL on a regular basis.

     

    xga99 is absolutely stable. You just have to decide on a syntax -- if you're uncertain, I recommend the RAG/RYTE DATA syntax, using option "-s rag". That syntax variant is well established and has a very long tradition by now. IIRC Rich is using it in his tutorials. (And if you're really worried about your time investment I can always write a converter between variants later.)

     

    Assembly is fine, but by using GPL you cannot get any more "TI" than that!

    • Like 2

  14. Well, the problem was to decide which syntax to use. Original GPL sources written by TI are hard to come -- in fact, to this day, I haven't seen any. What you do see is disassembled GPL code, and there the syntax is entirely made up by the disassembler.

     

    When I looked at today's GPL world I found that the RAG and the RYTE DATA (aka Weiand) syntax dominated, probably due to the extensive work by Rich. Additionally, I implemented Michael's TI Image Tool syntax so that I could compile code disassembled by his tool.

     

    Both of those syntax variants have the shift operators in "reverse" order, so I kept that.

     

    My own xdt99 syntax variant is very similar to RAG, and thus keeps the reverse order for sanity reasons.

     

    Note that I didn't implement the original TI syntax, as I found the FMT subsyntax to be rather ... arcane. I still have the implementation on my low-prio todo list, for completeness sake, but so far I haven't got around to it.

    • Like 1
×
×
  • Create New...