OSDev.org

The Place to Start for Operating System Developers
It is currently Fri Apr 19, 2024 2:47 pm

All times are UTC - 6 hours




Post new topic Reply to topic  [ 16 posts ]  Go to page 1, 2  Next
Author Message
 Post subject: What else should I add? (Week History)
PostPosted: Thu Nov 28, 2019 10:46 am 
Offline
Member
Member
User avatar

Joined: Tue Mar 06, 2007 11:17 am
Posts: 1225
My OS code is currently at:
http://sourceforge.net/projects/lowest-kernel/

I have added a page with CHM TOC format to make it easier adding elements to an API made of any code that is fully explained/understood:
http://190.53.102.175/api/doc/en/

Only the live code I am currently working on is displayed.


If the IP gets outdated, just look for the current IP in my signature and replace it, and go to the root at (/api/doc/en/).


I have my PC OS with several demonstrative functions already.

It can be booted by a custom MBR or bootloader.

It can be launched from DOS, and it can return like a normal COM program.

I have mode register for CGA/MCGA/EGA/VGA BIOS modes and ModeX.

I have a simple kernel console for standard PS/2 hardware that can interpret very simple built-in commands.

I have functions to beep the speaker.

I have a few time functions with the PIT.

I have 32-bit paging enabled.

I can write to a specific file for typing with the keyboard in the second FAT32 LBA partition if I enable logs with "dsklon".

The most complex that it contains are malloc, calloc, free and a realloc function that currently can only expand blocks (adding shrinking code is not so hard).

-----------------------------------------------------
-----------------------------------------------------
-----------------------------------------------------
-----------------------------------------------------
So what else would you like me to add? Tell me something specific so I can add it to the code and keep asking for other things when I finish this one.

The latest ready to run version is at:
http://sourceforge.net/projects/lowest- ... files/bin/

Just unzip to C:\ in a bootable FAT disk with some sort of DOS/FreeDOS/MS-DOS. You need PS/2 keyboard and MCGA 80x25x16-color text mode support (You can install Windows 98 under Bochs and mount the partition with OSFMount, and boot into safe mode MS-DOS so it can run from pure Real Mode).

_________________
Live PC 1: Image Live PC 2: Image

YouTube:
http://youtube.com/@AltComp126/streams
http://youtube.com/@proyectos/streams

http://master.dl.sourceforge.net/projec ... 7z?viasf=1


Last edited by ~ on Wed Jan 01, 2020 8:59 am, edited 6 times in total.

Top
 Profile  
 
 Post subject: Re: What else should I add?
PostPosted: Thu Nov 28, 2019 11:53 am 
Offline
Member
Member
User avatar

Joined: Fri Oct 27, 2006 9:42 am
Posts: 1925
Location: Athens, GA, USA
GODDESS DAMN IT, LEARN HOW TO USE A FUCKING VCS PROPERLY!

Sorry to get so angry, but seriously, this is ludicrous. It makes you look like an idiot. For your own sake, get your act together about this. If you want a host that is just a place to download from, there are other hosts which you can use which aren't repo hosts, but misusing Sourceforge this way is nearly as bad as when you were misusing Archive.org in the same manner. It puts people off from your work (as if your posts didn't already do that, but whatever) and only adds to your reputation as a crackpot.

Especially since Sourceforge is now automatically blocking downloads from that repo on the basis that the ZIP file in question is infected with malware. Good job!

(For the record, the message which SF gives is "Warning! Malware detected. Download at your own risk." So it would at least let someone download it, it just tells you that it is coming up as infected on their own AV scanner. The More You Know, I guess.)

FFS, use Subversion, or Git, or Mercurial, or Bazaar (is that still supported?), or even DARCS (same question), but please please please don't use Sourceforge if you aren't using some sort of version control! Oh, and don't include executables in your repo, because no one - NO ONE - with even a shred of good sense is ever going to download any unvetted binaries blind.

Oh, never mind, I imagine I am on ~'s Foes List, or if not, that they will continue ignoring me anyway.

(I gave up on using the Foes list myself, as the posts still show up, and curiosity always gets the better of me, so all it does it warn me that I am about to read something absurd - and not the good sort of absurd, either. Oh, well.)

