Question about which tools to use, bugs, the best way to implement a function, etc should go here. Don't forget to see if your question is answered in the wiki first! When in doubt post here.
The system is quite weak for heavy multitasking like we're accustomed so the idea was to make it entirely event driven. An application that's doing nothing could have very well not be running any code for a long while (unless e.g. it set up a timer callback to be run every so often or something like that), although even then the vertical blank interrupt is run every 1/60th of a second so I could still use that to help when something gets stuck. The tiny amount of RAM is still a problem though (a game would spend most of its memory in graphics and such which can happily reside in ROM and 64KB for storing just game state actually feels plentiful, but an application will be spending most memory in user data instead). Also lack of a keyboard, best option so far is to take a Saturn keyboard then pass it through an adapter (since it has the same electrical signals, just the port has a different shape due to Atari suing everybody -_-').
Not sure what I'll do next. I honestly don't like PCs at all at this point, been thinking on just making my own machine instead (even if notoriously weaker)... I already got some simple drawing software rendering library though (so far it can draw points, lines, rectangles and triangles (the latter two either outline or filled), also translucency and clipping windows).
I've screwed with writing for GBA, the original XBox, the Dreamcast and a little bit with the original PS years and years ago, so I think about doing something like this with a console every great now and then, but of course have never done anything about it. And I grew up with a Genesis, so this gets right to the cockles of my heart.
I never finish anything, but now I must get back to playing with consoles.
EDIT: Was highly influenced by DC Linux/NetBSD and this dude's adventures in hacking his dreamcast and wanted to do a VGA mod, a piggybacked alternate BIOS, and an IDE adapter so that I could turn a dreamcast into a workstation that could boot directly from the hard drive. Only ever got as far as the VGA mod and the piggybacked BIOSes, never finished the IDE adapter. Now I want to revive that project.
So this is my latest incarnation and attempt, Veracyon OS. It is the culmination of a lot of work so far and is the furthest I've progressed and OS so far. The idea of the OS is that it will not be a UNIX clone or UNIX like system. It might take ideas here and there, but it will be my own creation and design. A design that will no doubt crash and burn!
It currently has the following implemented:
VGA Text Mode "Device Driver"
Virtual Terminal which periodically flushes to the VGA device driver. The idea is to be able to have multiple buffers or to merge multiple buffers/streams together in time.
GDT, IDT and all those basics.
Physical Memory Manager
Paging/Virtual Memory Manager
The memory management parts are the big ones for me as I've not gotten past that hurdle before! Now I'm on to setting up a heap and processes.
Sik wrote:Not sure what I'll do next. I honestly don't like PCs at all at this point, been thinking on just making my own machine instead (even if notoriously weaker)... I already got some simple drawing software rendering library though (so far it can draw points, lines, rectangles and triangles (the latter two either outline or filled), also translucency and clipping windows).
You might also see about importing one of the Loongson-based notebooks or mobos, such as the Lemote Foolong; Loongson is licensed implementation of MIPS64, so if your main beef is with x86, and aren't happy with ARM either, that might make a good choice. They aren't easy to get outside of the PRC, though.
Rev. First Speaker Schol-R-LEA;2 LCF ELF JAM POEE KoR KCO PPWMTF Ordo OS Project
Lisp programmers tend to seem very odd to outsiders, just like anyone else who has had a religious experience they can't quite explain to others.
octacone wrote:Who said it was a gradient?
It is a real deal bitmap picture. If you want I can show you how to make this exact thing using standard drawing methods.
Lol, OK.
I'll get back to my filesystem and implementing open(), close() and read() so I can use a picture file as my background. It's 10:39 PM now, and hopefully I can finish this before tomorrow morning.
You know your OS is advanced when you stop using the Intel programming guide as a reference.
octacone wrote:Who said it was a gradient?
It is a real deal bitmap picture. If you want I can show you how to make this exact thing using standard drawing methods.
Lol, OK.
I'll get back to my filesystem and implementing open(), close() and read() so I can use a picture file as my background. It's 10:39 PM now, and hopefully I can finish this before tomorrow morning.
After many crashes and bugs that affects stability of my OS, I dropped the GUI from the kernel and renamed my OS "f2/OS".
So, here is what "f2/OS" looks like at this time:
f2/OS
I know it's less beautiful and impressive than before, but I really need something fast and stable.
64-bit version is under active development, and it helps me to fix some encoding bugs in my assembler.
This time a screenshot showing some allocations made with the new kernel dynamic memory manager. This is a very simple manager which deals with blocks of various sizes (reducing the memory waste) and keep track of them using buckets.