There are some good things which I managed to finish :
Fix a Floppy driver to work with the kernel, I fixed it by hand, compiled it to the kernel.
Completely reprogrammed the malloc system! It is now working well(I am referring to the latest tests I made with it). The new malloc v2 replaces the old sysmem.c with malloc.c. The new malloc also comes with new special chunk optimizer, which keeps the memory well managed, and optimal. Without the optimizer, there would be huge fragmentions in the malloc system...
I made a small VGA test program, it is a plasma effect, it uses two a simple formula : power = sin(sin(x+xm) + sin(y+ym) + sin(x+xm2) + sin(y+ym2) + sin(cycle));
Somethings I changed in my plans :
I decided that VGA support will be first of all limited to 640x480 with 2 colors, this is much faster and easier videomode to program at. BUT, the VGA library still has support for about 20 videomodes, including f.e. 320x200 with 256 COLORS.
Things which I will eventually do next, high in priority :
Floppy drive related test utility with an ability to test the floppy drive workability
Filesystem(JTMFS) portability to all data sources(Floppy, RAM, etc.)
Support for binary drivers(non-dynamic drivers), which can later function as /dev/xxxx sources
Allow running simple applications from Floppy/RamDisk(Seperate code segment(CS) for each of these)
Project is advancing averagely well, I managed to successfully port the Tauron VGA library to the present JTMOS environment. The guestion that still reminds is the testing and f.e. the way of how the library maps the memory. I have estimately calculated that a 640x480 16c graphics mode takes about 640*480/2=153,600 bytes of memory, which is exactly 150 kilobytes.
The problem currently is to make a simple 640x480 16C mode plotter to work properly, well first of all I have to figure out how the memory is mapped, I already know that the video memory(as I expected), starts from linear address 0xa0000, which is a common place for it.
I can imagine the first 64K of the videoram is mapped atleast, though I am not sure about the rest of it.
After I got the VGA working well, I will have to make the floppy work next, which'll be quite something to do. My worst rumours of it is that the DMA won't be an easy thing to make work(I'll be using the GAZOS example for beginning).
*** Introduction to the reborn JTMOS32 project ***
What JTMOS can do currently ?
Bootloader(1.44M 3½ floppys)
Succesful IDT/GDT, protected mode intialization
malloc / free support
timer, pic chip support
80x25 terminal support
Terminal library can do countless numbers of virtual terminals(in theory, but not yet implemented)
System maintance shell
Things that are currently underbuilding, and aren't working properly yet :
Notes
Links
Note: a complete list of credits of all code we used is coming later, we apperciate all help we got, and well be giving it a big value in the future too.
|
Kommentit
Lähetä kommentti