Author Topic: Casio Prizm documentation  (Read 157822 times)

0 Members and 1 Guest are viewing this topic.

Offline SimonLothar

  • LV4 Regular (Next: 200)
  • ****
  • Posts: 129
  • Rating: +35/-1
    • View Profile
Re: Casio Prizm documentation
« Reply #615 on: September 16, 2012, 01:11:57 pm »
The LCD doesn't have its own DMA on the Prizm though, I think it's set up with the processor's DMA.
Yes, that's right. The processor's DMA-controller manages the transfer from the Prizms RAM to the LCD's GRAM.
I'll be back.

Offline calc84maniac

  • eZ80 Guru
  • Coder Of Tomorrow
  • LV11 Super Veteran (Next: 3000)
  • ***********
  • Posts: 2898
  • Rating: +467/-17
    • View Profile
    • TI-Boy CE
Re: Casio Prizm documentation
« Reply #616 on: September 16, 2012, 01:18:33 pm »
Might it be possible that instead of a hook routine executed within a loop, there could be a function call to start a transfer, then execute some amount of code (which runs under the same constraints as a hook routine but is not called repeatedly), and then a function call to end transfer (if DMA is not finished by that point, loop until it is). I'd imagine this would work very well for double-buffered rendering, where the previous buffer is being DMA'd and the next buffer is being drawn simultaneously.
"Most people ask, 'What does a thing do?' Hackers ask, 'What can I make it do?'" - Pablos Holman

Offline SimonLothar

  • LV4 Regular (Next: 200)
  • ****
  • Posts: 129
  • Rating: +35/-1
    • View Profile
Re: Casio Prizm documentation
« Reply #617 on: September 16, 2012, 01:29:04 pm »
Might it be possible that instead of a hook routine executed within a loop, there could be a function call to start a transfer, then execute some amount of code (which runs under the same constraints as a hook routine but is not called repeatedly), and then a function call to end transfer (if DMA is not finished by that point, loop until it is). I'd imagine this would work very well for double-buffered rendering, where the previous buffer is being DMA'd and the next buffer is being drawn simultaneously.
I expected this question. The assembler routine is divided into three segments. Initializaition, wait-loop and finalization. Possibly these three functional segments could be implemented as three separate functions. Though, I feel a bit uneasy about the SYNCO-instruction.
I'll be back.

Offline AHelper

  • LV3 Member (Next: 100)
  • ***
  • Posts: 99
  • Rating: +18/-0
    • View Profile
    • GlaßOS razzl
Re: Casio Prizm documentation
« Reply #618 on: September 17, 2012, 01:00:13 pm »
Note: In the Protocol 7 page in the chm, I can confirm that you can indeed send commands over USB to and from the Prizm.  It says currently that only IO was used.

Also, info on the OS update:  According to the emergency OS updater, it reports a low OS version (0.02.0200).  It may instead use this as the base OS version and could be confirmed by sending an OS with a lower version number.  Also, the OS code version for the Get Device-Info doesn't report the OS version.  For a 1.04.3200 OS it reports 1.02.0200.

Also, there is a change for the EditMBString* and DisplayMBString* commands.  The unknown variable is int start, representing the first character drawn.  This number will be used as the start of the string drawn, but the OS also does bounds adjustment. Passing 0 and the cursor set past the edge of the screen with cause start to be ignored.
SDCC tastes like air bags - big output, but fast and safe to run.

Offline SimonLothar

  • LV4 Regular (Next: 200)
  • ****
  • Posts: 129
  • Rating: +35/-1
    • View Profile
Re: Casio Prizm documentation
« Reply #619 on: September 19, 2012, 01:57:57 am »
Thanks a lot for your hints.

Note: In the Protocol 7 page in the chm, I can confirm that you can indeed send commands over USB to and from the Prizm.  It says currently that only IO was used.
Actually, I did only use the serial interface because I have not yet managed to access the Prizm via USB from out of my programs. :'( I use windows. On the fx-9860-types I run a device-enumeration based on vendor-id "VID_07CF&PID_6101". I use the match as serial device and everything works well. With the Prizm I didn't find a way to communicate via USB from out of my programs, yet. To be honest: I abandoned this project. It would be splendid, if you could help.

