Jump to content
IGNORED

ReDefine Cursor


RedBaron

Recommended Posts

I don't have the program you recall, but here's a clip from Gary Cox's Weather Forecaster program where he redefined the cursor in the shape of Texas. "Tigercub" Jim Peterson is another programmer who made his cursor into a tiger face.

 

290 ! CURSOR CHANGE
300 CALL INIT
310 CALL LOAD(8196,63,248)
320 CALL LOAD(16376,67,85,82,83,79,82,48,8)
330 CALL LOAD(12288,48,48,63,255,254,124,24,12)
340 CALL LOAD(12296,2,0,3,240,2,1,48,0,2,2,0,8,4,32,32,36,4,91)
350 CALL LINK("CURSOR")

 

  • Like 3
Link to comment
Share on other sites

15 hours ago, RedBaron said:

I used to have a TI994a Extended Basic program that would redefine the cursor with any pattern I wanted.  Does anyone remember how this was done?  I think that it used pokes or peeks.  Thank you

RXB allows you to change the Cursor with CALL CHAR(30,X$) and X$= the string is definition of that character

  • Like 2
Link to comment
Share on other sites

13 hours ago, Ed in SoDak said:

I don't have the program you recall, but here's a clip from Gary Cox's Weather Forecaster program where he redefined the cursor in the shape of Texas. "Tigercub" Jim Peterson is another programmer who made his cursor into a tiger face.

 


290 ! CURSOR CHANGE
300 CALL INIT
310 CALL LOAD(8196,63,248)
320 CALL LOAD(16376,67,85,82,83,79,82,48,8)
330 CALL LOAD(12288,48,48,63,255,254,124,24,12)
340 CALL LOAD(12296,2,0,3,240,2,1,48,0,2,2,0,8,4,32,32,36,4,91)
350 CALL LINK("CURSOR")

 

320 - adds "CURSOR" to the DEF table with a pointer to the code so CALL LINK knows where to go

330 - 8 bytes of cursor definition (Note that this is decimal, not the usual hexadecimal patterns)

340 - sets R0=>03F0 (address of the cursor in VDP), R1=>3000 (the cursor definition poked there by 320), R2=8 and does a VDP multiple byte write, then returns to XB

 

Change line 330 to use a different cursor pattern.

 

I can't remember if the cursor is reset when a program breaks, but it is easy enough to find out.

 

Both RXB and XB 2.8 G.E.M. let you change the cursor definition.

  • Like 2
Link to comment
Share on other sites

1 hour ago, Casey said:

I think the CALL CHAR method works in standard TI Extended BASIC also?   (Just during program run - it resets to a block when the program ends, right?)

Normal TI XB only allows CALL CHAR from 32 to 143, RXB allows CALL CHAR from 30 to 159.

Link to comment
Share on other sites

To complete the @Ed in SoDak infos, hoping it could help in someway, I also attach here this description I have found among my docs:


"

********************************************************************************
*  CHANGE THE CURSOR TO ANY DESIGN WITH THIS EASY TO LEARN  TUTORAL BY        *
*  R.JIMENEZ COMPUSERVE USER 70426,766 HOPE YOU ENJOY                         *
*******************************************************************************.
.
.
IN A MICROPENDIUM ISSUE THERE WAS A PROGRAM TO CHANGE THE APPEARENCE OF THE
CURSOR. THIS PROGRAM IS AS FOLLOWS..
.
1 CALL INIT
2 CALL LOAD(8196,63,248)
3 CALL LOAD(16376,67,85,82,83,79,82,48,8)
4 CALL LOAD(12288,0,0,0,0,0,0,0,60)
5 CALL LOAD(12296,2,0,3,240,2,1,48,0,2,2,0,8,4,32,32,36,4,91)
6 CALL LINK("CURSOR")
.
ENTERING THIS PROGRAM, WILL TURN THE CURSOR TO A SMALL UNDERLINE. .
.
NOTICE LINE #4, THIS LINE IS THE LINE WE PLAY WITH TO CHANGE THE APPEARENCE OF
THE CURSOR. AS WE SEE THIS LINE IT READS CALL LOAD(12288,0,0,0,0,0,0,0,60).
WE CHANGE THE 7 0'S AND THE 60. HOW DO WE DO THIS?..
.
.
OK WHEN YOU FIRST LEARNED GRAPHICS YOU WHERE SHOWED A CHARACTER DEFINATION
SHEET. THIS SHEET WILL BE USED TO DESIGN THE CURSOR. THE CURSOR IS NOTHING MORE
THAN A CHARACTER. WE SEE THAT A CHARACTER HAS AN 8x8 GRID . 8 ROWS, AND 8
COLUMNS. LETS SEE AN EXAMPLE.
.
             COLUMNS.
         1 2 3 4 5 6 7 8 .
       1 X X X X X X X X.
       2 X X X X X X X X.
   R   3 X X X X X X X X.
   O   4 X X X X X X X X.
   W   5 X X X X X X X X.
   S   6 X X X X X X X X.
       7 X X X X X X X X.
       8 X X X X X X X X.
