Skip to content

Releases: j12bates/House-DOS

NATE v0.1.1

18 Feb 00:49
2db9299
Compare
Choose a tag to compare

One of the most important features of a system, program input/output, has been implemented in the form of a buffer. This I/O buffer can be read from/written to through system calls. Programs do not need to worry about keeping track of a their position or output length, as this is all handled by the kernel, though there are system calls for reading/writing manually.

Alongside this feature comes redirection, which allows for specifying a file to direct output to, or a file to take input from. If you wanted to save the help contents to a file, you could use HELP > FILE.TXT. Want to append it to a pre-existing file? Run HELP >> FILE.TXT to append to the existing file contents. Similarly, input redirection allows for a file to use as input to be specified. This uses the < character.

Another added feature is piping. This allows for program output to be preserved and used as another program's input, all in one command. To get the current timestamp and open it in the editor, one could use DATE | EDIT. There is no limit to the number of pipelines that can be used, and parameters and flags can be set for each individual program.

The final addition was device files, a means of accessing certain devices through loading/writing specific files. The devices implemented are the console and a user-buffer, accessible through the files TTY.DEV and MEM.DEV respectively. NUL.DEV produces nothing when read and does nothing when written to.

To make writing between device files easier, the R command was added. It does no processing, and effectively acts as a dummy command, so that both forms of redirection can be used. For example, the command to take input from the console and write it to the user buffer would be R < TTY.DEV > MEM.DEV.

NATE v0.1

05 Jan 08:04
984b050
Compare
Choose a tag to compare

A text editor has finally been introduced! New to House-DOS NATE v0.1 is a full and complete text editing program. In contrast to the old WRITE program, this editor allows blank lines, lines of any length, and moving between lines. In addition, it uses an INSERT mode rather than overwriting characters. Also, it features CUT, COPY, PASTE and DELETE line functions.

Another new feature is the interface configuration register, a byte in the kernel that can be modified using a system call, and controls whether any commentary or error messages show up onscreen, as well as whether hidden files should be shown. In addition to being accessible through a system call, the kernel can be used to set the default value for that register. Don't want error messages to show up by default? Use SYS $E.

I mentioned hidden files, another new-ish feature. Hidden files have been dealt with in the past, but as of then, there was no way to actually hide a file. That has been implemented as both a system call and the HIDE command. They function similarly to deleting a file, as these "visibility changes" also count as "filesystem changes" and must be applied.

Also new is the CLEAR command, for clearing the screen. Finally, new system calls were added to return informational strings (OS Version, Creator, CPU Branding), and INFO has been updated to use them rather than keeping a copy. We hope you enjoy this now usable release of House-DOS!

NATE v0.0.3

20 Dec 07:42
e112ed3
Compare
Choose a tag to compare

House-DOS NATE v0.0.3 features new command headers that allow you to get metadata from a program. If you don't know how to correctly use a command, like FILE, you can access the usage information (help) like this: FILE %U. In the same way, you can see who created the program with FILE %C, or get a brief description on what it is with FILE %D.

There are many new system calls for simplifying tasks that would take many different steps. If you just want to load the file given in the first parameter, instead of copying it to a buffer, verifying and loading it, you can just use one system call in only two instructions. (The file will be verified in the process.) If you just want to print out a number in decimal, rather than doing a conversion to a buffer and then printing, you can also just use a single system call.

The new HEXDUMP command will dump a file as ASCII and hex. The existing PRINT BYTES system call was updated to print out backspaces as normal characters, and a new system call was made to do the same with newline characters. Sorry for the broken calculator in v0.0.2; that has been fixed.

NATE v0.0.2

27 Nov 07:16
5f473cc
Compare
Choose a tag to compare

House-DOS NATE v0.0.2 features new commands that allow for entering in filenames or numbers as parameters. Instead of typing COPY, SRC.TXT, then DEST.TXT, you can now do it all in one, like this: COPY SRC.TXT DEST.TXT. In addition, using the calculator is easier than ever: CALC 23 - 16.

Another new feature is command flags. They allow for specific criteria to be set, and let the command handle the rest. If you only care about the creation and write times of a file, use flags like this: FILE $CW DOC.TXT. If you want to delete a file and then apply changes immediately, use flags like this: DELETE $A DOC.TXT.

The CAT command now actually concatenates files, by means of a new system call that allows for loading a file to ANY index in the file buffer. Also, both of the features mentioned above are available through system calls as well.

NATE v0.0.1

20 Oct 08:02
3216852
Compare
Choose a tag to compare

More file operations make House-DOS NATE v0.0.1 much more usable. You can now copy, rename, and delete files, as well as show a list of files, or properties of a file in particular. Numerous new system calls are now available for development, including calls for drawing blocks of colored text, playing sound on the PC speaker, and calls dealing with time and date.