_________________
Rev. First Speaker Schol-R-LEA;2 LCF ELF JAM POEE KoR KCO PPWMTF
Ordo OS Project
Lisp programmers tend to seem very odd to outsiders, just like anyone else who has had a religious experience they can't quite explain to others.


Top
 Profile  
 
 Post subject: Re: What else should I add?
PostPosted: Thu Dec 05, 2019 6:05 pm 
Offline
User avatar

Joined: Mon Apr 30, 2018 2:24 am
Posts: 3
Location: The Stallion project
@OP, not sure what your opinion on centralized services is, but I recommend you look into GitHub as an easy introduction to source control.

VCS = version control system, and is mainly used as a tool to reconcile changes to files in a directory (probably one of the greatest software developments ever). Git is the most common today, and there are about a billion tutorials on how to use it.

Like the above reply said, nobody is going to download a random zip, especially since SourceForge flagged it as malware. It's better to include the source files, along with build instructions. Plus, if you're using VCS, people can contribute, which is good.

_________________
Another OSDev hopeful, just like you.

Project | Github | Twitter | Website


Top
 Profile  
 
 Post subject: Re: What else should I add?
PostPosted: Thu Dec 05, 2019 8:17 pm 
Offline
Member
Member

Joined: Wed Mar 30, 2011 12:31 am
Posts: 676
I downloaded the ZIP, but found it completely useless to actually trying to run your "OS". You claim you have your bootloader, why do I have to install another OS to run yours? If you're going to distribute binaries, they should be usable on their own. Give me a disk image or a floppy or something that boots directly into your OS, not a ZIP with instructions to install FreeDOS.

_________________
toaruos on github | toaruos.org | gitlab | twitter | bim - a text editor


Top
 Profile  
 
 Post subject: Re: What else should I add?
PostPosted: Sat Dec 07, 2019 2:13 pm 
Offline
Member
Member

Joined: Sun Jun 23, 2019 5:36 pm
Posts: 618
Location: North Dakota, United States
Question... if someone claims they've made an OS but requires you to have an existing OS running to, uh, boot that OS... is that OS that they've claimed to make really an OS? Or is it just a glorified computer program? (I'm discounting virtualization in this question.)


Top
 Profile  
 
 Post subject: Re: What else should I add?
PostPosted: Sun Dec 08, 2019 8:01 am 
Offline
Member
Member

Joined: Thu Aug 13, 2015 4:57 pm
Posts: 384
Ethin wrote:
Question... if someone claims they've made an OS but requires you to have an existing OS running to, uh, boot that OS... is that OS that they've claimed to make really an OS? Or is it just a glorified computer program? (I'm discounting virtualization in this question.)

Yes.

An OS is going to require something to load it (BIOS/UEFI), so that part doesn't matter. So it doesn't really matter how it got there, and what extra software is needed, but rather is it operating the system.

At most one could argue that the extra code needed is part of that OS, but if it's really just part of the bootstrap, then it's not relevant. If the extra part is needed during the actual runtime, then it's part of the OS.


Top
 Profile  
 
 Post subject: Re: What else should I add?
PostPosted: Mon Dec 09, 2019 5:48 pm 
Offline
Member
Member
User avatar

Joined: Mon May 22, 2017 5:56 am
Posts: 815
Location: Hyperspace
Anyone remember when Linux booted from DOS? ;) Or the early versions of Windows which used DOS but had their own API. OpenBSD for the Sharp Zaurus loaded a kernel module into the in-Flash Linux which took over like a parasite to load OpenBSD. :p

Re. SF's malware alert, I wouldn't take it too seriously, malware scanning is getting insane. I once saw Win7 *destroy* an old Forth I downloaded without even asking me first. It was Win32Forth; once a respectable product. It just "looked like" malware in some way, so Win7 destroyed it on sight. I downloaded it from SourceForge last year, but Sourceforge didn't complain about it...

~ wrote:
I can write to a specific file for typing with the keyboard in the second FAT32 LBA partition if I enable logs with "dsklon".

Uh... what if I don't have a second FAT32 LBA partition? And... do you mean that's the only file you can write? If yes, then my answer to your question is "Storage, please!" ;)

