Skip to content
This repository has been archived by the owner on May 29, 2018. It is now read-only.

Floppy Driver #4

Open
noxer opened this issue Jan 3, 2013 · 10 comments
Open

Floppy Driver #4

noxer opened this issue Jan 3, 2013 · 10 comments
Labels
Milestone

Comments

@noxer
Copy link
Member

noxer commented Jan 3, 2013

Create driver for "M35FD".
http://dcpu.com/floppy-drive/

@rustyoz
Copy link
Contributor

rustyoz commented Jan 29, 2013

is this going to be just to abstract the hardware interrupts to kernel calls or include the file system?

@noxer
Copy link
Member Author

noxer commented Jan 29, 2013

It will abstract the hardware and offer a device file for accessing the floppy disk.

@aponigricon
Copy link
Contributor

Oh, wait is the goal to avoid abstractions, or transparency? Or are you guys trying to abstract everything completely? D:

@noxer
Copy link
Member Author

noxer commented Feb 3, 2013

Device files are a great way to offer an unique interface for all kinds of hardware.

@aponigricon
Copy link
Contributor

But wait a second... device files require a file system... which is an abstraction...

Well, my point is that Atlas 2 would be a lot smarter if it could run mere programs written in pure DASM-16 without any... "oddities", such as funny system subroutines, or having to access memory through a system of files and directories. What I'm implying is an exokernel... c'mon at least a partial one 😁

@noxer
Copy link
Member Author

noxer commented Feb 4, 2013

You mean every application should use its own fs and hardware drivers? Why? We define an interface so all applications have access to all devices (without knowing much about them).

@aponigricon
Copy link
Contributor

Nononono 😧

What I'm implying is, that the applications should only be given as many available resources as it craves. For example, a process should only be given abstractions such as for example system interrupts, file system access, or device drivers when it tells the system that it wants them. This could for example be done by the process by including a library of some kind (.DLL?), or having some specific data in the applications file header.
I just think that Atlas 2 would be much more useful to people if they could run raw DCPU-16 programs without having to translate it into something Atlas-compatible first. 😉

@noxer
Copy link
Member Author

noxer commented Feb 4, 2013

You don't need to "translate" it. The OS runs raw programs. There must be some kind of API anyways. You can write wrapper libraries that offer this functionality (and the ABI will include a way of defining them at compile time, so you don't need to load them yourself).

@aponigricon
Copy link
Contributor

Sigh... let me just suggest stuff as we work through this, k? 😉

@noxer
Copy link
Member Author

noxer commented Feb 5, 2013

I encourage you to do so! My plans for Atlas 2 are not perfect but this was one of the parts where all the user space concept rely on. One of the problems in AtlasOS was, that we would have to rewrite large parts of the API when we add new features (new storage media, network connection). I wanted to get rid of that necessity. Thats why I am so rigid in this.

Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
Projects
None yet
Development

No branches or pull requests

3 participants