Shop OBEX P1 Docs P2 Docs Learn Events
BS2 and a TI83Plus work but the LCD screen involved doesn't show the right characters — Parallax Forums

BS2 and a TI83Plus work but the LCD screen involved doesn't show the right characters

Buck RogersBuck Rogers Posts: 2,161
edited 2015-06-19 21:21 in BASIC Stamp
Hello!
I have the classic TI83Plus to/from the BS2 at work again. Currently the program which is:
' {$STAMP BS2}
serdata   VAR   Byte

again:
'*****this will wait for serial from calculator
SERIN 15,396,[serdata]

'***this will send it to the pc debug screen
DEBUG DEC serdata, CR
DEBUG serdata, CR

'***this will send the same data plus 1 back to the calculator
serdata=serdata + 1
SEROUT 15,396,[serdata]
SEROUT 14,396,[serdata]
DEBUG DEC serdata, CR
DEBUG serdata, CR
GOTO again

It runs properly naturally but the code block:
SEROUT 15,396,[serdata]
SEROUT 14,396,[serdata]
DEBUG DEC serdata, CR
DEBUG serdata, CR

That one does not want to.
When that block is executed it promptly sends out a blurb to the calculator and waits again for the process to continue. It also sends out the same thing to the attached LCD display, which is #27977-RT but there it basically there shows me the ASCII character which is the same but subtracting 128. (Although it might be the same character, a / plus 128.) However the character set that is shown on the debug terminal matches the character map accessory which Windows has had in place for a while now.

Before I find and refer to the PDF file which supports both that display and the 4X20 one which is #27979-RT (As the other one was 2X16.) would someone from Parallax or someone from the moderators comment upon what character set was loaded into the generator for these displays?

(erco this is one of my 3AM EDT inspiration activities, and it has a nasty habit of wanting to be answered right then.....)

