New 3DS Support for SabreGL
After a few days hard work I’ve now rewritten SabreGL‘s 3DS model handling code to use the very useful (but badly documented) Lib3DS. So we now have support for animated 3DS models with vertex normals calculated based upon smoothing groups. It should also be trivial to add bump map and specular map support to the 3DS models once the engine supports them (which isn’t so trivial ;)). I still need to rewrite some of the collision detection code but this shouldn’t be a massive task. I’m now seriously beginning to consider the possibility of a release version (presently it’s only buildable from CVS), and Alasdair‘s kindly offered to have a go at getting a more up to date Windows version built.
Now for the ever so pretty screenshots:
Seems I’ve been asked to try and write a manual for PyFLTK, the python FLTK bindings. Since this is likely to take a fair amount of time and not produce any pretty screenshots don’t expect too many posts for a while (unless I get distracted from it ;)). I might post the odd update on my progress though. I’m hoping to achieve a couple of pages each day. The current version can be viewed at http://junk.mikeasoft.com/pyfltkmanual.pdf.
AberSim 0.1 Released
I’ve released an early version of AberSim and have now hopefully ironed out all the small bugs in the packages (still known bugs in the program though). It can be downloaded from http://linux.mikeasoft.com/abersim/.
AberSim Port Output & Cleaner Listings
AberSim now shows the current value on ports B (output) and C (input/output); tomorrow I’ll play with the serial I/O (port D). I’ve also cleaned the output of the listings window considerably and have it highlighting the current line fully.
AberSim Step Through
I’ve made it possible to pause the execution and step through line by line now, it’ll also highlight the line number of the currently executing instruction (I’d like to highlight the entire line, but haven’t found a way to achieve this yet). Thanks to Adrian‘s lecture on memory mapped I/O yesterday I now realise I can grab the information for the various I/O ports by just requesting the relevant memory contents from sim68xx. I’d like to try and work out a way to direct the serial I/O from the simulator to something like minicom; I think that’d be a very handy feature.
Added basic support for displaying listings output to AberSim. I intend to clean up the display tomorrow and I’ll attempt to add a visual cursor showing the current point of execution, from there the next task will probably be break points.
More AberSim Work
AberSim is now starting to become roughly usable as an editor and simple simulating environment. It handles 68HC11 ASM syntax nicely, allows you to specify the speed of processor execution and displays the state of various registers in the processor. I still need to display the state of the processor’s outputs, create a pretty graphical representation of the processor, add support for break points and provide support for custom hardware. I plan to expose the processor’s inputs and outputs via network sockets, allowing people to write hardware simulators in any language they like and handle any graphical output themselves.
AberSim Motorola 6811 Development Environment
After glancing through the Computer Architecture section of my university modules this year I noticed we’re required to use a proprietary, windows only, 6811 processor development environment. After hunting around for a Free alternative and failing to find anything with the same range of capabilities I decided to have a go at hacking together my own. When completed it should offer a graphical display of the processor, a syntax highlighting editor and offer easy facilities for creating simulated hardware (e.g. LEDs, LCDs, servos, etc.).
I’m using sim68xx to handle the processor simulation and the as11 assembler from Motorola to take care of the actual assembling. The program itself is in Python using GTK2 for the interface.
An early screenshot (just a days worth of hacking):