Also, info on the OS update:  According to the emergency OS updater, it reports a low OS version (0.02.0200).  It may instead use this as the base OS version and could be confirmed by sending an OS with a lower version number.  Also, the OS code version for the Get Device-Info doesn't report the OS version.  For a 1.04.3200 OS it reports 1.02.0200.
In fact, Get Device-Info returns different results, depending on from where it is called. The emergency OS updater resides in the bootcode. It does not care for any data in the OS range. I will add some hints to my documentation.

Also, there is a change for the EditMBString* and DisplayMBString* commands.  The unknown variable is int start, representing the first character drawn.  This number will be used as the start of the string drawn, but the OS also does bounds adjustment. Passing 0 and the cursor set past the edge of the screen with cause start to be ignored.
I will update my documentation.

THX again.
I'll be back.

Offline SimonLothar

  • LV4 Regular (Next: 200)
  • ****
  • Posts: 129
  • Rating: +35/-1
    • View Profile
Re: Casio Prizm documentation
« Reply #620 on: October 06, 2012, 04:14:41 am »
I have uploaded version 14 of my documentation here:
http://www.casiopeia.net/forum/downloads.php?view=detail&df_id=72

The changes apply to EACT-file-structures, mainly.
I'll be back.

Offline fxdev

  • LV4 Regular (Next: 200)
  • ****
  • Posts: 177
  • Rating: +34/-6
    • View Profile
Re: Casio Prizm documentation
« Reply #621 on: October 15, 2012, 08:59:20 am »
Out of curiosity, I tried this today: SB-88(A) cable + FA-124 2.00 + fx-cg 20.
Surprisingly, it works... but slowly. :D

Offline DJ Omnimaga

  • Former TI programmer
  • CoT Emeritus
  • LV15 Omnimagician (Next: --)
  • *
  • Posts: 55851
  • Rating: +3151/-232
  • CodeWalrus founder & retired Omnimaga founder
    • View Profile
    • DJ Omnimaga Music
Re: Casio Prizm documentation
« Reply #622 on: October 15, 2012, 02:47:39 pm »
What is that cable? Is it a special Casio calc cable or a standard cable under a different name? On TI calcs we're used to call our cables serial, parralel, USB (the one with the other end fitting directly in the I/O link port and direct USB (with a mini-USB end).

Also thanks for the updates guys :)
In case you are wondering where I went, I left Omni back in 2015 to form CodeWalrus due to various reasons explained back then, but I stopped calc dev in 2016 and am now mostly active on the CW Discord server at https://discord.gg/cuZcfcF



Official Website |T-Shirt store | Reverbnation | Facebook | Youtube | Twitter | Spotify

Offline fxdev

  • LV4 Regular (Next: 200)
  • ****
  • Posts: 177
  • Rating: +34/-6
    • View Profile
Re: Casio Prizm documentation
« Reply #623 on: October 15, 2012, 03:52:50 pm »
Quote
What is that cable? Is it a special Casio calc cable or a standard cable under a different name?

SB-88 is a USB-to-3pin-cable from Casio included in FA-124 USB.
SB-87 is a RS232-to-3pin cable and SB-89 is a standard USB-A-to-USB-mini-B cable.

However, buy the SB-88 cable only if you need compatibility with FA-124. It is really really slow and does not come with a 64-bit driver. Better get a Digitus USB-to-RS232 adapter plus a RS232-to-3pin cable from the web.
« Last Edit: October 20, 2012, 08:43:31 am by cfxm »

Offline DJ Omnimaga

  • Former TI programmer
  • CoT Emeritus
  • LV15 Omnimagician (Next: --)
  • *
  • Posts: 55851
  • Rating: +3151/-232
  • CodeWalrus founder & retired Omnimaga founder
    • View Profile
    • DJ Omnimaga Music