Comments

  • Chris SavageChris Savage Parallax Engineering Posts: 14,406
    edited 2015-06-17 10:59
    My immediate thought was that for DEBUG you're using the DEC formatter, but for the LCD you're sending the raw binary value, which on most displays won't display the way you think. At least, not if you're going for a numeric value, as indicated by your DEBUG. I guess I am unclear there...are you trying to display on the LCD the numeric value of what is in serdata? I would hope so because as you step through the values if you're simply trying to print the byte itself you're going to hit many unprintable characters and perhaps other characters which adversely affect the display in terms of what it shows.
  • Buck RogersBuck Rogers Posts: 2,161
    edited 2015-06-17 12:13
    My immediate thought was that for DEBUG you're using the DEC formatter, but for the LCD you're sending the raw binary value, which on most displays won't display the way you think. At least, not if you're going for a numeric value, as indicated by your DEBUG. I guess I am unclear there...are you trying to display on the LCD the numeric value of what is in serdata? I would hope so because as you step through the values if you're simply trying to print the byte itself you're going to hit many unprintable characters and perhaps other characters which adversely affect the display in terms of what it shows.

    Hello!
    Close enough but not in gold. My original intent was display in both places the same ASCII characters. Then I realized after editing that one several times I realized that the display is showing what the DEBUG statement is showing, but the display wasn't programmed with the same character set as the one shown in that accessory program.

    Consider this, have a program on your PC send the 65 character which is the letter A sent to a printer. Next to it send 193, which is supposed to be the same character but with the high bit set. However when IBM came around and agreed with Microsoft that the basic ASCII character set wasn't what they needed, they some how got permission to change things. That's why on the PC that set produced the character drawing steps. The strange characters who make it up came later, about the time of Windows 98.

    However on an Apple 2 or an Apple 2Plus, or an Apple 2E that exercise will work. And indeed the manuals they traveled with confirm it.

    I actually expected erco to offer a witty remark and then your explanation. Or even Mike Green to respond in the affirmative as you did. Afterwards while waiting for you, I realized that erco has several thousand things to do, none of which interest us outside of restoring his car who's older then some of us. I won't even pretend to go into what prompted Mike to wait on you Chris.....

    That's a passing remark that does not reflect anything except for my opinions and is only valid back here and is not to be taken personally.
  • Chris SavageChris Savage Parallax Engineering Posts: 14,406
    edited 2015-06-17 15:20
    Buck,

    I understand what you're saying, however let us back up a bit to the ASCII characters...You mentioned 65 which is the letter A. However 193 automatically takes you into extended ASCII which does vary. If you wanted a lowercase a you would use 97. I would never count on any ASCII code above 127 to necessarily match another display, nor would I expect any ASCII code below 32 to conform to any standard since these 'control codes' can vary from device to device in their function. I have found over the years that from 32 to 127 things are usually a match from display to display. Don't even get me started on UNICODE. =)
  • Buck RogersBuck Rogers Posts: 2,161
    edited 2015-06-18 22:56
    Buck,

    I understand what you're saying, however let us back up a bit to the ASCII characters...You mentioned 65 which is the letter A. However 193 automatically takes you into extended ASCII which does vary. If you wanted a lowercase a you would use 97. I would never count on any ASCII code above 127 to necessarily match another display, nor would I expect any ASCII code below 32 to conform to any standard since these 'control codes' can vary from device to device in their function. I have found over the years that from 32 to 127 things are usually a match from display to display. Don't even get me started on UNICODE. =)

    Hello!
    I would not want to do that. :blank: I have my own issues with that one. Mostly because Putty believes all systems that SSH can connect to, are using it. :blank: Both of my systems are not.

    However, I now have the system doing exactly what I started off doing with the display that started this off. Well here's the code first:
    ' {$STAMP BS2}
    serdata   VAR   Byte
    stordata  VAR   Byte
    again:
    '*****this will wait for serial from calculator
    SERIN 15,396,[serdata]
    SEROUT 7,396,[serdata]
    '***this will send it to the pc debug screen
    DEBUG DEC serdata, CR
    'DEBUG serdata, CR
    SERIN 8,396,[stordata]
    '***this will send the same data plus 1 back to the calculator
    serdata=serdata + 1
    SEROUT 15,396,[serdata]
    SEROUT 14,396,[serdata]
    SEROUT 14,396,[stordata]
    DEBUG DEC serdata, CR
    'DEBUG serdata, CR
    DEBUG DEC stordata, CR
    'DEBUG stordata, CR
    GOTO again
    

    Let us take it from here:
    SEROUT 7,396,[serdata]
    

    That connection sends it out to a (preprogrammed) PAL16L8 which is wired to an SN7425. The first is a Programmable Array Logic chip, and the second is a Dual 4 Input Nor gate with strobe, (that's what TI calls it) For laughs I offer the datasheets for both.

    Then it recovers the transformed data here:
    SERIN 8,396,[stordata]
    

    After a bit it gets displayed on the screen here:
    SEROUT 14,396,[stordata]
    

    Basically what was the values the calculator sends out which is 191, and gets back become 192, are transformed logically into 0 and 255. The characters displayed tend to agree with that theme.

    It happens that's what I was attempting to lean towards, back when I bought the display from Radio Shack on one of its discontinuation days for Parallax items. Its a #27977-RT and it was bought from them on or around 9/8/2013.

    (I still remember what the sales girl said. Too bad the store departed when the selloff happened, wasn't pretty.)

    Anyway Chris that's what I wanted to see happen. And this now solves my problem with this setup, and incidentally is a coda to the series of studies of the display and PAL chips and the BS2. The use of the calculator was candy.
  • Buck RogersBuck Rogers Posts: 2,161
    edited 2015-06-19 21:21
    And an update. The odd stuff I'm seeing is according to the PDF file for the display(s) there is a region in device memory for user defined characters, and since I didn't do that, the device is interpreting the &HFF (255) and &H00 (00) as that happening.

    Oddly enough it is exactly what I wanted to see. It confirms a theory regarding these PAL chips and the display and of course the Basic Stamp itself.
Sign In or Register to comment.