_________________
Kaph — a modular OS intended to be easy and fun to administer and code for.
"May wisdom, fun, and the greater good shine forth in all your work." — Leo Brodie


Top
 Profile  
 
 Post subject: Re: What else should I add?
PostPosted: Mon Dec 09, 2019 6:22 pm 
Offline
Member
Member

Joined: Wed Mar 30, 2011 12:31 am
Posts: 676
Being able to be booted through another OS is not the same as requiring it.

_________________
toaruos on github | toaruos.org | gitlab | twitter | bim - a text editor


Top
 Profile  
 
 Post subject: Re: What else should I add?
PostPosted: Tue Dec 10, 2019 4:10 am 
Offline
Member
Member
User avatar

Joined: Mon May 22, 2017 5:56 am
Posts: 815
Location: Hyperspace
That's one of my three examples. Any takers for the others? ;) I don't think I've been able to boot OpenBSD on my Z since I installed Uboot.

_________________
Kaph — a modular OS intended to be easy and fun to administer and code for.
"May wisdom, fun, and the greater good shine forth in all your work." — Leo Brodie


Top
 Profile  
 
 Post subject: Re: What else should I add?
PostPosted: Thu Dec 12, 2019 9:02 am 
Offline
Member
Member
User avatar

Joined: Tue Mar 06, 2007 11:17 am
Posts: 1225
I have added a page with CHM TOC format to make it easier adding elements to an API made of any code that is fully explained/understood:
http://190.53.102.175/api/doc/en/

Only the live code I am currently working on is displayed.


If the IP gets outdated, just look for the current IP in my signature and replace it, and go to the root at (/api/doc/en/).

_________________
Live PC 1: Image Live PC 2: Image

YouTube:
http://youtube.com/@AltComp126/streams
http://youtube.com/@proyectos/streams

http://master.dl.sourceforge.net/projec ... 7z?viasf=1


Top
 Profile  
 
 Post subject: Re: What else should I add?
PostPosted: Sat Dec 14, 2019 1:14 pm 
Offline
Member
Member
User avatar

Joined: Fri Oct 27, 2006 9:42 am
Posts: 1925
Location: Athens, GA, USA
eekee wrote:
That's one of my three examples. Any takers for the others? ;)


I recall an OS during the early 1990s called ALYS, written in a language called Parasol, which parasite-booted from DOS. It was a rather odd mix of DOS-like and Unixoid features, and the language was honestly of more interest to me than the OS at the time, as it was meant to be a 'clean up' of C - in some ways presaging things like D and Rust - as well as add language-level support for parallel-processing/threading with monitor-based synchronization. The designer was Bob Jervis, presumably the same Bob Jervis who developed Wizard C, which was bought up by Borland in 1987 and renamed Turbo C (but probably not the Robert Jervis who wrote all the security and espionage related articles which kept showing up when I Googled this topic).

Jervis wrote an article on them both in Dr Dobb's Journal, which I was reading regularly at the time. I did download the ZIP file posted to the magazine's BBS and tried them out a bit, but I never got very far with it. I tried to get in touch with Jervis some time around 1996 or so, when I was one of the people trying (and failing, at least initially, as it looks like there is one now for all the good that does) to launch an alt.os.development newsgroup, but he never got back to me.

Interestingly, when I went to look up the details of this again, I found that Jervis has a Github repo with the latest version of the Parasol language, which he is actively maintaining (he made a push to it yesterday, in fact), should anyone want to, say, write a BabySteps for it ;-)

It also includes all of the old code, both the compiler and the ALYS OS, in the Parasol-1 directory. Looking at the code there, and the code in the current tests directory, I get the impression that the current language is almost entirely different from the one published in 1993 despite keeping the name, though I really can't say for certain. There's no sign of a modern version of ALYS, and the current Parasol compiler has both Windows and Linux versions.

IOW, it was a valid approach at one point, at least, during the days when MS-DOS was still the dominant PC OS. I don't really see it as viable right now, but by the same token, I have little issue with it personally, and honestly it is the least of the problems with Tilde's design choices. The whole project is of the LowEST priority to me.

