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.


Messages - MPoupe

Pages: 1 ... 8 9 [10] 11 12
136
Casio Calculators / Video player for Casio Prizm
« on: July 13, 2011, 03:06:46 am »
Hello,
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)

137
Miscellaneous / Re: post your website url
« on: July 12, 2011, 03:43:01 am »

138
Casio Calculators / Debugging stuff for Prizm
« on: July 11, 2011, 07:48:20 am »
Hello,
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 ;-)

139
Miscellaneous / Re: German programmers??
« on: June 28, 2011, 11:26:24 am »
Lol, now I'm a little bit confused.
This is a typical grammar mistake, which is often done by foreigners learning German, but it is never done by native Germans.

141
Miscellaneous / Re: German programmers??
« on: June 27, 2011, 12:00:00 pm »
I am not from Germany, but ich spreche ein bißchen Deutsch. :-)
I think German is more explicit than English (e.g. I search meaning of some English word and very often find > 30 meaning, where some of them have antagonistic meaning). Very difficult must be German for simultaneous translation (e.g.:verb is at the end of the side sentence, so the translator may need a big stack in his brain :-) )

A joke, which Germans probably do not understand:
Ich stehe nicht ver, ich bin Länder aus. ;-)

142
Oh sorry I meant terminal*. Is it a terminal?
Yes, it is emulator of VT 100 terminal, so it is a terminal.

143
Casio Calculators / Re: Compiling stuff for Prizm
« on: June 24, 2011, 07:03:00 am »
Simon, thank you for reply.
I use C sources because I would like to make the result binary as small as possible. It is probably not needed now, but it is my practice/tradition.
I do not think your SDK is inconvenient. You should see my old disassembler of cfx9850G ROM dump. Or better you shouldn't :-)

144
If you try fxterm with Casio serial cable, you may find, that stream PC->fxterm goes OK, but fxterm->PC doesn't. The problem is in DTR signal on COM port, which must be set ON. The cable (probably) uses it to get power.
I used following (and very dirty workaround):
Linux is running in vmware (which run on windows), it has serial port, which is configured as named pipe (\\.\pipe\seriak), vmware end is server,other end is an application.
On windows run proxy - attached application, which forwards data between pipe and real COM1 port. The proxy ensures, that DTR signal is ON, so it works.

This is very dirty solution, proxy is very dirty software, but at least it works for testing:-)
I hope there is a way to configure Linux to set DTR signal ON, I did a very quick research, but found nothing:-(
Martin

145
Very well done. Congrats!
Thank you. Your docs and mini-SDK allows me to do it.

146
Casio Calculators / FXTerm - VT100 terminal emulator for Casio fx cg
« on: June 24, 2011, 03:39:22 am »
Hello,
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

Martin

147
Casio Calculators / Re: Compiling stuff for Prizm
« on: June 23, 2011, 04:02:10 am »
Hello,
I am trying to write something slightly bigger than "hello word" for cg, I use Simon's mini-Prizm-SDK. I would like to ask:
1. Is it possible to build program from .c sources ? I do not use C++ features so I would like to save room by removing C++ support. I tried to rename the project.cpp (autogenerated source) to .c and edit project.ini (both, manually and by the build tool), but it always asked me to provide project.cpp file.

2. Is it possible to build program from multiple sources (and link together)? I see that Insight has more source files, but I was unable to include additional source to mu project. I tried the GUI build tool (=not manualy editing/hacking the project.ini).

3. How to add new syscalls ? Is there some recommended way how to add new syscall to the SDK ? There are many syscalls, which are perfectly documented in the help file, but they are not included in the header (for example serial communication).

I am asking for recommended ways, because I would like to keep my sources compatible with mini-Prizm-SDK to enable another users to build it.

And one additional question for everybody: How do you debug your project for cg calculator ?

Martin

148
Casio Calculators / Re: Compiling stuff for Prizm
« on: June 14, 2011, 07:47:17 am »
Does it means we can now have music on-calc? O.O
I wrote wav player for 9860 some time ago. I attach source code.  I hope it can be ported to cg :-)

149
Do you use 0x04DF and 0x04E0 to get and set the BASIC-variable, which you use to communicate (on 9860G)?
Do you know the corresponding syscall numbers on the fxCG?
I don't - I didn't try this on cg. But bsl knows:
const int SysCallWrapper[] = {0xD201422B,0x60F20000,0x80020070};
int (*iSysCallFuncPtr)( int R4, int R5, int R6, int R7, int FNo ) = (  int (*)(int,int,int,int,int))&SysCallWrapper;
#define PutKey(key) (void)(*iSysCallFuncPtr)( key,key<256, 0, 0, 0x0EA9)
#define Alpha_GetData(VarName,Dest) (void)(*iSysCallFuncPtr)( VarName,(int)Dest, 0, 0, 0x0034)
#define Alpha_ClearAll() (void)(*iSysCallFuncPtr)( 0,0, 0, 0, 0x0036)
#define App_PRGM() (void)(*iSysCallFuncPtr)( 0,0, 0, 0, 0x1945)
#define Timer_Start(ID) (int)(*iSysCallFuncPtr)( ID,0, 0, 0, 0x08DB)
#define Timer_Stop(ID) (int)(*iSysCallFuncPtr)( ID,0, 0, 0, 0x08DC)
#define Timer_Install(ID, handler, elapse) (int)(*iSysCallFuncPtr)( ID, (int)handler, elapse, 0, 0x08D9)
#define Timer_Deinstall(ID) (int)(*iSysCallFuncPtr)( ID,0, 0, 0, 0x08DA)

150
Do you use one of the free system timers to implement the TSR (if I remember right, the user timers are destroyed if another addin is invoked)?
No, I used standard SDK timer. Another addin would not only kill my timer, but also unmap my memory area (do the timer handler would be invalid). So I called App_PRGM() (0x09F5 on 9860G, 0x1945 on cg20), which runs as standard procedure (it keep my TSR addin as the current one). I inspired by your loader :-)

Pages: 1 ... 8 9 [10] 11 12