Jump to content
IGNORED

Research on Myarc Extended Basic II


retroclouds

Recommended Posts

1 hour ago, arcadeshopper said:

@Lee Stewart this is the thread I referenced on the zoom today 

So we only have the XB II code for Geneve and not for the TI99/4A only version as the Geneve version will not run on a TI99/4A as far as I know.

I could be wrong but would like the Source Code for XB II of the TI99/4A

Link to comment
Share on other sites

14 hours ago, RXB said:

So we only have the XB II code for Geneve and not for the TI99/4A only version as the Geneve version will not run on a TI99/4A as far as I know.

I could be wrong but would like the Source Code for XB II of the TI99/4A

I have tried to acquire that source code, but no luck thus far. 

  • Like 2
Link to comment
Share on other sites

  • 4 months later...
On 7/1/2020 at 6:59 PM, retroclouds said:

Do we have a timeline to compare the TI Basic in the 99/2 with Extended Basic II on the 99/8.

It's confirmed that the TI-Basic on the 99/2 is a complete rewrite in assembly language (but lacking graphics manipulation commands on the 99/2).

 

 

There is no Grom chips in the 99/2.

There is no TMS99xx VDP chips in the 99/2.

There is no Video RAM in the 99/2.

Instead a certain memory range in CPU RAM is meant for video output and those 768 bytes are displayed on the screen, all interaction towards video output is different.

The leader of the development group did a large article somewhen and confirmed in there that the BASIC was outsourced to some university group.

Afaik we don't have the source code to the system, only compiled two versions of rom dumps (from me and fabrice).

greetings, kl99 (some atariage.com account issue)

  • Like 2
Link to comment
Share on other sites

On 6/30/2020 at 9:37 AM, retroclouds said:

4. BASIC on the TUTOR

  • I believe the Tutor Basic was pretty much the 99/8 Armadillo Basic (1).
    However, here I read that it’s in fact GPL (needs to be confirmed)

Best is you watch this video entry, which was revealing proof my research that Tutor BASIC can actually be compiled out of the TI Extended BASIC source code in most parts, with only a few bytes/lines in source code adapted.

 

if the video quality is not good, i still have the original video file somewhere.

 

And here is the matching Forum thread by me:

 

  • Like 4
Link to comment
Share on other sites

  • 3 weeks later...
1 hour ago, hloberg said:

in that MyXBII source 'doesn't exist' or 'someone got it but doesn't want to give it' ?

A lot of the programming was initially done by Mack McCormick, but that code was not on the hard disks he passed on to the community when he bailed from the TI while he was in Germany. Those disks did include a number of useful bits of source code, to include the source for Extended BASIC II as implemented on the 99/8 and the DSR source for the Myarc Floppy controller. That data has been available on WHT for quite some time. I have one of Mack's original drives and Dee Turner had the other. Dee's drive eventually ended up in the hands of @dhe, who sent it to me to verify the contents. There was no additional code on it other than what I'd seen 30 years ago though.

 

As to the subject of code that exists/doesn't exist, the only likely source of a copy of it would be Lou Philips. I believe that was who @9640News contacted to try to obtain it, but Lou may not have it anymore or may not be motivated enough to look for it. Matters not, as the results of either answer would be the same: no additional source code to peruse.

  • Like 2
  • Thanks 2
Link to comment
Share on other sites

2 hours ago, hloberg said:

in that MyXBII source 'doesn't exist' or 'someone got it but doesn't want to give it' ?

If anyone has the source, it is Lou and he has thus far not worked through all his disks or backups to find it.  Lou has had other priorities and pulling out his hardware has not been a priority.

 

Beery

  • Like 2
  • Thanks 2
Link to comment
Share on other sites

48 minutes ago, Ksarul said:

...

 

As to the subject of code that exists/doesn't exist, the only likely source of a copy of it would be Lou Philips. I believe that was who @9640News contacted to try to obtain it, but Lou may not have it anymore or may not be motivated enough to look for it. Matters not, as the results of either answer would be the same: no additional source code to peruse.

sigh, modding it to use SAMS would be really cool.

  • Like 2
Link to comment
Share on other sites

  • 2 weeks later...
On 7/8/2023 at 12:35 AM, Ksarul said:

A lot of the programming was initially done by Mack McCormick, but that code was not on the hard disks he passed on to the community when he bailed from the TI while he was in Germany. Those disks did include a number of useful bits of source code, to include the source for Extended BASIC II as implemented on the 99/8 and the DSR source for the Myarc Floppy controller. That data has been available on WHT for quite some time.

