Sid1968 Posted October 15, 2019 Author Share Posted October 15, 2019 (edited) 1 hour ago, AMenard said: Yeah the loading time with the 1541 were a pain... but 33 years to load Pascal? ? Yes indeed... but the compiling times, too. It was alway a good idea to go drink and eat some chocolate (because of the vitamins) while the C64 worked? On the photos of my TI-99/4A you can sometime see my new PI1541 on the left side of my monitor, which is an emulated 1541 on a Raspberry Pi 3. Using a Turbo Chameleon 64 is another way to have very short loading times after 33 years. ? Edited October 15, 2019 by Sid1968 1 Quote Link to comment Share on other sites More sharing options...
Sid1968 Posted October 15, 2019 Author Share Posted October 15, 2019 (edited) 1 hour ago, TheBF said: I can't speak to the BASIC systems directly, but Forth is a low level language. It is really a clever macro assembler for a two stack machine. But the language is extendable. If you want cartesian coordinates then you just add words to the language that do that for you. FbForth has all the support needed to accomplish that. Let me give you, the members of this fantastic forum, a programmers challenge. Use the program language of your own choice. (Basic, Forth, fbForth, Assembler, Pacal etc.) Draw a cartesian coordinate system with the mathematic function f(x) = sin (x) while x is between -5 and 5. Post your coding here. This time its not important how fast the program works, but how elegant you solved the challenge and show us the capabilities of your prefered language. Kind Regards Sid ? Edited October 15, 2019 by Sid1968 Quote Link to comment Share on other sites More sharing options...
RXB Posted October 15, 2019 Share Posted October 15, 2019 15 hours ago, Stuart said: I wouldn't say that 14K of RAM free for program and variables restricts it to "very very small programs"! That is 10K RAM less then normal XB. This is why in RXB 2020 I have SAMS support so you could run XB programs larger then 24K by overwriting the same memory area. Example: Line numbers 10200 to 18000 could be 4K of space that you page in another 4K of lines 10200 to 18000 several times, thus you could have a 100K XB program. (Now yes XB is slower but then again this could be Assembly sections instead of XB program code) Can Cortex Basic do this? 1 Quote Link to comment Share on other sites More sharing options...
+TheBF Posted October 15, 2019 Share Posted October 15, 2019 (edited) 6 hours ago, Sid1968 said: Let me give you, the members of this fantastic forum, a programmers challenge. Use the program language of your own choice. (Basic, Forth, fbForth, Assembler, Pacal etc.) Draw a cartesian coordinate system with the mathematic function f(x) = sin (x) while x is between -5 and 5. Post your coding here. This time its not important how fast the program works, but how elegant you solved the challenge and show us the capabilities of your prefered language. Kind Regards Sid ? I got home from teaching and saw the challenge. It destroyed my afternoon. ? So I don't have bit mapped graphics working in my system yet so I used a sprite as the plotter. I showed the entire compile process with CLASSIC99 running at "NORMAL" speed so you know I didn't cheat. CAMEL99 Forth is "micro-kernel" (pico-kernel?) at 8K so everything has to be compiled on top of it. It's not exactly calibrated. Working in integers is a little more challenging but you get the idea. Spoiler \ Simple Cartesian plotter \ NEEDS DUMP FROM DSK1.TOOLS NEEDS SIN FROM DSK1.TRIG NEEDS VCHAR FROM DSK1.GRAFIX NEEDS SPRITE FROM DSK1.DIRSPRIT HEX 1010 1010 1010 1010 PATTERN: VERT. 0000 00FF 0000 0000 PATTERN: HORZ. 1010 10FF 1010 1010 PATTERN: CROSS 0000 0018 1800 0000 PATTERN: DOT HORZ. 3 CHARDEF VERT. 2 CHARDEF CROSS 4 CHARDEF DOT 5 CHARDEF DECIMAL ( char colr x y sp# ) CHAR * 16 0 0 0 SPRITE ( sprite the plotter) 255 CONSTANT XMAX 190 CONSTANT YMAX YMAX 2/ CONSTANT YOFF XMAX 2/ CONSTANT XOFF : PLOT ( X Y -- ) NEGATE YOFF + 0 SP.Y VC! XOFF + 0 SP.X VC! ; : CROSSHAIR 4 16 12 >VPOS VC! ; : HLINE 0 12 3 32 HCHAR ; : VLINE 16 0 2 24 VCHAR ; : GRATICULE CLEAR 3 SCREEN HLINE VLINE CROSSHAIR ; : SIN() ( n -- n') SIN 110 / ; DECIMAL : ?BREAK ?TERMINAL ABORT" *break*" ; : F(X) ( MINx MAXx -- ) 25 * SWAP 25 * GRATICULE BEGIN 2DUP ?DO I I SIN() PLOT LOOP ?BREAK AGAIN ; CARTESIAN.mp4 Edited October 15, 2019 by TheBF Fixed spoiler 1 1 Quote Link to comment Share on other sites More sharing options...
Sid1968 Posted October 15, 2019 Author Share Posted October 15, 2019 (edited) Thank you very much for your effort. Very good! Please share your programcode (dont know another word) with us, so that we can compare it. Is it possible that you improve your program? Look here... nearly like this should the result look like (only the blue colored function and the x-range of our challenge): Click me! Thats a fantastic start TheBF! Cheers Sid ? P.S: Mechatronic Extended Basic II Plus offers the "Axis" function, which draws the cartesian coordinate system in the easiest way... Worse Programmers like me would have choosen that. ? Edited October 15, 2019 by Sid1968 Quote Link to comment Share on other sites More sharing options...
+TheBF Posted October 15, 2019 Share Posted October 15, 2019 9 minutes ago, Sid1968 said: Thank you very much for your effort. Very good! Please share your programcode (dont know another word) with us, so that we can compare it. Is it possible that you improve your program? Look here... nearly like this should the result look like (only the blue colored function and the x-range of our challenge): Click me! Thats a fantastic start TheBF! Cheers Sid ? Click the spoiler to see the code. It's Forth so... it's unusual. (Program code is a fine translation) Yes with a little more effort I can make it look more like your example. Vielen dank 1 Quote Link to comment Share on other sites More sharing options...
Sid1968 Posted October 15, 2019 Author Share Posted October 15, 2019 (edited) 3 minutes ago, TheBF said: Click the spoiler to see the code. It's Forth so... it's unusual. (Program code is a fine translation) Yes with a little more effort I can make it look more like your example. Vielen dank Thx for that advice. ? You dont need to use integers. Edited October 15, 2019 by Sid1968 Quote Link to comment Share on other sites More sharing options...
Tursi Posted October 15, 2019 Share Posted October 15, 2019 (edited) 7 hours ago, Sid1968 said: Let me give you, the members of this fantastic forum, a programmers challenge. Use the program language of your own choice. (Basic, Forth, fbForth, Assembler, Pacal etc.) Draw a cartesian coordinate system with the mathematic function f(x) = sin (x) while x is between -5 and 5. Post your coding here. This time its not important how fast the program works, but how elegant you solved the challenge and show us the capabilities of your prefered language. Here you go, here's the slowest one. TI BASIC, no extensions, add-ons, or tricks. Spoiler 100 REM PROGRAM START 110 DIM CC$(101),HPAT$(4) 120 GOTO 440 130 REM DOTPLOT AT DOTROW,DOTCOL (0-based) 140 MR=INT(DOTROW/8)+1 150 MC=INT(DOTCOL/8)+1 160 CALL GCHAR(MR,MC,CH) 170 IF CH>=FIXCHAR THEN 290 180 IF CH=32 THEN 260 190 IF CH>=STARTCHAR THEN 210 200 RETURN 210 TC$=CC$(CH-STARTCHAR) 220 CH=CURCHAR 230 CURCHAR=CURCHAR+1 240 IF CURCHAR>=LASTCHAR THEN 200 250 GOTO 300 260 CH=CURCHAR 270 CURCHAR=CURCHAR+1 280 IF CURCHAR>=LASTCHAR THEN 200 290 TC$=CC$(CH-STARTCHAR) 300 XR=DOTROW-(MR-1)*8 310 XC=DOTCOL-(MC-1)*8 320 P=XR*2+1 330 IF XC<4 THEN 360 340 P=P+1 350 XC=XC-4 360 X$=SEG$(TC$,P,1) 370 TT$=SEG$(HPAT$(XC),POS(HEX$,X$,1),1) 380 TC$=SEG$(TC$,1,P-1)&TT$&SEG$(TC$,P+1,16-P) 390 CALL CHAR(CH,TC$) 400 CC$(CH-STARTCHAR)=TC$ 410 CALL HCHAR(MR,MC,CH) 420 RETURN 430 REM INIT THE DOT PLOT 440 FOR A=0 TO 101 450 CC$(A)="0000000000000000" 460 NEXT A 470 CURCHAR=33 480 STARTCHAR=33 490 LASTCHAR=159 500 HEX$="0123456789ABCDEF" 510 HPAT$(0)="89ABCDEF89ABCDEF" 520 HPAT$(1)="45674567CDEFCDEF" 530 HPAT$(2)="23236767ABABEFEF" 540 HPAT$(3)="1133557799BBDDFF" 550 FOR A=1 TO 16 560 CALL COLOR(A,16,2) 570 NEXT A 580 CALL CLEAR 590 REM DRAW THE AXES 600 CURCHAR=36 610 FIXCHAR=36 620 CC$(0)="00000000000000FF" 630 CC$(1)="0404040404040404" 640 CC$(2)="04040404040404FF" 650 CALL CHAR(33,CC$(0)) 660 CALL CHAR(34,CC$(1)) 670 CALL CHAR(35,CC$(2)) 680 CALL HCHAR(12,1,33,32) 690 CALL VCHAR(1,16,34,24) 700 CALL HCHAR(12,16,35) 710 CALL SCREEN(2) 720 REM PLOT FROM -5 to +5 SIN(X) 730 FIRST=-5 740 LAST=5 750 ST=(LAST-FIRST)/256 760 VALX=FIRST 770 FOR X=0 TO 255 780 DOTCOL=X 790 DOTROW=INT(-SIN(VALX)*94+95.5) 800 GOSUB 140 810 VALX=VALX+ST 820 NEXT X 830 REM SIT FOREVER 840 CALL SCREEN(16) 850 GOTO 850 Edited October 15, 2019 by Tursi Didn't consider the axes lining up with the origin... ;) Changed the char definitions. 4 1 Quote Link to comment Share on other sites More sharing options...
+TheBF Posted October 15, 2019 Share Posted October 15, 2019 130 REM DOTPLOT AT DOTROW,DOTCOL (0-based) This is very cool. I need to try it this way. Thanks for taking the rest of my week away Tursi. 2 1 Quote Link to comment Share on other sites More sharing options...
+TheBF Posted October 15, 2019 Share Posted October 15, 2019 1 hour ago, Sid1968 said: You dont need to use integers. Oh yes I do. I don't have floating point support for my little system. 1 Quote Link to comment Share on other sites More sharing options...
senior_falcon Posted October 16, 2019 Share Posted October 16, 2019 On 10/14/2019 at 4:07 PM, RXB said: It is like comparing a Ferrari to a VW Bug in the 1950's, yea it was fast but who the hell was driving them? Since you put it that way, now I've gotta give Cortex BASIC a try. I've always wanted a Ferrari. In red, of course. Not useful for picking up plywood at the lumberyard, but that's what my old Saturn station wagon is for. 2 Quote Link to comment Share on other sites More sharing options...
RXB Posted October 16, 2019 Share Posted October 16, 2019 2 hours ago, senior_falcon said: Since you put it that way, now I've gotta give Cortex BASIC a try. I've always wanted a Ferrari. In red, of course. Not useful for picking up plywood at the lumberyard, but that's what my old Saturn station wagon is for. I have a 1993 Saturn Wagon sitting in my garage I no longer drive. 1 Quote Link to comment Share on other sites More sharing options...
Sid1968 Posted October 16, 2019 Author Share Posted October 16, 2019 (edited) 8 hours ago, Tursi said: Here you go, here's the slowest one. TI BASIC, no extensions, add-ons, or tricks. Reveal hidden contents 100 REM PROGRAM START 110 DIM CC$(101),HPAT$(4) 120 GOTO 440 130 REM DOTPLOT AT DOTROW,DOTCOL (0-based) 140 MR=INT(DOTROW/8)+1 150 MC=INT(DOTCOL/8)+1 160 CALL GCHAR(MR,MC,CH) 170 IF CH>=FIXCHAR THEN 290 180 IF CH=32 THEN 260 190 IF CH>=STARTCHAR THEN 210 200 RETURN 210 TC$=CC$(CH-STARTCHAR) 220 CH=CURCHAR 230 CURCHAR=CURCHAR+1 240 IF CURCHAR>=LASTCHAR THEN 200 250 GOTO 300 260 CH=CURCHAR 270 CURCHAR=CURCHAR+1 280 IF CURCHAR>=LASTCHAR THEN 200 290 TC$=CC$(CH-STARTCHAR) 300 XR=DOTROW-(MR-1)*8 310 XC=DOTCOL-(MC-1)*8 320 P=XR*2+1 330 IF XC<4 THEN 360 340 P=P+1 350 XC=XC-4 360 X$=SEG$(TC$,P,1) 370 TT$=SEG$(HPAT$(XC),POS(HEX$,X$,1),1) 380 TC$=SEG$(TC$,1,P-1)&TT$&SEG$(TC$,P+1,16-P) 390 CALL CHAR(CH,TC$) 400 CC$(CH-STARTCHAR)=TC$ 410 CALL HCHAR(MR,MC,CH) 420 RETURN 430 REM INIT THE DOT PLOT 440 FOR A=0 TO 101 450 CC$(A)="0000000000000000" 460 NEXT A 470 CURCHAR=33 480 STARTCHAR=33 490 LASTCHAR=159 500 HEX$="0123456789ABCDEF" 510 HPAT$(0)="89ABCDEF89ABCDEF" 520 HPAT$(1)="45674567CDEFCDEF" 530 HPAT$(2)="23236767ABABEFEF" 540 HPAT$(3)="1133557799BBDDFF" 550 FOR A=1 TO 16 560 CALL COLOR(A,16,2) 570 NEXT A 580 CALL CLEAR 590 REM DRAW THE AXES 600 CURCHAR=36 610 FIXCHAR=36 620 CC$(0)="00000000000000FF" 630 CC$(1)="0404040404040404" 640 CC$(2)="04040404040404FF" 650 CALL CHAR(33,CC$(0)) 660 CALL CHAR(34,CC$(1)) 670 CALL CHAR(35,CC$(2)) 680 CALL HCHAR(12,1,33,32) 690 CALL VCHAR(1,16,34,24) 700 CALL HCHAR(12,16,35) 710 CALL SCREEN(2) 720 REM PLOT FROM -5 to +5 SIN(X) 730 FIRST=-5 740 LAST=5 750 ST=(LAST-FIRST)/256 760 VALX=FIRST 770 FOR X=0 TO 255 780 DOTCOL=X 790 DOTROW=INT(-SIN(VALX)*94+95.5) 800 GOSUB 140 810 VALX=VALX+ST 820 NEXT X 830 REM SIT FOREVER 840 CALL SCREEN(16) 850 GOTO 850 Thank you Tursi, very good. Great! Is it possible to improve it? Before i conceived this challenge we talked about the "plot" command and how it could be solved in the different dialects and languages. For not being to theoretical, i thought that the practical application would be the best way to show what each dialect and language can perform. So it is not important how fast your program works, but how elegant you solved the challenge. I thank everybody who faces this challenge. Every competitor can face this challenge in more than one language. I want to explain the task for all competitors more detailed: 1. Draw a cartesian coordinate system. This task alone is a challenge, because you have to LABEL it in step 1 (integer) like in this example. Thats not easy! Click me! This labels should be variable, in case that we change the x-range maybe in another challenge. 2. After that you should write a plot program: For X= -5 to 5 STEP 0.1 D = sin (X) PLOT D (Here you plot a single DOT) NEXT X As you can see the step of drawing each DOT is 0.1. I wish all competitors a big pound of creativity and success! Kind Regards Sid ? Edited October 16, 2019 by Sid1968 Quote Link to comment Share on other sites More sharing options...
Asmusr Posted October 16, 2019 Share Posted October 16, 2019 (edited) Here's a version in Cortex BASIC. It's the first time I have tried this language (edit: or actually this particular dialect) : 10 COLOUR 1,14 20 GRAPH 30 SW=256 : SH=192 40 GW=10 : GH=SH/SW*GW 50 SX=SW/GW : SY=SH/GH 60 OX=SW/2 : OY=SH/2 70 REM DRAW X-AXIS 80 PLOT 0,OY TO SW-1,OY 90 FOR X=INT(-GW/2) TO INT(GW/2) STEP 1 100 PLOT OX+X*SX,OY-2 TO OX+X*SX,OY+2 110 NEXT X 120 REM DRAW Y-AXIS 130 PLOT OX,0 TO OX,SH-1 140 FOR Y=INT(-GH/2) TO INT(GH/2) STEP 1 150 PLOT OX-2,OY-Y*SY TO OX+2,OY-Y*SY 160 NEXT Y 170 REM DRAW GRAPH 180 FOR X=-5 TO 5 STEP 0.1 190 PLOT OX+X*SX,OY-SIN(X)*SY 200 NEXT X 210 WAIT 600 This is the output: Edited October 16, 2019 by Asmusr 5 1 Quote Link to comment Share on other sites More sharing options...
Sid1968 Posted October 16, 2019 Author Share Posted October 16, 2019 (edited) 1 hour ago, Asmusr said: Here's a version in Cortex BASIC. It's the first time I have tried this language (edit: or actually this particular dialect) : 10 COLOUR 1,14 20 GRAPH 30 SW=256 : SH=192 40 GW=10 : GH=SH/SW*GW 50 SX=SW/GW : SY=SH/GH 60 OX=SW/2 : OY=SH/2 70 REM DRAW X-AXIS 80 PLOT 0,OY TO SW-1,OY 90 FOR X=INT(-GW/2) TO INT(GW/2) STEP 1 100 PLOT OX+X*SX,OY-2 TO OX+X*SX,OY+2 110 NEXT X 120 REM DRAW Y-AXIS 130 PLOT OX,0 TO OX,SH-1 140 FOR Y=INT(-GH/2) TO INT(GH/2) STEP 1 150 PLOT OX-2,OY-Y*SY TO OX+2,OY-Y*SY 160 NEXT Y 170 REM DRAW GRAPH 180 FOR X=-5 TO 5 STEP 0.1 190 PLOT OX+X*SX,OY-SIN(X)*SY 200 NEXT X 210 WAIT 600 This is the output: Asmusr, that is nearly a perfect job! Very good!!! Is it possible that you lable the x- and y- Axis additional with Numbers? Iam very exited if Lee (fbForth), Senior_falcon (XB256) and Rich (RXB) will face this challenge too. Would be nice if we could see examples for Mechatronic Extended Basic II Plus with its "Axis" function, Assembler and Pascal too? Kind Regards Sid ? Edited October 16, 2019 by Sid1968 Quote Link to comment Share on other sites More sharing options...
senior_falcon Posted October 16, 2019 Share Posted October 16, 2019 2 hours ago, Sid1968 said: Iam very exited if Lee (fbForth), Senior_falcon (XB256) and Rich (RXB) will face this challenge too. This is trivial to do in The Missing Link. CALL LINK("PIXEL",row,column[,foreground-color,background-color]) This routine places a pixel on the screen. Including the optional color values will simultaneously change the penhue. Things to remember: row 1 is the topmost row and column 1 is the left most column. Trig functions on the TI are in radians, not degrees. I have too many things going on right now. Why don't you try writing this? 2 1 Quote Link to comment Share on other sites More sharing options...
Sid1968 Posted October 16, 2019 Author Share Posted October 16, 2019 (edited) Thank you senior_falcon. Would be kind if you share a full programlisting with us. Remember this is a challenge. ? Cheers Sid Edited October 16, 2019 by Sid1968 Quote Link to comment Share on other sites More sharing options...
senior_falcon Posted October 16, 2019 Share Posted October 16, 2019 7 hours ago, RXB said: I have a 1993 Saturn Wagon sitting in my garage I no longer drive. Mine is a 1997 SW2. Sadly the rust from the road salt used around here is really chewing up the steel underneath the car. It has 1 or maybe 2 years left before it shuffles off this mortal coil. Why don't you drive yours? 1 Quote Link to comment Share on other sites More sharing options...
apersson850 Posted October 16, 2019 Share Posted October 16, 2019 I'm aware that there once was a sidecar p-code card for the TI 99/4A. When I asked for a reincarnation of the p-code card, I didn't really consider whether it would be for the box or a sidecar. Today, a sidecar can be quite a bit more compact than the original one, though. 1 Quote Link to comment Share on other sites More sharing options...
+Lee Stewart Posted October 16, 2019 Share Posted October 16, 2019 Drawing the Cartesian axes and plotting curves in bitmap mode is trivial in fbForth 2.0. Labeling the axes, however, is not. The problem is that the programmer must essentially plot the letters and numbers because fonts do not work in bitmap mode as they do in most of the other display modes. The problem is the reverse in graphics mode (the mode used by TI Basic and all XBs). In that mode, letters and numbers are easy, but plotting can only be done by manipulating character codes, which quickly limits fonts due to consuming characters during the plot. BTW, the “out of ink” problem in TI Logo is due to this consumption of character patterns for plotting in graphics mode. That said, I will have an example plot in the near future for which I may try to use the font scheme of TI Forth’s 64-column editor. ...lee 1 1 Quote Link to comment Share on other sites More sharing options...
+TheBF Posted October 16, 2019 Share Posted October 16, 2019 4 minutes ago, Lee Stewart said: Drawing the Cartesian axes and plotting curves in bitmap mode is trivial in fbForth 2.0. Labeling the axes, however, is not. The problem is that the programmer must essentially plot the letters and numbers because fonts do not work in bitmap mode as they do in most of the other display modes. The problem is the reverse in graphics mode (the mode used by TI Basic and all XBs). In that mode, letters and numbers are easy, but plotting can only be done by manipulating character codes, which quickly limits fonts due to consuming characters during the plot. BTW, the “out of ink” problem in TI Logo is due to this consumption of character patterns for plotting in graphics mode. That said, I will have an example plot in the near future for which I may try to use the font scheme of TI Forth’s 64-column editor. ...lee Could you use the SPLIT mode to display the plot and put the text describing the plot in the other window? 1 Quote Link to comment Share on other sites More sharing options...
apersson850 Posted October 16, 2019 Share Posted October 16, 2019 When I created the unit turtlegraphics for the p-system, I made it possible to use bit-map mode (or Graphics mode II, as it's also known) in Pascal. Normally, Pascal supports Graphics I (same as BASIC), text mode (like E/A editor) and multicolor (which almost nothing else uses). Although I never fully completed that unit, it does support drawing lines in different colors, as well as writing text. You can define a position, using any pixel number, and a text string in a call to the printout procedure. It will then print text there, according to the character definitions that were present, when the bit map mode was invoked. So by including uses turtlegraphics in the Pascal program, the task to do such a plot is fairly straightforward. But the implementation of the unit is pretty complex. As an example, since it allows using the standard character definitions to print text placed anywhere on the screen, not just in the normal character positions, a single character can occupy parts of the space normally used by four characters. The algorithm to transpose the definitions from one block to one, two or four, depending on where the character is placed, is quite complex. 2 1 Quote Link to comment Share on other sites More sharing options...
+Lee Stewart Posted October 16, 2019 Share Posted October 16, 2019 1 minute ago, TheBF said: Could you use the SPLIT mode to display the plot and put the text describing the plot in the other window? Absolutely. You just need to remember the coordinate limits for the bitmap part of the display: GRAPHICS2 (bitmap) mode has a pixel resolution of 256x192 (columnsxrows). columns—0..255 rows—0..191 SPLIT mode removes the bottom third of the display from bitmap mode, making the upper (bitmap mode) display 256x128. columns—0..255 rows—0..127 SPLIT2 mode removes the top sixth of the display from bitmap mode, making the lower (bitmap mode) display 256x160. columns—0..255 rows—32..191 ...lee 1 Quote Link to comment Share on other sites More sharing options...
+TheBF Posted October 16, 2019 Share Posted October 16, 2019 2 minutes ago, Lee Stewart said: Absolutely. You just need to remember the coordinate limits for the bitmap part of the display: GRAPHICS2 (bitmap) mode has a pixel resolution of 256x192 (columnsxrows). columns—0..255 rows—0..191 SPLIT mode removes the bottom third of the display from bitmap mode, making the upper (bitmap mode) display 256x128. columns—0..255 rows—0..127 SPLIT2 mode removes the top sixth of the display from bitmap mode, making the lower (bitmap mode) display 256x160. columns—0..255 rows—32..191 ...lee I think you could even define a custom SPLIT3, from the existing components and have just 1 line of text at the top for example making it 256x184 for plotting. 1 1 Quote Link to comment Share on other sites More sharing options...
Asmusr Posted October 16, 2019 Share Posted October 16, 2019 (edited) 6 hours ago, Sid1968 said: Asmusr, that is nearly a perfect job! Very good!!! Is it possible that you lable the x- and y- Axis additional with Numbers? Iam very exited if Lee (fbForth), Senior_falcon (XB256) and Rich (RXB) will face this challenge too. Would be nice if we could see examples for Mechatronic Extended Basic II Plus with its "Axis" function, Assembler and Pascal too? It doesn't look like Cortex BASIC has the ability to draw text at any point in bitmap mode (256x192), so drawing labels on the tick marks is not something I will attempt to do. Note that TI BASIC, XB, RXB, etc. don't support bitmap mode out-of-the-box. Bitmap mode is using 12K of the 16K video memory, leaving almost no space for program data (the disk DSR also uses some). Tursi showed how you can draw a limited bitmap-like image by redefining character patterns, but this technique is limited by the complexity of the image. The Missing Link (TML) is an assembly extension to XB that provides bitmap mode, but using that means you have less space for your program data, and the overall space ends up being closer to that of Cortex BASIC. Edited October 16, 2019 by Asmusr 1 1 Quote Link to comment Share on other sites More sharing options...
Recommended Posts
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.