The Casio Algebra FX is a quite cool device . Actual it's more than a simple "calclulator", it's a real PC System such as you had them in 1982! (a minimized, embedded version though, differing in some bits from IBM standards).
The best about it: it's DOS/x86 platform compatible and you can create your own Add Ins for it, programs that even would run on your PC today!
Now look what this great device's features are
CPU is a 16 Bit NEC V30 @8MHz supporting the complete 80186 instruction set (=80286 set without protected mode features), thus fully x86 compatible. Additionally there are some special bit and bit field manipulation instructions (Set1, Clr1, Not1, Test1, Ext, Ins; very usefull for graphics engines) and you can switch into a MCS80/8085/Z80 compatibility mode. For details see NEC V30 specific features.
- 256KB RAM (located at the lower address space 00000h..3FFFFh), subdivided into 144KB user data area (Basic programs, lists, matrices, ...), 6KB for video buffer (you can move and resize it though), 56KB for Add Ins ([code]+data+stack) and 50KB for System usage (Interrupt vectors, Bios data, MAT, ...)
- Display is a 128x64 B/W LCD, in fact, recently it's possible to emulate up to 13 grey scales on it. Also double buffering / page flipping support (as video buffer start address is programmable)
- 1MB Flash memory, subdivided into 6x128KB = 6 ROM disks L: to Q: for Add Ins and 256KB reserved for system usage
- 4MB ROM containing BIOS+OS (Datalight ROM DOS, which is 100% MS DOS compatible) and the "pre-installed Add Ins" you can see in the Main Menu (Run/Mat, Dyna, Equa, Prgm, CAS, ...)
- LIM EMS 4.0 support in order to fit all that memory into the 1MB NEC V30 address space. There are 8 EMS banks of 128KB each.
- Communication port is an asychronous serial one with speeds up to 115200 Bits per second. It's bi-directional and we can use it for multiplayer games (unlike the Casio Basic Send(/Recieve( commands). Recently it also can be used to create sounds.
- Internal timer calling interrupt 1Ch runs at a frequency of 50/s instead of 18.2/s. Very usefull
- The embedded operating system, Datalight ROM DOS, is 100% MS DOS compatible and combined with x86 compatibility this makes coding for AFX very easy
Obviously features / CFX comparison:
- User has 144KB memory available while 32/64KB for CFX series
- 20 slots are reserved for pictures, fmem and lists instead of 6 only
- AFX series have a CAS integreted and can solve equations by rearranging them (instead of "scanning" for a solution)
- But: though AFX has a 16Bit CPU @8MHz instead of 8Bit @4MHz such as CFX series, the AFX Basic interpreter seems to be implemented way worse than on CFX. Basic programs will run with 2/3 of that speed only they do on CFX (whereas graphical commands such as F-Line are faster on AFX; note that it has to process one color (one layer) only, not three as on CFX)
AFX <--> CFX compatibility issues
- Some "important bugs" available for CFX version of Casio Basic interpreter are missing on AFX, but others have been created. So there's the problem that a) some programs with bugs you need/sheduled for your code will not work on AFX proper anymore and b) some programs causing no bug on CFX will do so on AFX
- Officially, Basic command "=>" is not supported anymore though AFX Basic interpreter understands it nevertheless in order to keep CFX compatibility. To get that item (it's not available in the program editor), transmit it either from a CFX or PC and copy.
- As AFX series have a monochome display, Basic attributes "orange" and "green" simply will be ignored though not causing an error. Additionally you can't initialize ViewWindow with such values forcing "PlotOn" and "PixelOn" grids being congruent, this in fact is the problem causing the most trouble as it's a very popular method amongst CFX coders.
I'm sorry to say that none of my former CFX Basic games works with an AFX therefore, where Asteroid
is the only exception (and also my math program MathMatX
But no matter, as we can put Add In programs to the AFX
Copyright (C) 2005 by Marco Kaufmann