@Ksarul do you have any pointers in what directory and disk image files the above can be found on WHT ? Thanks.

Link to comment
Share on other sites

I've mentioned it before, but I do have some MXBII sources on floppy. Unknown condition and uncertain if they are only the  Geneve version, but I believe there may be 99/4A versions as well. They came with the developer Geneve I got from someone other than McCormick. It will be a minor miracle if the disks are readable at this point, and I can't promise anything, but I'm trying.                                                                                                                                                  

  • Like 4
Link to comment
Share on other sites

26 minutes ago, jbdigriz said:

I've mentioned it before, but I do have some MXBII sources on floppy. Unknown condition and uncertain if they are only the  Geneve version, but I believe there may be 99/4A versions as well. They came with the developer Geneve I got from someone other than McCormick. It will be a minor miracle if the disks are readable at this point, and I can't promise anything, but I'm trying.                                                                                                                                                  

Definitely if you can extract the source, it would be much appreciated for many!

  • Like 2
Link to comment
Share on other sites

  • 6 months later...
  • 2 weeks later...

Mmm running tests on various XB's for speed test:

 

90 CALL SPRITE(#1,65,2,20,20)
100 CALL CLEAR
110 OPEN #1:"CLOCK"
120 INPUT #1:A$,B$,C$
130 FOR C=1 TO 10000
140 CALL POSITION(#1,20,20)
150 NEXT C
160 INPUT #1:D$,E$,F$
170 PRINT A$,D$:B$,E$,C$,F$
180 END

Hit RUN and it says SYNTAX ERROR IN 140?

 

Save program to disk and it runs fine from XB, XB3, XBGEM and RXB 2024B?

Link to comment
Share on other sites

34 minutes ago, RXB said:

Mmm running tests on various XB's for speed test:

 

90 CALL SPRITE(#1,65,2,20,20)
100 CALL CLEAR
110 OPEN #1:"CLOCK"
120 INPUT #1:A$,B$,C$
130 FOR C=1 TO 10000
140 CALL POSITION(#1,20,20)
150 NEXT C
160 INPUT #1:D$,E$,F$
170 PRINT A$,D$:B$,E$,C$,F$
180 END

Hit RUN and it says SYNTAX ERROR IN 140?

 

Save program to disk and it runs fine from XB, XB3, XBGEM and RXB 2024B?

Should that be CALL LOCATE() ?

  • Like 1
Link to comment
Share on other sites

5 minutes ago, OLD CS1 said:

Should that be CALL LOCATE() ?

OMG you are right I have it backwards should be CALL POSITION(#1,X,Y)

My notes are wrong as I just looked it up in XB manual page 146

  • Like 1
Link to comment
Share on other sites

4 hours ago, RXB said:

OMG you are right I have it backwards should be CALL POSITION(#1,X,Y)

My notes are wrong as I just looked it up in XB manual page 146

What gets me is how the names technically make sense, but seem intuitively backward to me:

 

POSITION returns the position of a sprite, but in my mind it should position the sprite.

LOCATE places the sprite in a specific location, but in my mind it should locate the sprite.

  • Like 3
Link to comment
Share on other sites

  • 2 months later...

Did some comparisons:

 


90 ! ROUTINE SET UP SPRITES TEST SO NOT PART OF TIMING ROUTINE
100 CALL CLEAR
110 OPEN #1:"CLOCK"
120 INPUT #1:A$,B$,C$
130 FOR C=1 TO 10000
140 ! ROUTINE INSERTED HERE TO TEST
150 NEXT C
160 INPUT #1:D$,E$,F$
170 PRINT A$,D$:B$,E$,C$,F$
180 END 
*********************************************************************************************
                                        SAMS
   XB       XB3.0   XB3.1      XBGEM   MyarcXB2   RXB   command
---------------------------------------------------------------------------------------------
  11:5      9:10     9:10      3:11      5:6     3:21   CALL CHAR(65,"FFFFFFFF")
2:57:15    34:18     8:36      5:33      6:19    4:42   CALL CHAR(Z$,65) ! LENGTH 64
  11:32     7:19     7:19      4:1       5:14    4:5    CALL CHARPAT(65,Z$)
  32:44    33:6     33:4       1:11:47   5:1     4:8    CALL CHARSET
   3:49     3:29     3:31      3:43      8:48    3:41   CALL CLEAR
   6:25     6:25     4:20      6:24      7:22    6:19   CALL COINC(#1,20,20,8,Z)
   3:0      3:0      2:6       3:0       4:3     3:4    CALL COINC(ALL,Z)
   4:33     4:15     3:7       4:15      5:4     4:24   CALL COLOR(1,2,8)
   3:9      3:9      2:12      3:9       4:6     2:36   CALL DELSPRITE(#1)
   6:22     6:23     5:12      6:22      4:18    5:33   CALL DELSPRITE(ALL)  
   6:5      6:6      4:11      6:6       6:0     6:1    CALL DISTANCE(#1,20,20,Z)
   6:6      3:7      3:6       4:10      5:9     4:2    CALL GCHAR(1,1,Z)
   4:11     3:1      3:0       4:5       5:5     4:17   CALL HCHAR(1,1,65)
4:37:35  4:39:17    21:2       9:31     14:12    7:33   CALL HCHAR(1,1,65,768)
   5:0      3:2      3:3       5:6       6:43    5:7    CALL JOYST(1,X,Y)
   4:37     3:25     2:11      4:38      5:16    5:2    CALL KEY(1,K,S)
   4:4      4:4      3:9       4:4       5:13    4:17   CALL LOCATE(#1,20,20)
   2:17     2:11     2:8       2:14      3:45    2:14   CALL MAGNIFY(1)
   4:44     4:44     3:24      4:44      6:42    4:41   CALL MOTION(#1,20,20)  
   3:8      3:17     2:24      3:17      5:27    3:4    CALL PATTERN(#1,66)
   5:22     5:22     3:14      5:31      5:25    5:9    CALL POSITION(#1,X,Y)
   3:44     2:11     2:12      2:6       4:3     2:17   CALL SCREEN(5)
   5:9      5:8      4:7       5:9       6:30    5:7    CALL SPRITE(#1,65,2,10,10)
   3:55     3.0      3:1       4:5       5:5     4:17   CALL VCHAR(1,1,65)
4:30:22  4:30:41  3:30:27     18:29     18:11   21:3    CALL VCHAR(1,1,65,768)
  10:2      8:13     8:11     10:1       6:18   10:3    DISPLAY AT(9,9):C
  21:10    13:41    12:18     11:49     11:29   12:13   DISPLAY AT(9,9):RND
   8:22     6:43     6:38      8:22      6:17    8:21   DISPLAY AT(9,9):"TEST"
  22:6      6:23     6:24     19:27      3:3    15:15   CALL INIT 
   1:48     2:30     2:30     12:12      3:40    2:9    A=LEN("TEST")
  12:12     5:3      5:3       3:8       7:16    3:9    A=RND
   1:26     1:14     2:46      1:26      3:26    2:34   A=ABS(C)
   5:36     2:36     3:23      5:25      6:12    5:37   A=ATN(1)  
   3:5      2.0      2:2       3:25      5:30    3:7    A$=CHR$(65) 
  13:8     12:11    11:49     13:8      10:2    13:9    A=COS(.5)
  14:27    11:14    10:46     14:27     14:36   14:28   A=EXP(1)
  20:42    16:14    16:11     41:13     20:6    19:12   A=LOG(3.4)
   2:37     2:10     2:8       2:11      4:9     2:42   A=MAX(C,99)
   3:16     2:4      2:2       3:15      4:12    3:11   A=MIN(C,99)
   2:36     1:13     1:2       1:24      3:14    1:23   A=PI
   5:5      4:14     4:16      4:31      6:10    5:1    A=POS("PAN","A",1)
2:17:15     7:13     7:14     17:5      40:31 2:17:9    A$=RPT$("A",255)
   5:27     3:6      3:25     55:25      7:13    5:30   A$=SEG$("TEST",2,3)
   1:27     1:14     1:14      1:26      3:26    1:26   A=SGN(C)
  12:4     11:50     11:3     11:56     15:3    12:4    A=SIN(30)
  11:3      9:34     10:26    11:2      17:28   11:1    A=SQR(C)
   4:19     3:7       2:51     3:41     11:8     4:16   A$=STR$(5)
  44:19    23:13     23:14    25:16     29:16   35:15   A=TAN(.78)
   4:19     3:0       3:1      4:19      4:7     4:12   A=VAL("5")
   1:14     1:22      1:22     1:15      3:15    1:15   DATA 1
   1:14     1:15      1:16     1:8       3:26    1:8    DEF A=C*C
    :51      :44      1:16     1.8       3:26    1:8    DIM A(100)
  14:36    10:52      9:47    13:10     10:7    13:8    PRINT
  13:14     9:23     10:37    14:46     11:9    15:19   DISPLAY
  11:25    12:6      12:4     16:36     12:13   16:35   PRINT C 
  17:9     12:38     13:22    17:10     12:10   17:7    DISPLAY C
  15:2     10:35     10:33    15:2      12:52   15:4    PRINT "TEST"
  15:44    12:51     11:5     16:27     11:11   16:28   DISPLAY "TEST"
   1:12     1:19      1:19     1:12      2:22    1:11   OPTION BASE 1
   4:35     3:24      3:26     3:25      4:24    4:24   CALL PEEK(8192,A)
   5:37     4:3       4:1      2:29      3:21    2:29   RANDOMIZE C  
   8:21     9:43      9:45     9:39      6:5     8:21   CALL SOUND(1,110,30)         
*********************************************************************************************
* RXB NEW COMMANDS TO EXTENDED BASIC
 PRINT    PRINT    PRINT     PRINT    PRINT      7:14   CALL SCROLLUP           {PRINT}
 PRINT C  PRINT C  PRINT C   PRINT C  PRINT C   11:23   CALL SCROLLUP(1,C)      {DISPLAY C}
 DISPLAY  DISPLAY  DISPLAY   DISPLAY  DISPLAY   10:33   CALL SCROLLUP(1,"TEST") {DISPLAY} 
 DISPLAY  DISPLAY  DISPLAY   DISPLAY  DISPLAY    5:6    CALL HPUT(11,11,C)      {DISPLAY AT}
 DISPLAY  DISPLAY  DISPPLAY  DISPLAY  DISPLAY    7:12   CALL HPUT(11,11,RND)    {DISPLAY AT}
 DISPLAY  DISPLAY  DISPPLAY  DISPLAY  DISPLAY    4:29   CALL HPUT(11,11,"TEST") {DISPLAY AT}
  14:17    10:10    10:11     15:42     16:16   11:50   CALL JOYLOCATE(1,X,Y,8,8,#1,RW,CL,K) GOTO 
  15:53    10:20    10:8      15:3      16:1    10:2    CALL JOYMOTION(1,X,Y,#1,9,9,K) GOTO
   7:7      5:11     5:11      7:7      11:3     9:33   CALL ONKEY("ABC",1,K,S) GOTO 1,2,3
   N/A      N/A      N/A       N/A       N/A     7:26   CALL COLLIDE(#1,20,20,8,X,Y)
   N/A      N/A      N/A      10:31      N/A    11:39   CALL MOVES("RR",1024,8192,12288) 
*********************************************************************************************
80 ! JOYLOCATE FOR OTHERS   
90 CALL SPRITE(#1,65,2,20,20) :: XL,YL=20
100 CALL CLEAR
110 OPEN #1:"CLOCK"
120 INPUT #1:A$,B$,C$
130 FOR C=1 TO 10000
140 CALL JOYST(1,X,Y) :: CALL LOCATE(#1,X+XL,Y+YL) :: CALL KEY(1,K,S) 
:: IF K=18 THEN 150
150 NEXT C
160 INPUT #1:D$,E$,F$
170 PRINT A$,D$:B$,E$,C$,F$
180 END
*****************************************************************************
80 ! JOYMOTION FOR OTHERS
90 CALL SPRITE(#1,65,2,20,20) :: XL,YL=20
100 CALL CLEAR
110 OPEN #1:"CLOCK"
120 INPUT #1:A$,B$,C$
130 FOR C=1 TO 10000
140 CALL JOYST(1,X,Y) :: CALL MOTION(#1,X*9,Y*9) :: CALL KEY(1,K,S) 
:: IF K=18 THEN 150
150 NEXT C
160 INPUT #1:D$,E$,F$
170 PRINT A$,D$:B$,E$,C$,F$
180 END
****************************************************************************
80 ! ONKEY FOR OTHERS
90 CALL SPRITE(#1,65,2,20,20) :: XL,YL=20
100 CALL CLEAR
110 OPEN #1:"CLOCK"
120 INPUT #1:A$,B$,C$
130 FOR C=1 TO 10000
140 CALL KEY(1,K,S) :: IF K=65 THEN 150 ELSE IF K=66 THEN 150 ELSE IF 
K=67 THEN 150 ELSE 150
150 NEXT C
160 INPUT #1:D$,E$,F$
170 PRINT A$,D$:B$,E$,C$,F$
180 END
****************************************************************************

 

  • Like 2
Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...
  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...