Home page


Return to parent page: Home page

Casiocalc.org File Sharing Area

\----------------------------/



ASM/C Resources for AFX

All > afx > casm > resources
Click to sort by: Names (D) -- Date (A) -- Clicks (D)
By: Veb and others 97 clicks
This is the version for lua for afx. This is compatable with programs made for luaFX.
Uploaded by mfischer[Write a comment][Rate this file]2011-10-25 (00:59 CEST)
By: 2072 124 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).

NEW functions:
===================
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 :/
Uploaded by 2072[Write a comment][Rate this file]2006-04-22 (23:21 CEST)
By: Marco 196 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
Uploaded by Marco[Write a comment][Rate this file]2005-05-16 (23:03 CEST)
By: Marcus Haehnel / huhn_m 140 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.
Uploaded by huhn_m[Write a comment][Rate this file]2005-04-03 (13:18 CEST)
By: dscoshpe / BradN 253 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!

Enjoy!

- dscoshpe -
Uploaded by dscoshpe[Write a comment][Rate this file]2005-02-11 (10:42 CET)
By: Marco 279 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.

Features:

- 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.
Uploaded by Marco[Write a comment][Rate this file]2005-01-15 (09:32 CET)
By: Orwell 141 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 ;)
Uploaded by Orwell[Write a comment][Rate this file]2004-12-20 (23:11 CET)
By: Marco 231 clicks
This is my AFXTP (=AFX Turbo Pascal) package 1.0, that contains some usefull Turbo Pascal 6.0 Units for AFX programming

---Note:---
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:

[U]AfxSys:[/U]

Provides basic routines to the other moduls, such as block movement, filling, BIOS data area access, interrupts, EMS, …

[U]AfxCRT:[/U]

Similar to TP CRT unit, but for AFX instead of PC. It's advanced compared to original CRT in some points.

[U]AfxGfx:[/U]

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.)
Uploaded by Marco[Write a comment][Rate this file]2004-12-09 (15:37 CET)
By: Superna - The Libg100 Team 182 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
Uploaded by superna[Write a comment][Rate this file]2004-11-03 (18:32 CET)
By: Orwell 196 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 ;)
Uploaded by Orwell[Write a comment][Rate this file]2004-10-22 (00:08 CEST)
By: 4nic8 358 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
Uploaded by 4nic8[Write a comment][Rate this file]2004-10-20 (15:55 CEST)
By: Julien 144 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 :)
Uploaded by Orwell[Write a comment][Rate this file]2004-07-02 (16:38 CEST)
By: Swifter 137 clicks
Modified for Digital Mars compiler version of DB-Lib. Unlike the original version, it has separated Header and Source files
Uploaded by mastermage[Write a comment][Rate this file]2004-03-02 (21:10 CET)
By: 2072 506 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:

    "L"
    "LIMITES"
    "LINES"


    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
Uploaded by 2072[Write a comment]Rating: 10/102004-02-11 (19:10 CET)
Add a file to this category

Return to parent page: Home page



Home pageValid HTML 4.01! Best viewed in sRGB Valid CSS!
Previous Page - Next Page
All rights reserved.
All trademarks and registered trademarks mentioned on this website are the properties of their respective owners.

Privacy Policy