|By: Veb and others|| 55 clicks|
|This is the version for lua for afx. This is compatable with programs made for luaFX.|
|By: 2072|| 80 clicks|
|I release this "last" version because I probably won't touch anymore to this lib nor use it. I had it in this state for two years on my computer, the only things that remained to do, was to write the documentation and to make some stress testing...|
I've implemented this library in my personal version of TOUCHE so I think it's bugfree.
The improvents I've made since the last version (1.06) are important and may help some people, that's why I release it today.
Note that I haven't written the documentation about the new functions introduced in this version. you'll have to figure it out by yourself reading the sources :)
Do not hesitate to add comments using the system provided here.
What is this library ???
This library allows you to use the memory zones (basic files...) of your AFX for writting data as if it was files on a PC hard drive.
SInce this version the access to theses "zones" is very similar to the way you access normal files.
Official page: http://www.2072productions.com/?to=g100_prog_source.php
What's new in memory_zone_library release 2.00b
- This is the eighth release -
This version in not compatible with previous versions, you'll have to re-work your program (names and types have changed).
MEMZ *mopen (const char ztype, const unsigned char *zonename, const char *mode);
size_t mwrite (const void *ptr, size_t element_size, size_t n, MEMZ *stream);
size_t mread (void *ptr, size_t element_size, size_t n, MEMZ *stream);
int mclose (MEMZ *stream);
int mseek (MEMZ *stream, unsigned offset, int whence);
unsigned int simple_mseek(MEMZ *a, unsigned int b); -- this is a macro
unsigned int mrewind(MEMZ *a); -- this is a macro
int munlink(MEMZ *a, MEMZ *b); -- this is a macro
int mtruncate (MEMZ *stream, size_t newsize);
So now you can access memzones only using the above functions, no need to care about anything else.
You still can do it like you did with previous vresions though, but I don't recommend it.
If you don't want to use the above functions, you can keep the version 1.06.
There are other changes, but I don't remember, it's been two years since I touched or used this lib...
This is a beta version, I did test it but not as much as I wanted... I don't think there is any bug though :/
|By: Marco|| 145 clicks|
|This library provides direct access to drives and files stored in the flash or ROM without using DOS file I/O. That means:|
-No more need to allocate a buffer in RAM, open a file and read (a part of) it's content into that buffer using file I/O
-Instead of, call DFA to give you a file's starting address in the flash or ROM
-You can thread the file as a linear buffer of bytes then located in the CPU's adress space
-You save much memory and computing time therefore.
-E.g., need no extra RAM for buffers holding sprites and images and so on, also RAM limit doesn't matter for program's total data size anymore
-Last but not least, the compiler won't link file I/O routines which makes your code smaller
The package contains the source, a doc and two example programs
See also DFA documentation: http://www.pageofmarco.de/devafx/DFA.html
|By: Marcus Haehnel / huhn_m|| 98 clicks|
|a wrapper for pascal that makes the CMM files library for that calculator usable with turbo pascal.|
Please read the readme.txt for more information.
|By: dscoshpe / BradN|| 195 clicks|
|In this package you will find an assortment of Casio Add-In Protocol goodies:|
+ Casio Add-In Protocol description
+ Unknown communication commands (secret, woooo :) )
+ Complete logs of transmissions between Add-In Installer and AFX
+ Application to create your own com logs!
- dscoshpe -
|By: Marco|| 231 clicks|
|This library provides sound for your calc just by connetcing a headphone/speaker to the COM port. There's no need for special hardware for it.|
- creates sounds up to 1.8kHz in a continuous spectrum
- creates 7 octaves and 12 notes per octave in a good quality (sounds adjusted at a' = 440Hz like usual in music)
- supports two channels where different sounds can be played simultaneously
- supports special functions to play a kind of MIDI tracks
What's new in this version?
- works also with Digital Mars compilers right now
- a new C demo is available (thanks to 4nic8 who wrote it!)
- a minor bug fixed in the two other demos
The LIB can be used with Pascal and C/C++. It also containes three demos and a detailed doc how to use the library.
|By: Orwell|| 97 clicks|
|When a program has to deal with a large amount of data's (sprites, maps, strings...), it is often useful to save those data's into external files and to load only what the prog needs. The problem we have is that the functions we need to manipulate those files (typically the ones from stdio.h) are a bit heavy, and they make the size of the prog grow significantly. :/|
The aim of this lib is to provide "light" functions that are used on the same way as those from stdio.h. The difference is that there is no sophistiquated management of the opened files: these functions are only calling the different services of the 21h interrupt. Their size is thus quite smaller. :)
Go to http://orwell01.free.fr/Release/CasFiles/ for more information ;)
|By: Marco|| 180 clicks|
|This is my AFXTP (=AFX Turbo Pascal) package 1.0, that contains some usefull Turbo Pascal 6.0 Units for AFX programming|
It contains neither docs nor demos, as I'm writing the successor versions at the moment already (that I'll release ... soon).
But it contains the unit's TPU's (that you just have to copy into the TPU folder of Turbo pascal) as well as the source of the unit headers, so reading this headers you should know about the functions anyway.
Units contained are:
Provides basic routines to the other moduls, such as block movement, filling, BIOS data area access, interrupts, EMS, …
Similar to TP CRT unit, but for AFX instead of PC. It's advanced compared to original CRT in some points.
The module I'm the most proud of :-). It manages the graphics modes (can use both BW and Grey modes). Functions it provides are:
- Mode selection and Page Flipping (also called double buffering), contrast setting
- Pen objects, Pattern, Dithering and clipping
- native graphical routines StPixel, HLine and VLine
- Extended routines Line, MoveTo, LineTo, RectAngle, FillRect, Fillcircle
- sprite drawing + background (copy, and, or combine)
- Two public versions: A and B; B is faster than A
And: it's very fast (written in ASM)! Unfortunately, text drawing routines are not implemented yet.
But don't worry, as I said I'm working on the successor version already...
Furthermore, there are AfxTime (RTC and timer, timing routines, timer interrupt), AfxRan (random numbers + initialisation) and AfxStdIO (reimplemented read[ln] / write[ln] routines) units.
Also contained are the PC versions of all these drivers (except AfxSys, that works also on a PC), that you may use instead of the AFX counterpart during the development phase of your programs.
The big advantage is, that you can test them directly within the TP 6.0 IDE just by pressing F9 key :-). So when ready with coding, just replace "uses pcgfx,pcran,…" statement by "uses afxgfx,afxran,…", recompile and install it to your calc (the result you get will exactly be the same you had on the PC before.)
|By: Superna - The Libg100 Team|| 131 clicks|
|Libg100 is an unified Casio Afx2/Graph100 Library, it contains Almost all functions to devellop great programs for this Platform, here is what is included :|
MemZones dxlib drawlib mxdraw db-lib
The library is a .lib file compiled (or you can compile) for TurboC++ 3 and Digital Mars Compilers.
This link is a a Sourceforge LGPL Project.
http://www.sf.net/projects/libg100 or http://libg100.sf.net
|By: Orwell|| 151 clicks|
|gxLib allows you to display 5 colors (black, white and 3 grayscales) without any flicker on the screen of you AFX calculator by providing some useful functions to draw a single point, a line, or a sprite for example. This lib use only 3 video buffers against 4 in the first methods that were used to generate 5 different colors.|
Note: there was a small bug in the first version, it has now been fixed.
The 1.0b version should be released in a couple of days with some new functions ;)
|By: 4nic8|| 260 clicks|
|I managed to make a patch for all DB graphics libraries to expand it to 4 COLORS! However it flickers a bit but you should at least try it!|
All db graphic functions will work fine with this patch!!!
Now it works a little bit better - no flickering on ROM 1.01, and some flickering on other ROMs
|By: David Quaranta|| 169 clicks|
|Allows to use serial port of your AFX 2.0(+)|
-Source C++ for TC 3.0 or Visual C++ 1.5.
|By: Julien|| 108 clicks|
|Here is the new version of the easiest lib to display sprites of any size in DB mode!|
It includes 4 possibilities: mask+clip, nomask+clip, mask+noclip, nomask+noclip, and some new advantages.
The sprites have to be generated by Sprite Maker 2.2 ( http://orwell01.free.fr/Release/SpriteMaker/SpriteMaker_v22.rar )
Sorry, all of it is in french, but if you need a translation i can work on it :)
|By: Swifter|| 101 clicks|
|Modified for Digital Mars compiler version of DB-Lib. Unlike the original version, it has separated Header and Source files|
|By: 2072|| 336 clicks|
|What is this library ???|
This library allows you to use the memory zones (basic files...) of your AFX for writting data as if it was files on a PC hard drive:
- You can create new memory zones specifying their size.
- You can change the size of an existing one.
- Delete a memory zone.
- You can read and write data in theses area.
- Clear a whole area.
- Change the password of a basic file.
Official page: http://www.2072productions.com/?to=g100_prog_source.php
What's new in memory_zone_library release 1.06
- This is the seventh release -
THIS IS AN IMPORTANT UPDATE, YOU MUST RE-COMPILE YOUR PROGRAMS WITH THIS NEW VERSION
- A BIG BUG appeared in 1.05 has been corrected,
the function search_mem_zone() could find wrong files:
If the memzones configuration was something like:
and that you search the memzone named "LIMITES" or "LINES", search_mem_zone()
would always find "L"...
This bug could cause memory corruption depending on how you write to the memzone,
especially if "LIMITES" or "LINES" are larger than "L"...
- Another BUG concerning the functions read_mem_zone() and write_mem_zone():
- The "anti-overflow security" was not working if you were trying to read or write after the end of the memzone...
So the memory could become corrupted and your program could crash.
Side NOTE: Correcting this bug something appeared to be unclear in the doc:
Actually if you want a memzone with 20 bytes available for writing you need to create a memzone of 34 bytes and even 44 bytes if you are writing in a type 1 zone...
The minimum size of a memzone is 14 bytes, the size of the headers (size, zone type, zone name, size).
When you call create_mem_zone() you tell the size that the memzone will take in RAM and not the available space for writing...
Readme file: http://www.2072productions.com/?to=memzones_libraryReadme106.txt&text=1