_________________
Rev. First Speaker Schol-R-LEA;2 LCF ELF JAM POEE KoR KCO PPWMTF
Ordo OS Project
Lisp programmers tend to seem very odd to outsiders, just like anyone else who has had a religious experience they can't quite explain to others.


Top
 Profile  
 
 Post subject: Re: What else should I add?
PostPosted: Sun Dec 22, 2019 8:35 am 
Offline
Member
Member
User avatar

Joined: Tue Mar 06, 2007 11:17 am
Posts: 1225
I have added an easy function to enable or disable blinking in text mode. It will be useful for something like emulating the colors used by ScanDisk, which needs to keep blinking disabled:
http://190.53.102.175/api/doc/viewcode.html#../pc/graphics/VGA/config/NASM/OPCODE__VGA__80x25__text_mode_blinking.asm


I have added the capability to make a realloc() from a big size to a smaller size. Check the following functions:

http://190.53.102.175/api/doc/viewcode.html#../pc/386/paging/v2019/NASM/OPCODE__CPU__x86_32__find_04MB_free_virtual_block_page_disabled.asm

http://190.53.102.175/api/doc/viewcode.html#../pc/386/paging/v2019/NASM/OPCODE__klibc32__free_PG_0.asm

_________________
Live PC 1: Image Live PC 2: Image

YouTube:
http://youtube.com/@AltComp126/streams
http://youtube.com/@proyectos/streams

http://master.dl.sourceforge.net/projec ... 7z?viasf=1


Last edited by ~ on Tue Dec 24, 2019 12:26 pm, edited 3 times in total.

Top
 Profile  
 
 Post subject: Re: What else should I add?
PostPosted: Sun Dec 22, 2019 10:05 am 
Offline
Member
Member
User avatar

Joined: Mon May 22, 2017 5:56 am
Posts: 815
Location: Hyperspace
Reading about Parasol was interesting. :) There's a lot of appeal in a simple OO C-like language with more sensible design choices than C++, and threading and message passing too. I'm not so sure about the speed of its development. Before using it, I'd want to see if the current version is mature enough.

Schol-R-LEA wrote:
IOW, [booting from DOS] was a valid approach at one point, at least, during the days when MS-DOS was still the dominant PC OS. I don't really see it as viable right now, but by the same token, I have little issue with it personally, and honestly it is the least of the problems with Tilde's design choices. The whole project is of the LowEST priority to me.

Mm, yeah. I got into the habit of arguing to protect my interests, but in this case I think I was simply arguing for the excitement, like fighting for fun.

_________________
Kaph — a modular OS intended to be easy and fun to administer and code for.
"May wisdom, fun, and the greater good shine forth in all your work." — Leo Brodie


Top
 Profile  
 
 Post subject: Re: What else should I add? (Week History)
PostPosted: Wed Jan 01, 2020 4:16 pm 
Offline
Member
Member
User avatar

Joined: Tue Mar 06, 2007 11:17 am
Posts: 1225
It seems that I've been able to add full capability to free blocks with a pointer in the middle of the block, and also move virtually (no need to copy contents, only the fragmented pages into a bigger virtual region) for realloc() if a request to increase the block finds that the current virtual block won't fit the bigger block. But I'll need many real tests until adding/correcting details for malloc/realloc/free cools down by itself for a long time:

http://190.53.102.175/api/doc/viewcode.html?#../pc/386/paging/v2019/NASM/OPCODE__CPU__x86_32__find_04MB_free_virtual_block_page_disabled.asm

eekee wrote:
Reading about Parasol was interesting. :) There's a lot of appeal in a simple OO C-like language with more sensible design choices than C++, and threading and message passing too. I'm not so sure about the speed of its development. Before using it, I'd want to see if the current version is mature enough.

Schol-R-LEA wrote:
IOW, [booting from DOS] was a valid approach at one point, at least, during the days when MS-DOS was still the dominant PC OS. I don't really see it as viable right now, but by the same token, I have little issue with it personally, and honestly it is the least of the problems with Tilde's design choices. The whole project is of the LowEST priority to me.