Re: Casio Prizm documentation
« Reply #624 on: October 15, 2012, 11:58:24 pm »
Ok thanks for the info. It sucks that those Casio cables are so hard to find on Ebay. >.< (especially CFX-9850G cables)
« Last Edit: October 15, 2012, 11:58:52 pm by DJ_O »
In case you are wondering where I went, I left Omni back in 2015 to form CodeWalrus due to various reasons explained back then, but I stopped calc dev in 2016 and am now mostly active on the CW Discord server at https://discord.gg/cuZcfcF



Official Website |T-Shirt store | Reverbnation | Facebook | Youtube | Twitter | Spotify

Offline Juju

  • Incredibly sexy mare
  • Coder Of Tomorrow
  • LV13 Extreme Addict (Next: 9001)
  • *************
  • Posts: 5730
  • Rating: +500/-19
  • Weird programmer
    • View Profile
    • juju2143's shed
Re: Casio Prizm documentation
« Reply #625 on: October 16, 2012, 12:17:56 am »
Is the SB-88 cable RS232 compatible? As in, does it generate a COM port? Or if I plug it in a Linux computer, will I get a /dev/ttyUSB0 device or something (with the right driver, obviously)?
« Last Edit: October 16, 2012, 12:18:39 am by Juju »

Remember the day the walrus started to fly...

I finally cleared my sig after 4 years you're happy now?
THEGAME
This signature is ridiculously large you've been warned.

The cute mare that used to be in my avatar is Yuki Kagayaki, you can follow her on Facebook and Tumblr.

Offline fxdev

  • LV4 Regular (Next: 200)
  • ****
  • Posts: 177
  • Rating: +34/-6
    • View Profile
Re: Casio Prizm documentation
« Reply #626 on: October 16, 2012, 03:19:13 am »
Quote
Is the SB-88 cable RS232 compatible? As in, does it generate a COM port?
Communication takes place via a COM port number.

Offline fxdev

  • LV4 Regular (Next: 200)
  • ****
  • Posts: 177
  • Rating: +34/-6
    • View Profile
Re: Casio Prizm documentation
« Reply #627 on: October 19, 2012, 05:14:25 pm »
Based on the discovery that a Prizm can communicate with FA-124 via the 3-pin port, I looked in the Link menu code to see if this can be achieved via USB as well... and guess what: The Prizm still supports the legacy fx-9860G/GII USB communication! :D

In OS 1.04 you have to disable the two branches at 0x801B12E0 and 0x801B12EA. The first one seems to be related to the USB cable setting and the second one to the USB communication type.

Once done, pressing [F2] will cause Windows to look for the Casio CESG502 driver (comes with FA-124) to install the Prizm hardware. However, FA-124 is not going to recognize the Prizm - but Simon's tools do now!
« Last Edit: October 22, 2012, 08:30:01 am by cfxm »

Offline DJ Omnimaga

  • Former TI programmer
  • CoT Emeritus
  • LV15 Omnimagician (Next: --)
  • *
  • Posts: 55851
  • Rating: +3151/-232
  • CodeWalrus founder & retired Omnimaga founder
    • View Profile
    • DJ Omnimaga Music
Re: Casio Prizm documentation
« Reply #628 on: October 20, 2012, 05:00:44 am »
Good to hear :)
In case you are wondering where I went, I left Omni back in 2015 to form CodeWalrus due to various reasons explained back then, but I stopped calc dev in 2016 and am now mostly active on the CW Discord server at https://discord.gg/cuZcfcF



Official Website |T-Shirt store | Reverbnation | Facebook | Youtube | Twitter | Spotify

Offline totoyo

  • LV3 Member (Next: 100)
  • ***
  • Posts: 68
  • Rating: +2/-0
    • View Profile
    • Planète-Casio
Re: Casio Prizm documentation
« Reply #629 on: October 20, 2012, 03:58:35 pm »
Nice :)
Sorry for my bad english, i'm french. Thanks :-)