.
EACH OF THESE 8 NUMBERS IN THIS LINE REPRESENT A ROW IN NUMERICAL ORDER .
. SINCE EACH LINE IS DEFINED THE SAME WE WILL EXPLAIN HOW TO GET THE NUMBER FOR
ONE ROW,AND THEN WE WILL CHANGE THE CURSOR AND SHOW YOU HOW WE GOT THE CODE FOR
THIS DESIGN.
.
LOOK AT ROW 1, THIS ROW HAS 8 BLOCKS OR COLUMNS.
THINK OF THESE 8 BLOCKS AS A BINARY BLOCK..
LETS LOOK AT A BINARY BLOCK.
   X    X    X    X    X    X    X    X.
   1    6    3    1    8    4    2    1.
   2    4    2    6.
   8.
  .
 A BINARY BLOCK HAS 8 REGISTERS EACH REGISTER FROM RIGHT TO LEFT IS A VALUE OF
TWICE THE ONE BEFORE AS ABOVE..
A BINARY HAS TO STATES 0=OFF  1=ON SO EACH REGESTER CAN BE CONSIDERED A SWITCH
AND EACH SWITCH CAN BE ON, OR OFF. OK LETS TAKE A GOOD LOOK AT THIS EXAMPLE,
THIS IS HOW WE FIND THE VALUE FOR THE ROW SAY ON OUR FIRST ROW WE WANT THE
FIRST 3 BLOCKS ON AND THE LAST 1 ON ALL OTHERS ARE OFF..
    1   1   1   0   0   0   0   1.
----------------------------------.
    1   6   3   1   8   4   2   1.
    2   4   2   6   .
    8.
WE SET THE PATERN AND THEN ADD THE TOTALS OF EACH COLUMN TOGETHER..
SO THIS EXAMPLE WOULD TOTAL  128.
                              64.
                              32.
                             + 1.
                            -----.
                             225 .
 .
THERE FOR OUR FIRST ROW WOULD BE 225..
! NOW ILL SO YOU ONE MORE EXAMPLE WE WILL SHOW HOW TO CHANGE THE CURSOR INTO MY
INITIALS RJ. .
.
REMEMBER 0=OFF, 1=ON THIS WOULD BE THE ACTUAL CURSOR..
 
 
 
 
.
       00000000.
       01100000.
       01010111.
       01100010.
       01010010.
       01010010.
       00001010.
       00001100.
 .
PUT THIS EXAMPLE ON YOUR TI GRAPHIC SHEET..
NOW ON THE BOTTOM OF EACH COLUMN. START ING FROM THE RIGHT,.
FROM RIGHT TO LEFT WRITE 1,2,8,16,32,64,128..
NOW FOR EACH ROW ADD THE TOTALS FOR EACH COLUMN THAT HAS A 1. .
.
AFTER DOING THIS WE GET OUR CODE FOR LINE #4..
 SO NOW LINE 4 WOULD READ CALL LOAD(12288,0,96,87,98,82,82,14,12).
.
.
GOOD LUCK AND HAPPY CURSOR CREATING.    R.JIMENEZ .
.
.
.
.
.
 
......................



"

CURSOR.EXB

Edited by ti99iuc
  • Like 1
Link to comment
Share on other sites

  • 4 weeks later...
  • 2 weeks later...

Has anyone been able to redefine the cursor in c99rel4?

I've tried using inline assembly within my c99 code and no luck.

It appears that the cursor definition pattern is never read or at least no read where it is saved in the VDP ram.

BTW, I've been compiling the c99 code into a EA option 5 program file using the EA modules provided on FinalGrom99.

When I compile the assembly code by itself without any c99 code, the cursor re-definition works.

It appears there's some issue with the way c99 is compiled and assembled into a EA option 5 program file. 

 

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...