Mm, yeah. I got into the habit of arguing to protect my interests, but in this case I think I was simply arguing for the excitement, like fighting for fun.
Having or translating interesting programs to this language with compilation instructions (and to get the generated assembly) would be what makes possible to learn it firsthand.

_________________
Live PC 1: Image Live PC 2: Image

YouTube:
http://youtube.com/@AltComp126/streams
http://youtube.com/@proyectos/streams

http://master.dl.sourceforge.net/projec ... 7z?viasf=1


Top
 Profile  
 
 Post subject: Re: What else should I add? (Week History)
PostPosted: Fri Jan 03, 2020 1:51 pm 
Offline
Member
Member
User avatar

Joined: Fri Oct 27, 2006 9:42 am
Posts: 1925
Location: Athens, GA, USA
~ wrote:
eekee wrote:
Reading about Parasol was interesting. :) There's a lot of appeal in a simple OO C-like language with more sensible design choices than C++, and threading and message passing too. I'm not so sure about the speed of its development. Before using it, I'd want to see if the current version is mature enough.

Having or translating interesting programs to this language with compilation instructions (and to get the generated assembly) would be what makes possible to learn it firsthand.


I rather expect that eekee figured that out themselves. As did everyone else here with a working brain.

Though what the relevance of 'get[tting] the generated assembly' has is a mystery to me, as it is about as relevant for learning the language as learning how to build an engine block is to learning how to drive - yes, it may prove helpful, but even in the context of OS development it probably won't come up while learning the language.

Also, you might want to learn how to edit out extraneous parts of a quoted post, as more than half of what you quoted was entirely irrelevant to your reply. Just sayin'.

Having said that, I also noticed something in ~'s .sig file which seems... bizarre... to me.

Quote:
http://www.ebay.com/usr/udocproject3 (Updated IP)


Following the link (which goes to Tilde's user page) and then going to the actual product page from there (which I am certain was what Tilde intended to link to; I suppose that the .sig size limit may have influenced that, though if that were the case then why he didn't just use a URL compressor such as TinyURL is beyond me) does indeed confirm that he is selling his library for clearing RAM for US$5.

I am completely at a loss as to this. First off, selling a 'product' like this on eBay seems to be pretty ridiculous - yes, people sell software on the site, but almost exclusively as physical disks, and mostly of software which is no longer generally available (older games and productivity software in particular). It just isn't the usual venue for selling access keys to online software.

Especially when you just posted a link to the source code for said library. Did you think that anyone who saw this wouldn't notice that? Anyone who sees this link here is going to know about your posts here, including this one, and will - if they thought there was any reason to get it - just grab a copy of that code.

Oh, and here's a Pro Tip: if you are going to advertise a product, do it someplace where potential customers will see it, rather than somewhere only potential rivals congregate. Seriously, anyone o n this forum who could have a use for it - and I doubt that there are any around, even among those looking to write a DOS-like OS - would write their own equivalent (if they haven't done so already).

But all of that pales into significance in the face of the real question: do you actually believe that there is anyone out there interesting in paying money for this? Do you actually see a viable market for this as a product?

At least Dawn OS, as absurd as the project might be, is an allegedly complete OS which was (at the time) being sold at about the same price as your one-file library here (IIRC, it was going for something like 2 Dogecoin a copy, which I think was exchanging at about 3:1 USD when Geri was here - not bad for a joke cryptocurrency created solely to play on a meme; he's now changed that to a free download and a request for a donation, which is slightly less hubristic given the 'product' he is offering). When you are being less rational than Geri of all people, you've definitely hit a new low.

Now, if you'll excuse me, I need to wipe the blood which is now gushing from my eyes after trying to read that one source file.

_________________
Rev. First Speaker Schol-R-LEA;2 LCF ELF JAM POEE KoR KCO PPWMTF
Ordo OS Project
Lisp programmers tend to seem very odd to outsiders, just like anyone else who has had a religious experience they can't quite explain to others.


Top
 Profile  
 
Display posts from previous:  Sort by  
Post new topic Reply to topic  [ 16 posts ]  Go to page 1, 2  Next

All times are UTC - 6 hours


Who is online

Users browsing this forum: deblokc, Google [Bot] and 166 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