Jump to content
IGNORED

>837D to >837F


senior_falcon

Recommended Posts

Does anyone know what scratchpad addresses >837D to >837F are for?

The MG Explorer manual says:

>837D CHARACTER BUFFER BYTE to VDP RAM screen table

>837E POINTS TO THE CURRENT ROW on the screen

>837F POINTS TO THE CURRENT COLUMN on the screen

But this description doesn't really tell me anything about what they do.

Link to comment
Share on other sites

That's basically what the E/A Manual says on page 405. Thierry's site says the byte at >837D is the character at the screen positions held in >837E (row) and >837F (column). I thought KSCAN would be the console routine using those bytes; but, they don't change when KSCAN is processing characters. Page 404 of the E/A Manual lists those bytes as part of the GPL status block (>8370–>837F), but is vague about the console routines using the bytes you listed.

 

...lee

Link to comment
Share on other sites

In GPL, if you write row and column values to >837E and >837F and then write a character at >837D, it's displayed. I guess this is also working with assembly and interrupts enabled.

 

>837E and >837F are also used by the FMT subinterpreter as position parameters for all the commands.

It only works from GPL, from assembly they are just memory addresses, it's been a while since I tested but ISTR writing them doesn't do anything. GPL has specific hooks in the write functions to see if those are the addresses you are writing to.

Link to comment
Share on other sites

It only works from GPL, from assembly they are just memory addresses, it's been a while since I tested but ISTR writing them doesn't do anything. GPL has specific hooks in the write functions to see if those are the addresses you are writing to.

Oh. My. God. Really? Talk about performance penalty.

 

<face palm>!

Link to comment
Share on other sites

Willsy is right. If like KSCAN you would access them using Assembly BL or BLWP would be a real memory saver for programs.

 

TST LI >3000,R1

LI >0903,R2

MOV R2,@>837E

MOVB R1,@>838D

BL @ROM0 address

 

No VDP routines to load and just works buy writing or reading that VDP address and putting it in >837D

 

Strange that this never occurred to TI?

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