flat assembler
Message board for the users of flat assembler.

Index > OS Construction > NOS update

Author
Thread Post new topic Reply to topic
nkeck72



Joined: 28 May 2015
Posts: 83
Location: 0000:7C00
nkeck72 25 Sep 2015, 23:26

_________________
It may look hard, but it won't take long if you take it one byte at a time.

NOS: www.github.com/nkeck720/nos
Post 25 Sep 2015, 23:26
View user's profile Send private message Visit poster's website Reply with quote
nkeck72



Joined: 28 May 2015
Posts: 83
Location: 0000:7C00
nkeck72 25 Sep 2015, 23:29
Ok so it won't display the message on my mobile. So, I want devs. More info at https://sourceforge.net/projects/nosanopensourcefasmos/
Post 25 Sep 2015, 23:29
View user's profile Send private message Visit poster's website Reply with quote
Trinitek



Joined: 06 Nov 2011
Posts: 257
Trinitek 27 Sep 2015, 08:38
I've already got commitments, so I won't be applying as a dev. However, I may try writing applications for it once you've got the important API functions implemented. Good luck.
Post 27 Sep 2015, 08:38
View user's profile Send private message Reply with quote
SeproMan



Joined: 11 Oct 2009
Posts: 70
Location: Belgium
SeproMan 27 Sep 2015, 14:24
nkeck72,

I just reviewed the changes you made to KERNAL.ASM and it still has some issues.

At line 46 the MOV BX,1000h should become MOV SI,1000h.

At line 124 the JNE CLEAR_LOOP should become JNE C1.

At line 87 the CALL INTERPRET_CMD should become JMP INTERPRET_CMD. You don't want to just fall through in PROMPT_3.

You can simplify the code at lines [100,109] since they really just put the cursor at (1,0):
Code:
mov dx,0001h
mov ah,02h
int 10h    


You can also simplify the code at lines [80,84] since they really just do a linefeed:
Code:
mov ax,0E0Ah
int 10h    



I also looked at MYOS.ASM and have these few remarks

In the lines 6 and 7 you setup DS=07C0h. This somewhat conflicts with the mention of ORG 7C00h. Luckily this bootloader does not use any DS-related operations.

The lines 11, 12, and 13 are redundant because setting the cursor to (0,0) is part of the preceding SetVideoMode.

_________________
Real Address Mode.
Post 27 Sep 2015, 14:24
View user's profile Send private message Reply with quote
nkeck72



Joined: 28 May 2015
Posts: 83
Location: 0000:7C00
nkeck72 17 Nov 2015, 02:03
I have moved this OS to a GitHub site, where I am doing a complete rewrite of the OS:
https://github.com/nkeck720/nos
Post 17 Nov 2015, 02:03
View user's profile Send private message Visit poster's website Reply with quote
SeproMan



Joined: 11 Oct 2009
Posts: 70
Location: Belgium
SeproMan 22 Nov 2015, 20:52
nkeck72,

I did a quick review of your "kernel.asm"

Line 46 is superfluous because it is followed by an explicite clearing of AH.

Line 51 is impossible to encode. You can't move an immediate value in a segment register.

Lines 51 and 52 are supposed to setup a stack of 512 bytes when I read your memory layout. This is not what you are doing. Use:

Code:
mov ax,07C0h
mov ss,ax
mov sp,512    


Lines 76, 82, 85, 88, 92, and 99 all use CX to address memory. You can't use CX for this purpose. Stick to BX, SI, DI, or BP.

In lines 157 and 158 you must swap AX for BX. The offset goes in the lowest word, the segment goes in the highest word.

Putting an immediate between brackets to obtain a segment addressing won't work!
Don't write things like [2000h:CX] or [0000:21h*4][/list]

Keep up the good work.

_________________
Real Address Mode.
Post 22 Nov 2015, 20:52
View user's profile Send private message Reply with quote
BAiC



Joined: 22 Mar 2011
Posts: 272
Location: California
BAiC 23 Nov 2015, 13:12
Quote:
Lines 51 and 52 are supposed to setup a stack of 512 bytes when I read your memory layout. This is not what you are doing. Use:
wrong. Real Mode code doesn't protect memory so there is no "correct" way of setting up a stack with an explicit length. BTW: there is atleast one good reason to not use what you are providing: unifying the segment registers DS and SS simplify memory transfers.

- Stefan
Post 23 Nov 2015, 13:12
View user's profile Send private message Visit poster's website Reply with quote
nkeck72



Joined: 28 May 2015
Posts: 83
Location: 0000:7C00
nkeck72 01 Dec 2015, 23:37
Thanks guys for the feedback, will change and commit. I have a feedback thread going at http://board.flatassembler.net/topic.php?t=18774, I would appreciate it if you would place any further comments there. Very Happy

I would greatly appreciate it if anyone is interested in becoming a dev to email me or create pull requests on my GitHub site. I have hopes to see this OS grow to something like SmiddyOS or MikeOS, maybe not now but in the future Smile

_________________
It may look hard, but it won't take long if you take it one byte at a time.

NOS: www.github.com/nkeck720/nos
Post 01 Dec 2015, 23:37
View user's profile Send private message Visit poster's website Reply with quote
Display posts from previous:
Post new topic Reply to topic

Jump to:  


< Last Thread | Next Thread >
Forum Rules:
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 vote in polls in this forum
You cannot attach files in this forum
You can download files in this forum


Copyright © 1999-2024, Tomasz Grysztar. Also on GitHub, YouTube.

Website powered by rwasa.