OSDev.org

The Place to Start for Operating System Developers
It is currently Thu Mar 28, 2024 3:46 pm

All times are UTC - 6 hours




Post new topic Reply to topic  [ 6 posts ] 
Author Message
 Post subject: Antti's operating system
PostPosted: Fri Dec 21, 2018 9:42 am 
Offline
Member
Member

Joined: Thu Jul 05, 2012 5:12 am
Posts: 923
Location: Finland
This is definitely too early to release anything but it is better to have a reality check every now and then. I am almost sure that external review helps and if I continued for too long without any feedback, it would be harder to tolerate criticism. I try my best to learn from all feedback but there might be some stylistic aspects that are simply part of the project and not likely to change.

If someone likes to test the build system, I would appreciate it. Here is the latest commit message:

Code:
The Dancy source tree is now a little bit more "self-hosting" because
a bootable .ISO is written by a "native" tool. If everything works as
intended, on a Unix-like computer it is possible to build the project:

        git clone https://github.com/Tiihala/Dancy.git
        cd Dancy
        make

It requires that the host system has "nasm" (an assembler) installed
and that the system is capable of building a cross compiler. However,
operating system hobbyists most probably have all prerequisite tools
available by default. The biggest drawback is that building the cross
compiler takes time but this is needed only once. A target "clean" in
the Makefile does not remove the external tools but "distclean" does.

        (No root privileges are needed, and should not be used)

The releases, disk images and the .ISO image, will be:

        release/dancy.iso
        release/fdd720.img
        release/fdd1440.img

I think now the general structure of this project has been defined.

_________________
Undefined behavior since 2012


Top
 Profile  
 
 Post subject: Re: Antti's operating system
PostPosted: Fri Dec 21, 2018 12:58 pm 
Offline
Member
Member
User avatar

Joined: Sat Nov 22, 2014 6:33 pm
Posts: 934
Location: USA
Hi Antti,

This is something that I have gotten a lot of flack over lately, "Why Windows only". Yes, I use Windows (more precisely WinXP), and have never used a *nix box. I tried to install a Linux distro one time and it was a terrible experience. But that is for another story.

I am not saying Windows is better, nor am I saying that Linux is bad, I am just saying that I have Windows (DOS) boxes all around and not a single Linux box. i.e.: No way to build your OS using the instructions you give. (Yes, I could set up a make system using GCC (for Windows/DOS) and try to do it that way...)

I guess what I am trying to get at is, can you include (at least) a zipped down version of fdd1440.img on the git as well, for those of us who don't have a linux box laying around? The ISO would be nice too. If your OS is in the pre-stages, a .zip version of your .ISO can't be more than one or two meg, yes?

Thanks,
Ben
- http://www.fysnet.net/osdesign_book_series.htm


Top
 Profile  
 
 Post subject: Re: Antti's operating system
PostPosted: Fri Dec 21, 2018 2:00 pm 
Offline
Member
Member

Joined: Thu Jul 05, 2012 5:12 am
Posts: 923
Location: Finland
The instructions are for building it on a Unix-like OS but it can be built on Windows too. It is hard to give exact instructions for that platform, but something like this:

Code:
        1. Install "Visual Studio 2017 Community"
        2. Install "clang"
        3. Install "nasm"
        4. Make sure "clang.exe" and "nasm.exe" are in the PATH
        5. Open "Developer Command Prompt for VS 2017"
        6. Navigate to the Dancy source tree
        7. Run nmake


The unique feature is that the same Makefile works. Also, pmake ("FreeBSD") should work.

_________________
Undefined behavior since 2012


Top
 Profile  
 
 Post subject: Re: Antti's operating system
PostPosted: Fri Dec 21, 2018 7:04 pm 
Offline
Member
Member

Joined: Mon Mar 25, 2013 7:01 pm
Posts: 5100
It should also be possible to build it under MSYS2, although it will require some modification to skip building the mingw32 cross-compiler since MSYS2 already provides one.


Top
 Profile  
 
 Post subject: Re: Antti's operating system
PostPosted: Sat Dec 22, 2018 1:55 am 
Offline
Member
Member

Joined: Thu Jul 05, 2012 5:12 am
Posts: 923
Location: Finland
@Octocontrabass, I made some modifications. Then I followed the install instructions and then ran

Code:
        pacman -S make
        pacman -S gcc
        pacman -S nasm


It worked! :)

In general, because I have my own linker I only need object files from the external toolchain (the tools itself are run on the host environment but those should be as portable as reasonably possible).


Attachments:
MSYS2.png
MSYS2.png [ 56.6 KiB | Viewed 3823 times ]

_________________
Undefined behavior since 2012
Top
 Profile  
 
 Post subject: Re: Antti's operating system
PostPosted: Sun Dec 23, 2018 1:19 am 
Offline
Member
Member

Joined: Thu Jul 05, 2012 5:12 am
Posts: 923
Location: Finland
I added the legacy version of my operating system. There is a new floppy disk image, fdd160.img, that has the following geometry:

Code:
"160K 5.25 Inch", 1 head and 8 sectors per track

(the following info is printed when running dy-mcopy with "--verbose")

        Info: bytes_per_sector  512
        Info: cluster_sectors   1
        Info: reserved_sectors  1
        Info: tables            2
        Info: directory_entries 64
        Info: directory_sectors 4
        Info: total_sectors     320
        Info: table_sectors     1
        Info: data_sectors      313
        Info: clusters          313

        Info: data_size         160256
        Info: table_size        473
        Info: cluster_size      512
        Info: total_size        163840


I tested it on DOSBox, but I don't have a real IBM PC. It requires that physical memory from 0x00000 to 0x1FFFF is available. Otherwise it just halts (safe behavior).


Attachments:
in_ia16.png
in_ia16.png [ 49.52 KiB | Viewed 3707 times ]

_________________
Undefined behavior since 2012
Top
 Profile  
 
Display posts from previous:  Sort by  
Post new topic Reply to topic  [ 6 posts ] 

All times are UTC - 6 hours


Who is online

Users browsing this forum: Majestic-12 [Bot] and 24 guests


You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot post attachments in this forum

Search for:
Jump to:  
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group