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

Pages: 1 ... 3 4 [5] 6 7 ... 9
61
Casio Calculators / Re: Compiling stuff for Prizm
« on: July 24, 2011, 02:10:50 pm »
I attached a little note-viewer.
With the next release of the mini-SDK, its source will be included.
The file-selection dialog shows files with the extension *.txt and subdirectories, only.
The noteviewer is designed to support CRLF, CR and LF as line delimiters.
A search function is under construction.

Version 1.00 removed
Version 1.02 can be found here
http://www.casio-scene.com/downloads.php?do=file&id=103

62
Casio Calculators / Re: Casio Prizm documentation
« on: July 22, 2011, 07:10:21 am »
The following syscall may be interesting:

syscall 0x184D : unsigned char*OpCodeStrPtr( int hcode, int lcode );
Returns the pointer to an OpCode's literal ASCII-representation.
hcode 0: single-byte OpCode
hcode 1: 0x7F-two-byte OpCode
hcode 2: 0xF7-two-byte OpCode
hcode 3: 0xF9-two-byte OpCode
hcode 4: 0xE5-two-byte OpCode
hcode 5: 0xE6-two-byte OpCode
hcode 6: 0xE7-two-byte OpCode

lcode is the minor OpCode-ID

Example: OpCodeStrPtr( 0, 0x81 ) returns a pointer to "sin ".

I attached a textfile, which contains a list.

63
Casio Calculators / Re: Compiling stuff for Prizm
« on: July 10, 2011, 04:41:57 am »
...can you please remove that annoying loading animation from Insight? I doubt anything is actually being loaded.)
cfxm asked me once how to draw outside of the regular display bounds. This animation is only a demo, how to achieve this (as most of INSIGHT is how-to-do source). I can implement it as separate menu item. Until the next release of INSIGHT you can cancel the loading animation with EXIT.

64
Casio Calculators / Re: Compiling stuff for Prizm
« on: July 09, 2011, 03:44:47 am »
According to Simon, 0x88160000 was the bottom of the add-in stack...
I haven't been sufficiently exact with the naming. The 512 kB RAM area 0x88160000 to 0x881DFFFF should be called "add-in RAM" (I updated the documentation), because it is shared by add-in static RAM and add-in stack. The add-in static RAM starts at 0x88160000 (virtualized to 0x08100000). The add-in stack starts at 0x881E0000 and grows downwards (towards the static RAM).
When an add-in is loaded, the complete add-in RAM is virtualized in 8x64kB-chunks (0x88160000->0x08100000..0x881D0000->0x08170000), possibly allowing much more static RAM as with the legacy systems. Of course, you have to take care for the limits. Otherwise the system will do, crashing.

65
Casio Calculators / Re: Compiling stuff for Prizm
« on: July 08, 2011, 07:33:54 am »
...0x88160000 ... has now changed to 0xE5200000 (purpose unknown).
The mini-SDK builds two different binaries. The first one is the standard G3A (f. i. INSIGHT.G3A),
which can be copied to the calc's storage memory using USB. The static RAM of a standard G3A is a part of the external RAM virtualized to address 0x08100000 by the system, when invoking a G3A.

The second binary is a special one (f. i. INSIGHT_RAM.SH3), which can be run from RAM. I load it via 3pin, using the protocol 7.00 "Upload'n'Run"-option. This accelerates development cycles.
But this requires to find fitting RAM-gaps, which are not used by the system (at least not during program testing).
For the RAM.SH3 program I use 0x880E3000 (the end of the main memory).
As static RAM for the RAM.SH3 I used some unused part of the external RAM at first.
Then, just out of curiosity, I tried 0xE5200000, which is a 4k IL-memory of the 7305.
I like to check out available options. Probing into the unknown is one of the ways to gain knowledge.
But beware: messing around with the 7305's IL-memories can cause funny calculator behaviour.

66
Casio Calculators / Re: Compiling stuff for Prizm
« on: July 03, 2011, 07:13:15 am »
A mini-Prizm-SDK (version 1.09).

New with version 1.09:
Some news concerning timers (see the CHM-file).
C++ example code. An object oriented ASCIIZZ-class. An object oriented base ListViewer and some derived classes (f. i. MCS and memory-Viewer).
How to use the status area (controlling Text, Icons and Glyphs). Example code in INSIGHT.
Hint: the Bfile_FindFirst- and Bfile_FindNext-syscallnumbers previously published are not the perfect ones. Use 0x1DB7 instead of 0x1DB6 and 0x1DB9 instead of 0x1DB8.
cfxm asked me to add an option to INSIGHT to invoke the testmode (found by cfxm). See:
https://ourl.ca/9404/220269

