Jump to content


  • Content Count

  • Joined

  • Last visited

Community Reputation

2,333 Excellent

1 Follower

About senior_falcon

  • Rank
    River Patroller
  • Birthday 10/14/1951

Profile Information

  • Gender
  • Location
    Lansing, NY, USA

Recent Profile Visitors

10,838 profile views
  1. The object code loader built into XB is written in GPL and is pretty slow as shown in the video. Most packages such as XB256, TML, T40XB, use that slow loader to get the object code into memory. Then the code is embedded into a XB loader program. When the loader program is run it very quickly copies the code into (usually) low memory. The loader program takes less than a second to run once it is loaded. As shown above, selecting an option from the menu is even faster as there is no disk access involved. The big breakthrough in XB 2.8 G.E.M. is that the object code loader takes about 4-5 seconds to do the same thing you saw taking way over a minute in the above video. This fast loader makes program development much easier. Also, now it would be possible for an XB program to load assembly support routines as needed without an unacceptably long wait.
  2. Here is an interesting program that runs on The Missing Link. It is a variation on the "binary tree" programs seen in LOGO. CALL LINK("PR") is important to invert the pixels. That is, a pixel that is foreground becomes background color and vice versa. This somehow reminds me of the ovipositor on an ichneumon fly. 100 CALL LINK("PR"):: X=1.414 :: L=60 :: A=90 :: B=L/X^6 :: GOSUB 130 110 GOTO 100 130 IF L<B THEN CALL LINK("GETPEN",R,C,ANG):: CALL LINK("BOX",R-4,C-4,R+4,C+4):: L=L*X :: RETURN 140 CALL LINK("TURN",-A):: CALL LINK("FWD",L):: L=L/X :: GOSUB 130 150 CALL LINK("FWD",-L,A*2):: CALL LINK("FWD",L):: L=L/X :: GOSUB 130 160 CALL LINK("FWD",-L,-A):: L=L*X :: RETURN
  3. Can you explain how to do that. I'm hard of thinking, so please use short sentences and simple words.
  4. This whole s**t storm got started when tmop69 was trying to compile a BASIC program. He reported that it didn't work. I found a way to deal with the problem and he then was able to make it work. Case closed. Five days later you come up with a solution that doesn't work for two reasons. I point that out and now I am on the attack? You replied and then I moved the subject to the RXB thread per Omega's wise suggestion. In post #1089 above you post a solution that doesn't work. I point this out and once again I am on the attack. I explain that the reason I did not try putting PRINT before CALL HCHAR is because the problem had already been solved to the OP's satisfaction, but somehow that answer does not satisfy you. As far as addressing the issue in 2015 (which I wasn't able to find) a more timely post could have set us on the right path quicker, although if it involves RXB then it wouldn't have addressed the OP's problem. (Edit) - found it. It was the first post for 2016. As suspected, it uses RXB and so would not have helped the OP. The code below shows your RXB solution using HGET and HPUT and my solution using normal XB with a semicolon in the print statement. The XB version runs 2.5x faster than the RXB version. Please don't take this as another attack - it's just a statement of facts. 10 FOR I=33 TO 127 30 CALL HCHAR(24,1,I,32) 40 CALL HGET(24,1,32,A$) 50 PRINT 60 CALL HPUT(23,1,A$) 70 NEXT I 5 A$=RPT$(" ",28) 6 PRINT A$; 10 FOR I=33 TO 127 20 CALL HCHAR(24,1,I,32) 30 PRINT A$; 40 NEXT I
  5. "you never replied to why you do not put PRINT before CALL HCHAR in demo as this would make much more sense" The problem was that XB was behaving differently when running an already written BASIC program. Doing what you suggest might work better in that program and it might not. I neither know nor care. I found a way to make PRINT behave the same in that program in both XB and BASIC and saw no reason for further effort on my part. "my solution was the same one in RXB but of course XB has no solution." Actually XB does have a solution which tmop69 put to good use. Speaking of not responding, I notice my query: "you come up with a "fix" that doesn't fix anything and that uses RXB, which cannot be compiled. Please explain how this addresses the OP's problem?" has yet to be answered. Much as I like Martha and the Vanellas, that particular post does not further the discussion and so was not appropriate.
  6. It is hard for me to remember is the ASCII codes for the letters and I hate looking it up. CALL HELP, then space bar 3 times (I think) will get you to a place where you can press a key to find out the ASCII of that key. This can be any key, not just the alphabetic characters. If you can't remember the ASCII for left arrow, simply press left arrow and the ASCII will be displayed. You can even find out the ascii for quit. Since space bar advances through the menu, you just have to remember that space is 32.
  7. Does NOT seem to fix the issue!!! It is obvious that you never bothered testing your "fix". This whole discussion is totally unnecessary. Let's go back to the beginning. The thread was called "TI BASIC/TI EXTENDED BASIC Games that are worth to be compiled..." From the title the average reader would naturally come to the conclusion that the original poster, tmop69, was compiling BASIC and XB games. In post #100 of that thread, tmop reports: "So, I've found another game in the 0.1% percent... It's Skier 99 (in attachment). It works fine in TI BASIC, but not in RXB and of course also after the compilation. It simply does not update the screen with the updated graphics, but only draws the bottom line. I was not able the find what is the offending code, so help is welcome!" In post #102 I described the problem and provided two possible solutions, one requiring XB256 and one for standard XB. Tmop69 wisely chose the fix that uses standard XB, was able to compile the program, and found that it worked correctly. Mission accomplished, time to move on to the next cow, as they say on the farm. Five days later you come up with a "fix" that doesn't fix anything and that uses RXB, which cannot be compiled. Please explain how this addresses the OP's problem? (Edit) Turns out that your line 60 should be 60 CALL HPUT(23,1,A$). Then it works properly, but of course it still cannot be compiled so it is a useless fix.
  8. Omega wanted a way to go directly to force command from XB. I have added one more subprogram: CALL FC which will go directly to force command. I also did a little cleaning up in how XB 2.8 G.E.M. handles colors, fonts, autoload behavior and force command from BYE. Now you can modify 2 bytes in the grom file so it will use your preferences for default values, not mine. This is described on page 8 of the XB28GEM manual. The README file will help TIPI most users avoid frustration when setting up. XB28GEM1021.zip
  9. Per Omega's suggestion I have moved this over to the RXB thread. 1-What asterisks? There was no mention of them? Just replace character 31 with 42 in that case. Asterisks were in the original 3 line program and I assumed you had included them in your suggestion: 10 CALL HCHAR(24,1,31,2,24,3,32,28,24,31,31,2) 20 PRINT 30 GOTO 30 This actually shows nothing because the characters (31 and 32) are invisible. XB PRINT does not ERASE anything it just scrolls the screen up the prints a blank line of 32 characters space character. XB PRINT does erase the bottom line as you would know if you had run my 3 line program. Before you fire off a reply try out this program in XB and see if you still think XB PRINT does not erase anything: 10 FOR I=65 TO 75 20 CALL HCHAR(24,1,I,32) 30 PRINT 40 NEXT I
  10. If you can do this in XB256, I think the results would be better. First, bit mapped graphics are slow compared to standard XB graphics. Second, you can compile XB256, but not The Missing Link as yet.
  11. That fails for two reasons. 1-It is no better than XB. The asterisks are erased when PRINT forces the scroll. 2-Even if it worked it cannot be compiled.
  12. You have me stumped. "Thus why I keep saying make XB256 for RXB and you get best of both." XB256 already works fine with RXB. You say you want "RXB commands like CALL HPUT(row,col,variable or string or number) is better then DISPLY AT or PRINT restricted to 28 per line." Nothing stops you from using those commands.
  • Create New...