Jump to content

RXB

Members
  • Posts

    5,850
  • Joined

  • Last visited

  • Days Won

    3

RXB last won the day on December 17 2023

RXB had the most liked content!

1 Follower

About RXB

  • Birthday 01/22/1954

Profile Information

  • Gender
    Male
  • Location
    Vancouver, Washington, USA
  • Interests
    Computers, Science, Technology, TI99/4A
  • Currently Playing
    World of Warcraft. Left4Dead, CoD4, Fallout 4, World of Tanks, Star Trek Online
  • Playing Next
    Mosty TI games and some CoD or Diablo or Fallout 4 or World of Tanks

Recent Profile Visitors

20,812 profile views

RXB's Achievements

Quadrunner

Quadrunner (9/9)

3.2k

Reputation

  1. I met a Programmer that did not comment anything in his code but he had a good reason... photographic memory.
  2. What is with Basic, it is slow and sucks! XB is way faster and can auto start plus load multiple programs. RXB has CALL USER which is better than DOS as it can run XB programs, Assembly Programs and LINKs and even SAMS too!
  3. Did a comparison of most XB versions: 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 ****************************************************************************
  4. 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 ****************************************************************************
  5. Well have disassembled mostly large portion of XB3.0 and going to work on XB3.1 next target. Anyway to compare other XB to RXB and XB3 or MyarcXB2 on SAMS or XBGEM. 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 ****************************************************************************
  6. Hmmm I just use Classic99. Go to Cartridge, Open the one ending in C.bin and it works fine? No need for a scripts in the INI file.
  7. I am doing a list like previously to test speeds of XB3 3.1 of many commands vs other XB variants and will post results. I already did this for XB3 3.0 already and I will include both.
  8. You have to hold the SPACE BAR to avoid the Error Report and get a *READY* instead. Also the REA cart is way better then the EA cart XB3 supports.
  9. As I am disassembling the ROMs and GROMs to understand how it works the main feature is it has way more Floating Point math functions then other basics. These are written in Assembly using the 3rd ROM. Also XB3 has many added changed ROM routines that speed up some functions of XB. For example in XB ROM is a routine called SPEED that in normal XB is faster than GPL for fetching values like CALL GCHAR(row,column,character-value) getting ROW and COLUMN is faster. XB3 has added more routines so it does more comparisons like not just checking ROW and COLUMN it also checks ranges of numbers or validates values.
  10. Well you can add XB3 to that list of ways to get RND working I am currently disassembling all of XB3 GPL GROMs and ROMs. Reposting my times: 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 XB XB3 XBGEM MyarcXB2 RXB command ------------------------------------------------------------------------- 11:5 9:10 3:11 5:6 3:21 CALL CHAR(65,"FFFFFFFF") 2:57:15 34:18 5:33 6:19 4:42 CALL CHAR(65,Z$) ! LENGTH 64 11:32 7:19 4:1 5:14 4:5 CALL CHARPAT(65,Z$) 32:44 33:6 1:11:47 5:1 4:8 CALL CHARSET 3:49 3:29 3:43 8:48 3:41 CALL CLEAR 6:25 6:25 6:24 7:22 6:19 CALL COINC(#1,20,20,8,Z) 3:0 3:0 3:0 4:3 3:4 CALL COINC(ALL,Z) 4:33 4:15 4:15 5:4 4:24 CALL COLOR(1,2,8) 3:9 3:9 3:9 4:6 2:36 CALL DELSPRITE(#1) 6:22 6:23 6:22 4:18 5:33 CALL DELSPRITE(ALL) 6:5 6:6 6:6 6:0 6:1 CALL DISTANCE(#1,20,20,Z) 6:6 3:7 4:10 5:9 4:2 CALL GCHAR(1,1,Z) 4:11 3:1 4:5 5:5 4:17 CALL HCHAR(1,1,65) 4:37:35 4:39:17 9:31 14:12 7:33 CALL HCHAR(1,1,65,768) 5:0 3:2 5:6 6:43 5:7 CALL JOYST(1,X,Y) 4:37 3:25 4:38 5:16 5:2 CALL KEY(1,K,S) 4:4 4:4 4:4 5:13 4:17 CALL LOCATE(#1,20,20) 2:17 2:11 2:14 3:45 2:14 CALL MAGNIFY(1) 4:44 4:44 4:44 6:42 4:41 CALL MOTION(#1,20,20) 3:8 3:17 3:17 5:27 3:4 CALL PATTERN(#1,66) 5:22 5:22 5:31 5:25 5:9 CALL POSITION(#1,X,Y) 3:44 2:11 2:6 4:3 2:17 CALL SCREEN(5) 5:9 5:8 5:9 6:30 5:7 CALL SPRITE(#1,65,2,10,10) 3:55 3.0 4:5 5:5 4:17 CALL VCHAR(1,1,65) 4:30:22 4:30:41 18:29 18:11 21:3 CALL VCHAR(1,1,65,768) 10:2 8:13 10:1 6:18 10:3 DISPLAY AT(9,9):C 21:10 13:41 11:49 11:29 12:13 DISPLAY AT(9,9):RND 8:22 6:43 8:22 6:17 8:21 DISPLAY AT(9,9):"TEST" 12:12 5:3 3:8 7:16 3:9 A=RND ****************************************************************************** * RXB COMMANDS DISPLAY DISPLAY DISPLAY DISPLAY 5:6 CALL HPUT(11,11,C) DISPLAY DISPLAY DISPLAY DISPLAY 7:12 CALL HPUT(11,11,RND) DISPLAY DISPLAY DISPLAY DISPLAY 4:29 CALL HPUT(11,11,"TEST") 14:17 10:10 15:42 16:16 11:50 CALL JOYLOCATE(1,X,Y,8,8,#1,RW,CL,K) GOTO 15:53 10:20 15:3 16:1 10:2 CALL JOYMOTION(1,X,Y,#1,9,9,K) GOTO 7:7 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 7:26 CALL COLLIDE(#1,20,20,8,X,Y) 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 ****************************************************************************
  11. Flow Charts, Diagrams, Pictures, and conversion tables. Like Hex vs Decimal vs same text with offset values. Or memory maps for each address and what it does like Source files. Over the years the number of Source files has exploded.
  12. Many years ago I used an RS232 cable from my TI99/4A to a IBM PC running PC99 Yes it was slow and painful to copy 20 meg of files over RS232 Now today my TI folder on my PC the TI folder is 24.2 Gig, and yes I know there are tons of Duplicates. I think the biggest increase on the PC is not the TI stuff, it is the PDF files converted from TEXT to PDF
  13. Ok what is this useful for? Now the mini memory version of FinalGROM has lower memory >6000 to >6FFF as ROM and upper memory >7000 to >7FFF as RAM. As far as I know there is 512K of RAM for this. The odd ball set up above would not be compatible with FinalGROM or any Cart I have ever heard of????
  14. Well the CALL SOUND in XB is pretty compact with no assembly really at all. Other then fetching the command and values from XB. *********************************************************** * INIALIZATION DATA FOR SOUND FLTS BYTE >42,>0B,>12,>22,>00,>00,>00,>00 SNDREG BYTE >01,>FF,>01,>04,>9F,>BF,>DF,>FF,>00 *********************************************************** * SUBPROGRAM FOR 'SOUND' * * CALL SOUND(duration,frequency,volume1,...) * * Builds 2 blocks in VDP RAM * * 1st BLOCK : >01,<ATTENUATION FOR NOISE>,<INTERRUPT COUNT> * 2nd BLOCK : >04,>9F,>BF,>DF,>FF,>00 * *********************************************************** XSOUND DCEQ VRMSND,@>83CC Insure previous sound started BS XSOUND MOVE 9,G@SNDREG,V@VRMSND CALL LPARR Duration in milliseconds CGE 0,@FAC Don't wait for completion BS GAA39 DNEG @FAC of previous sound DCLR @PRTNFN Make GPL interpeters stop pre GAA39 XML SPEED Insure duration BYTE RANGE * is in range BYTE 1 * of 1 - 4250 DATA 4250 * Convert duration into 1/60s of a second DMUL 6,@FAC Duration * 6 DDIV 100,@FAC (duration * 6) / 100 CZ @FAC1 If duration =0 BR GAA4D INC @FAC1 Set it to 1/60th of a second GAA4D ST @FAC1,V@VRMSND+2 3rd byte of the 1st block * | INTERUPT COUNT *********************************************************** * SOUND TABLE OF 10 BYTES IN CPU RAM (>00 - >09) * >00 - >05 : FREQUENCY CONTROL * >06 - >08 : ATTENUATION CONTROL * >09 : NOISE CONTROL(non-zero = noise encountered) * >0A : POINTER FOR CURRENT FREQENCY CONTROL * >0B : POINTER FOR CURRENT ATTENUATION CONTROL * >00 , >01 FOR REG 0; * >02 , >03 FOR REG 1; * >04 , >05 FOR REG 2; * REG0 : >8000, REG1 : >A000, REG3 : >C000 * INITIALIZE ATTENUATION CONTROL * REG0 : >9F, REG1 : >BF, REG2 : >DF *********************************************************** MOVE 12,G@ATTREG,@>8300 SOUND1 XML SPEED Parse the frequency value BYTE PARCOM * and insure a comma CALL CKSTNM Must be a numeric CGE 0,@FAC Noise if negative BR SOUND2 MOVE 8,G@FLTS,@ARG Constant 111834 XML FDIV P = 111834/FREQUENCY XML SPEED Insure in range BYTE RANGE BYTE 3 * Range: 3 - 1023 DATA 1023 * GET THE 4 L.S.Bits BITS AND 6 M.S.Bits OF 'P' DSRC 4,@FAC SRL 4,@FAC DOR @FAC,*STADDR 1st byte of frequency control byt * BIT 7 6 5 4 3 2 1 * 1 <REG> 0 <L.S.B. 4 OF * 2nd byte of frequency control byt * 0 0 <M.S.B. 6 of 'P' INCT @STADDR Advance ponter for next time CALL ATTNUT Get attenuation * BIT 7 6 5 4 3 2 1 * 1 <REG> 1 0 0 0 AND @FAC1,*PADB 1 <REG> 1 <ATTN/2 DB> INC @PADB Advance pointer for next time * CHECK FOR END OF SOUND CALL SOUND3 CEQ RPARZ,@CHAT End of statement? BS SOUND5 XML SPEED If not right parenthesis BYTE SYNCHK * then must be at BYTE COMMAZ * a comma CEQ 6,@STADDR If not 3 regs yet BR SOUND1 * 3 sound regs already - so must be noise control XML SPEED Get frequency (should be nois BYTE PARCOM * and insure a comma CALL CKSTNM Must be a numeric value CGE 0,@FAC If not noise-error BS ERRBV * NOISE CONTROL SOUND2 CEQ >FF,@>8309 * BAD ARGUMENT ERROR BR ERRBA DNEG @FAC -(FREQUENCY) XML SPEED Insure in range BYTE RANGE * of 1 - 8 BYTE 1 * DATA 8 DEC @FAC1 0 - 7 (2nd BIT: 'T') * OTH, 1ST BITS: ST @FAC1,@>8309 OR >E0,@>8309 Noise control byte: * BIT 7 6 5 4 3 2 1 0 * 1 1 1 0 0 <T> < S > * PUT ATTENUATION IN THE 2ND BYTE OF 1ST BLOCK CALL ATTNUT ST @FAC1,V@VRMSND+1 * 1 1 1 1 < ATTN/2 DB> BR SOUND3 Go check for end of list SOUND5 CLR @VAR5 Pointer to sound table SND05 CZ @PRTNFN Wait untild previous BS SOUND6 SCAN Is finished and BR SND05 look for a break-key CEQ BREAK,@RKEY If not break-key BR SND05 BR EXEC6C If BREAK-KEY encountered * LOAD SOUND TABLE SOUND6 ST *VAR5,@>8400 SOUND ADDRESS PORT INC @VAR5 Next byte in table CEQ >0A,@VAR5 If not finished BR SOUND6 DST VRMSND,@FAC Where the 2 blocks are I/O 1,@FAC Start sound from VDP list BR LNKRTN Return to caller *********************************************************** * INSURE LEFT PARENTHESIS AND THEN PARSE TO A COMMA *********************************************************** * RXB PATCH CODE LPARR CEQ COMMAZ,@CHAT BS CPAR XML SPEED * Must be BYTE SYNCHK * at a BYTE LPARZ * left parenthesis BR CPAR2 CPAR XML SPEED BYTE SYNCHK BYTE COMMAZ * RXB PATCH LABEL *********** CPAR2 XML PARSE Do the parse BYTE COMMAZ * Stop on a comma XML SPEED * Must be BYTE SYNCHK * at a BYTE COMMAZ * left comma RTN
×
×
  • Create New...