Back to home page

DOS ain't dead

Forum index page

Log in | Register

Back to the board
Thread view  Mix view  Order
ecm

Homepage E-mail

Düsseldorf, Germany,
29.10.2025, 12:28
 

Dokuwiki on pushbx.org: Review of iniload control flow (Developers)

I recently added then edited a page at https://pushbx.org/ecm/dokuwiki/review_of_iniload_control_flow

I'd like to know whether anyone is interested in articles like this one? (I'm the only user allowed to edit pages on this dokuwiki instance, so it isn't much of a "wiki".)

---
l

Japheth

Homepage

Germany (South),
31.10.2025, 13:21

@ ecm

Dokuwiki on pushbx.org: Review of iniload control flow

> I'd like to know whether anyone is interested in articles like this one?

Since all links result in "unautorized access", the article is a bit mysterious ...

---
MS-DOS forever!

ecm

Homepage E-mail

Düsseldorf, Germany,
31.10.2025, 14:42

@ Japheth

Dokuwiki on pushbx.org: Review of iniload control flow

> > I'd like to know whether anyone is interested in articles like this one?
>
> Since all links result in "unautorized access", the article is a bit
> mysterious ...

https://pushbx.org/ecm/dokuwiki/blog/pushbx/2025/1...ymous_sign_in_now_required_for_the_hgweb_server

---
l

rr

Homepage E-mail

Berlin, Germany,
31.10.2025, 14:43

@ Japheth

Dokuwiki on pushbx.org: Review of iniload control flow

> Since all links result in "unautorized access", the article is a bit
> mysterious ...

You need to enter username anonymous and any non-blank password. See this message.

---
Forum admin

Japheth

Homepage

Germany (South),
04.11.2025, 18:08

@ ecm

Dokuwiki on pushbx.org: Review of iniload control flow

> I'd like to know whether anyone is interested in articles like this one?

A bit of criticism, using an example:

The following text "explains" the linked code below:

Prepare relocator running. Zero di and si. Subtract current cs from cx (old lsvLoadSeg), calculating how many paragraphs to be relocated. Set bx to paras(64 KiB). Set ax to cx. If ax indicates less than or equal to 64 KiB are already loaded, leave cx as is. Else set cx to paras(64 KiB) from bx. Subtract cx from ax, leaving ax as either zero or how many paragraphs to be relocated beyond the first 64 KiB. Shift left cx thrice to convert from amount paragraphs to amount words. Jump to the relocator using a retf instruction.


        xor di, di      ; word [ss:sp+4]:di -> where to relocate to
        xor si, si      ; ds:si = cs:0
                        ; cx => after end of loaded data
        sub cx, bx      ; length of currently loaded fragment
        mov bx, 1000h   ; = amount paragraphs per 64 KiB
        mov ax, cx      ; = amount paragraphs to relocate total
        cmp ax, bx      ; > 64 KiB ?
        jbe @F          ; no, do entire relocation at once -->
        mov cx, bx      ; yes, first relocate the first 64 KiB
@@:                     ; cx = amount paragraphs to relocate first
        sub ax, cx      ; ax = amount paragraphs to relocate later
        shl cx, 1
        shl cx, 1
        shl cx, 1       ; how much to relocate first,
                        ;  << 3 == convert paragraphs to words
        retf            ; jump to relocator


IMO the text is way too technical and low-level, more or less just repeating the comments of the code part.

---
MS-DOS forever!

Back to the board
Thread view  Mix view  Order
22778 Postings in 2122 Threads, 402 registered users (0 online)
DOS ain't dead | Admin contact
RSS Feed
powered by my little forum