67
Casio Calculators / Re: Compiling stuff for Prizm
« on: June 24, 2011, 09:33:07 am »
So the PRIZM can use C++?
I used object oriented code on the fx9860-types very extensively. And I had no problems with some experimental object oriented code on the Prizm, yet. Usually it depends on the compiler/linker/library-system, whether a C++ source can be transferred into a G3A successfully. The hardware, especially if it is more powerful, shouldn't be a problem.

68
Casio Calculators / Re: Compiling stuff for Prizm
« on: June 24, 2011, 09:04:15 am »
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).
If you select "Full Setup/Project-compile/Source-Files", you can insert a new line (INSERT-key) and either fill the name of the sourcefile into the value-field or select a file from a file-select-dialog using the ellipsis-button. It is very similar to the old fx9860-SDK. You can add CPP- and SRC-files. Do not forget to save the setup.

69
I would like to show you my first program for Casio fx cg. It is VT100-like terminal emulator...
Very well done. Congrats!

70
Casio Calculators / Re: Compiling stuff for Prizm
« on: June 23, 2011, 01:38:00 pm »
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.
Why do you need .c sources. The C++ compiler has no disadvantages and is able to process c-sources as well (without the need of implementing the special abilities of C++).

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).
It is possible, but I must admit, that it is not well documented. The mini-SDK allows several ways to include multi-sources. But flexibility requires a lot of documentation. Gimme some time. In the next CHM-file, I will add some hints. My mini-SDK is complex. I need a very flexible tool to provide and verify the information we all need to master the Prizm. I'll try to enhance the documentation.

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).
Select File/Full Setup
Select the Tab syscall-library
Position the cursor to the syscall where you want to insert a new syscall.
Hit INSERT.
Enter the syscall number in hex in column "Key" (f. i. 1E6A).
Enter the syscall definition in column "Value".
The syscall definition starts with the interface, f. i. in case of 1E6A void DisplayMainMenu( void ).
Then enter a a semicolon.
The next item following the semicolon defines the headerfile, where the interface has to be stored. Ususally this is an alias, f. i. $(SYSTEM_SC). See at the begin of the syscall-library-list to find the actual header-file names.
The third item following the second semicolon represents the syscalls timestamp. Leave it empty, if you insert a new syscall. The system uses the timestamp to decide, if a rebuild of the syscall is necessary. Usually it is maintained automatically.
Finally hit the SAVE-button.
The next build with F9 should  include the previously added syscall in the library.

---
Sorry, if my mini-SDK is too inconvenient. I cannot help it. I need it's flexibility to find the information we all need. I hope some of you agree. And I hope even my mini-SDK could help the one and the other in their progress to do better.
I like cfxm's extremly lean micro-SDK. And I like the KPIT/GNU/GCC tool developments, though I am a friend of the lean one's.

71
Casio Calculators / Re: Compiling stuff for Prizm
« on: June 14, 2011, 01:00:42 pm »
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 :-)

The 7705.h (alas it's not included in your rar) has to be replaced by some 7305.h. The syscall-numbers have to be adjusted. SCIF2 is fairly compatible (only two register addresses have been changed on the 7305). The addresses of the interrupt priority registers are different and on the 7730 there are three more to save and restore. TMU- and WDT-addresses should be adjustable, too.
The 7305 FRQCR is incompatible to the 7705's. Hence its programming has to be reconsidered.





72
Here is another, not in the demo, but necessary to complete communication between Basic and C:
#define Alpha_SetData(VarName,Src) (void)(*iSysCallFuncPtr)( VarName,(int)Src, 0, 0, 0x0035)

Some other untested syscalls, I have found:
Setup_GetEntry 0x0489
Setup_SetEntry 0x048B
Alpha_ClearAllAndAns 0x0A8C
I added your "Alpha_" findings to my CHM-file (with a proper reference, of course). THX.

But 0x0489 and 0x048B are some BCD-routines, which check a BCD-number's error state.
Setup_GetEntry is 0x0031 and Setup_SetEntry is 0x0032. In the first place I used different names, which was misleading. Sorry.
I changed them to the old naming convention at once.

73
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?

74
Casio Calculators / Re: Compiling stuff for Prizm
« on: June 13, 2011, 04:41:11 pm »
Nice what is the address for direct line access. I had tried port Q earlier, but wasn't getting any feedback. I will though be testing the SIOF later because that can play .wav files.
Because the programming of the pin function controller is involved, I think it would be best to refer to the source of insight. See function "F17_Handler()".

75
The idea is to communicate from Basic to TSR by agreed variables (e.g. A,B).
Very smart idea!
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)?

Pages: 1 ... 3 4 [5] 6 7 ... 9