Show Posts

This section allows you to view all posts made by this member. Note that you can only see posts made in areas you currently have access to.

Topics - MPoupe

Pages: [1]
Casio PRIZM / CGDoom
« on: June 25, 2012, 03:56:17 am »
I would like to introduce you my attempt to port Doom to Casio Prizm. Standard Doom requires about 8 MB RAM, so do not expect anything :-)
It is in a very early stage, slow and it will probably crash due to failed malloc.


Casio Calculators / Base-N type to standard type programs conversion
« on: March 12, 2012, 01:08:56 pm »
I am not sure if it was discussed before, but it is possible to write basic program in Base-N mode (so the basic language is much more limited, but allowing logical operations with bits) and then convert it to standard program type (without add-in help).
1. create base-N program (and type all base-N tokens here, like neg,not,xor,xnor,hex,bin,...)
2. go to main menu and select the item allowing to communicate with ea-200 (or ea-100) peripherals (not remember the exact name). There is a sub-menu with program convertor changing COM speed to 38400 bps. Run this conversion on the basic program created in step 1.
3. check this basic program. It will contain commands to open and close COM port and also all previous content. But it is in comp mode:-). So you can use clipboard and test the Base-N tokens in comp mode. Many of the commands do not work, but some (like and/or/xor,...) do

I tested it on fx 9860G SD  and fx cg 20 so I think it will probably work on all fx 9860G types and fx cg 10 too.

Casio Calculators / Audio player for Casio Prizm
« on: February 23, 2012, 03:55:14 am »
I wrote simple program demonstrating audio output on Casio fx cg 20.
create wav from your favorite music, PCM,11025 Hz,8 bit,mono and store to the calculator's flash memory as demo.wav.
Copy CGPlayerA.g3a from the attachment here too.
Run it.

As you can see the program is very simple, it uses safe part of the user's stack to load about 450KB of the wav file (so the file doesn't need to be larger). Then it converts the samples and outputs by syscalls.

To be improved:
- increase speed of COM port, 115200 (maximum for syscall) is too slow
- output data asynchronously.

Unfortunately I do not know CPU enough to do it. :-(

Can somebody help ?

Casio Calculators / Casio Prizm + microSD memory card
« on: November 30, 2011, 06:33:04 am »
I just found interesting product at
It is a small circuit allowing to insert uSD memory card and connect by serial interface (TTL levels)
I think it should be possible to do direct connection with the calculator, only 3.6 V battery must be attached.

I will probably not try this product, but somebody may be interested, so I put it here.

Casio Calculators / Display of some Casio calculators in detail
« on: September 16, 2011, 04:02:47 am »
Look on the pixels in detail :-)

Casio Calculators / Video player for Casio Prizm
« on: July 13, 2011, 03:06:46 am »
I would like to introduce you a simple video player for Casio fx-CG 20.
It's very slow, but working:-)

You may pause it by [OPTN] button, [EXE] resumes. [MENU] quits. Please hold the key for longer time (~ 1 second).

Updated version (CGPLAYER2.G3A) - tiny speed up by remapping working buffers from 0xAxxx area to 0x8xxx (enable cache)

Casio Calculators / Debugging stuff for Prizm
« on: July 11, 2011, 07:48:20 am »
you already know, that it is very hard to debug an application for Casio cg 10/20 (Prizm).
We have 3 SDKs, but no debugger :-(
I would like to introduce you simple, but usable idea - workaround. One can write calculator's simulator - not the complete emulator, but just reimplementation of important syscalls to another platform, where debugger is available. I did a try and this is a result.
I created a tiny enviroment, with console window (for debug messages), display window and a keyboard window. This environment should simulate calculator's behavior. Now I have display (draw to VRAM and then call Bdisp_PutDisp_DD()), keyboard (only PRGM_GetKey() yet) and few another syscalls.

Please extract the attachment,try the puzzle.exe and puzzle.g3a (simple game) and tell me, what do you think about this. I can boast - I needed only 1 rebuild for Prizm platform, all bugs (except the last :-) )were debugged on this environment.

Few notes to the game - it is a simple puzzle, one has to move numbers to get them in the correct order. Numbers on correct position are green, red otherwise. Use arrows to move number box to the wished direction. The game will not quit after success, it is in very early stage.

Few notes to the simulator - to press key, click on it on the keyboard window. Computer keyboard is ignored (in this version). The display doesn't refresh when the display window is hidden and then restored. Right-click on it twice will workaround it. Image of the keyboard (tastatur.bmp) must be in the same folder as the simulator.
BTW: right click on the display switches zoom of the display between 1x and 2x

Sorry, but I did not attach the source code, it is really mess now. Needs some time yet ;-)

Casio Calculators / FXTerm - VT100 terminal emulator for Casio fx cg
« on: June 24, 2011, 03:39:22 am »
I would like to show you my first program for Casio fx cg. It is VT100-like terminal emulator, it has to be connected to the linux (or unix, bsd,...) machine supporting serial console. It is in very early stage, not all is functioning.

What works (somehow:-) ):
- shell prompt
- Midnight commander (mc -a -c), see image
- special attributes (try man ls), see image

What doesn't work:
- editors (I tried joe and internal editor from mc), there are some escape sequences to be implemented
- many other things, you will find them :-)

After you connect (and login), please tell the server the terminal resolution (terminal is 64x27, default settings (80x24) would wrap lines).
On linux execute :
# stty rows 27 columns 64


Casio Calculators / Casio Prizm + truecolor ? [solved]
« on: May 02, 2011, 04:28:12 am »
I tried to display something (in addin) by something like this:
unsigned short *VRAM = GetVRAMAddress();
int x,y;
for(y = 0;y< HEIGHT;y++)
for(x = 0;x< WIDTH ;x++)
   *VRAM = x;VRAM++;
When you run this you got image with 2 color columns (alternating black and blue).
But if you press [Menu], it will change (for a fraction of second) to the expected gradient columns, then menu image will be  displayed.
So it seems display is somehow "rounding" color (using only the highest bit of the color part, or masking the pixels' color ) so it displays only base 8 color. The Menu handler sets this to true color mode and the it redraws the screen.

Does somebody know how to enable true color mode programatically?

PS: sorry for my poor English.

I played a little with my fx-9860G and I have found very interesting feature. I am not sure if it was discussed somewhere, please sorry for that case.

The main idea is, that C/asm addin and CASIO basic script can run concurrently and work together.

I put more detailed description & example on my page - see "TSR - Terminate and Stay Resident for fx-9860G" on my page (


Pages: [1]