Well, at the moment quite a bit is going on “underneath” – stuff that even less people will ever use than the whole Vide package :-)!
I added much documentation in vide, e.g about supported “code generation”, which as of now consists of:
- Game loop
- DS 2430A eEprom
- Raster images
- AYFX sound effects
- Vector images
- Vectorlists (generated by vecci)
Example code which was added (in doc and in codi):
- Examples for usage of VecLink V1
- Examples for usage of VecLink V2
- Lightpen usage
Regarding the Lightpen examples: These are well documented in the source code and described in the vide documentation (newest version is online btw). The examples were mainly taken from Artmaster – but as said – documented, and “ripped” for easier usage. The provided example shows four different lightpen “situations”:
(see vide doc for more…)
- select a text (strategy one with string)
- pick a vector (strategy one with vectors)
- drag a point (webbing)
- find a location (scanning)
Also added documentation to supported emulated hardware and general information on “joyport devices”.
Quite a few bugs were removed in dissi, and I added two new command line commands both of which are “special” for bankswitching. The only one a regular user might find usefull is:
Using this option memory breakpoints of all kinds are applied to all banks at once, thus placing a breakpoint at address $1000, the breakpoint is added to all banks, not just the one currently “running” (which is the normal case). With this debuging of wildly bankswitching cartridges is much easier (you will understand shortly why this was usefull to me).
You might remember, that some weeks ago I added emulation to the DS2430A eEprom (used by YASI, Protector and Thrust to persist player information). Recently I was made aware of the fact, that Vector Pilot also supports an eEprom – although a different one: Microchip 11AA010.
After digging up some information it was revealed that those two chips work quite differently, mainly:
- the DS 2430A uses a 9600 baud 8n1 serial protocoll (baud rate can be set higher)
- the Microchip 11AA010 uses a manchester serial protocoll (in short: a self synchronizing serial protocoll, where the bit encoding is done by a change from low/high or high/low instead of the high/low states itself)
I started that emulation and everything is going along well, although I (as usual) miss some hardware I can experiment with. I have a Vector Pilot original, which communicates emulation wise quite satisfactory with the emulated chip. But there are still some fixes to be done.
In order to learn more about the communication I tried debugging and disassembling Vector Pilot in the relevant serial communication parts. But that turned out to be quite difficult, since Vector Pilot is also a bankswitch game. The serial communication to the Microchip 11AA010 is done by the same “bit” (external line PB6) as the bankswitching is triggered with. Kristof layed the serial communication routines in both banks at exactly the same address with exactily the same code. And while he “ignored” bankswitching while accessing the eEprom, the banks in the background actually switch hundreds of times per second…
Also added are “views” to the emulated hardware. While some views are quite boring (lightpen), others are merely interesting (VecVoice, VecVox) some actually do provide clues one can use for programming (eEprom).
I hid them a bit more than the other debugging windows, since they won’t be often used. You can only open them by two new command line commands in dissi:
- joyi (opens a window for joyport devices)
- carti (opens a window for cartrige devices)
Some pictures for conclusion:
Anyway I will be – again – “Yuppiih!” on a short holiday trip and won’t be near a computer for the next 1 1/2 weeks. So nothing will be done in the next days.