Here is a sneak peek of a major project I have been working on for some time. Its a database "engine" for the Atari 8 bits, which uses a file format very similar (not quite the same) to that of xBase (dBase / Clipper). I'm calling the format ADB (Atari DB). It is designed to be a flat file, non relational database. There will be functions to get a specific record, save a record, delete a record (mark it for deletion with a pack function later). It is built using CC65, my C Library, and my unreleased DB routines which are currently WIP.
I havent worked out indexing, yet. I know how to implement it, but memory is a HUGE issue.
This is essentially a proof of concept to see if it could be done. I always wanted xBase for the 8 bit, now I'm getting close. A long while ago, I blogged about some work I did to read DBF (xBase/Clipper) files. Its here: https://unfinishedbitness.info/?s=DBF
The utility shown here is the maintenance utility. It is for creating database structures, viewing basic database information from the database file header (# records, last modified date, etc), and packing the file. Due to memory I will probably have to move the viewing and packing into seperate binaries. You can see its already quite large, so I may end up compiling for XL and using banked memory somehow.
After I get the basics working, I have a simple database app planned to exploit it.
I've made some more progress, but am putting it on hold a bit as I think through the most efficient (smallest) code for record access, and I've been neglecting the podcast research for Antic Files (been on E17 for a couple of weeks now).
All of the FILE menu functions work properly. I also found a 1-off error when creating the DB's where it wrote the field name string terminator to file when it should not have. And the VIEW/INFO menu item works. The size is a few hundred bytes over 30,000 now. I think the VIEW/BROWSE and EDIT/PACK functions will have to be their own programs, but I will try to get at least one of them incorporated.
I am a little disappointed in the current record size limitation. I may play with this in the future and see about increasing it to 512 bytes at least.
I'm going to write up something on my blog with what I have so far, but not release any code yet. I'll post a link later, which will also have a newer video.
"This looks very interesting," says the old dBase / Clipper head from the 80's.
Looks great! Will you be documenting the file format? I'm thinking there could be some application for our BBSs! Also, how easy is it to use your C library (or at least portions of it) in Action? For example, the reading and writing routines?
Awesome Atascii User Interface!!