GithubHelp home page GithubHelp logo

thethumbler / aquila Goto Github PK

View Code? Open in Web Editor NEW
477.0 32.0 31.0 11.03 MB

AquilaOS: UNIX-like Operating System

Home Page: http://aquilaos.com

License: GNU General Public License v3.0

Makefile 3.72% C 91.42% Assembly 0.77% Shell 0.05% Perl 0.10% C++ 0.05% Objective-C 0.05% Roff 3.78% Pawn 0.06%
operating-system kernel aquila-os unix os osdev

aquila's People

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

aquila's Issues

Tell us more about your intentions

I think you need to specify what's on your mind for that OS, and what are your next steps, so people can help, and also maybe choosing a way of communicating is a good thing also

Is project closed?

The last commit was on October 26, 2019. Has the project stopped its development?

use `make -j $(nproc)` instead of `make` in `build.sh`

building binutils and gcc takes so much time man ๐Ÿ˜„ and life is short.
using -j $(nproc) should make it much faster.

I'm trying that on my machine right now and will pull request if it builds with no issues.

`x86_irq_mask()` fails to mask the master PIC properly

Hello @mohamed-anwar , it's been a long time :)

I hope everything is fine on your side!

I was looking at the implementation of the 8259 Programmable Interrupt Controller (kernel/arch/i386/platform/misc/pic.c) and found what is probably small typo or copy/past error that alters the behaviour of the x86_irq_mask() function.

/* The mask value currently on slave:master */
static uint16_t pic_mask = 0xFFFF;

void x86_irq_mask(int irq)
{
    if (irq < 8) {  /* Master */
        pic_mask |= 1 << irq;
        io_out8(&master,  PIC_DATA, (pic_mask >> 8) & 0xFF);
    } else if (irq < 16) {  /* Slave */
        pic_mask |= 1 << irq;
        io_out8(&slave,  PIC_DATA, (pic_mask >> 8) & 0xFF);
    } else {
        panic("Invalid IRQ number\n");
    }
}

The mask given to the master PIC looks like it's the one of the slave.

Good luck in your study and on your work on Aquila,

Arignir

website grammar error

The header at the website that says

How Does It Look Like

should either be

What Does It Look Like

or

How Does It Look

See e.g. this.

Great project otherwise, keep it up :)

IBM XT 8086

Hi,

You never say if it is 32 bit operating system. That needs to be clarified.
I would like to see a 16 bit version. This way I can try it on my vintage 16 bit computer with 640 kb RAM.

You can try these 16 bit compilers:

16 bit os that allows for programs to be easily written or ported will be fun.

Is it x86_64 or itanium

In the README you name IA64 as one of the goals, is it a misspelling for amd64/x86_64 or is it genuinely IA64, aka itanium ?
If its the latter, why?

Could Aquila fit on a 1.44MB or 2.88MB floppy?

Good day, @mohamed-anwar and @nagyation . Please tell, could Aquila fit on a 1.44MB or 2.88MB floppy? Even today the floppies are still being used, for example - as virtual floppies inside the coreboot open source BIOS. Just imagine: your wonderful OS could be a part of someone's BIOS build! (for coreboot supported motherboard, maybe you have or could get one - see https://www.coreboot.org/Supported_Motherboards )

If you already have a coreboot-supported motherboard, or a real chance to get one, - wouldn't it be cool to be able to launch your own OS straight from the BIOS chip? ;) With one simple command its possible to add any floppy to coreboot BIOS build - and then you see it as a boot entry! Multiple floppies could be added this way (as long as you have enough space left inside the BIOS flash chip, luckily LZMA compression could be used for the stored floppies to reduce their occupied size)

So far I see ~10MB images at your Aquila releases, but could their contains be compressed for a floppy, maybe not 1.44MB but an 2.88MB one?

Nuklear on Microwindows on Aquila

Hi!

I ended up looking at your AquilaOS last week and found it well written. Then, I got redirected to your website and read a few of your articles... and found out about Nuklear. Wow what a super good-looking and capable immediate mode GUI!!! I immediately started thinking that I should port it to Microwindows, my small framebuffer-based graphical windowing system, and consider how it could be made the standard UI for that platform. Now, a week later, I have completed the initial port, and have had some great ideas about the next steps to make this work as a completely client/server environment where each process would have its own Nuklear context, but have the drawing all performed by Microwindows, which runs on top of raw frame buffer, X11, SDL, etc. This seemed to be what you were looking for in your blog articles, and this may be a way to do it without basically having to write a windowing system all over again, but still get the benefits of a standard UI for Aquila. We have a terminal emulator also for shell tasks.

I'm not sure if you're interested, but if so, I'd be happy to talk about how each Nuklear "app" could run as as separate process, while still looking exactly as though they all currently are implemented within one window.

I've attached a screenshot showing the standard MIcrowindows window frame, with Nuklear running inside it, as a single process for the moment. The window frame will be replaced with one differently drawn that will exactly resemble the internal Nuklear frame, but with the Nuklear application's window flags set to no titlebar, no border, no minimize or close box, an no movement. When the user drags the Microwindows frame around, it will look like Nuklear moving it but the windowing system will be doing the blit-based window move instead.

-- Greg
Nuklear on Microwindows 1

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.