This forums is for OS project announcements including project openings, new releases, update notices, test requests, and job openings (both paying and volunteer).
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:
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.
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?
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:
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.
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.
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).
"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).