Back to home page

DOS ain't dead

Forum index page

Log in | Register

Back to the forum
Board view  Mix view

BIG "C" compiler cmp | the "scientific" facts ore out DW (Developers)

posted by RayeR Homepage, CZ, 10.03.2008, 17:55

> ZERO-based: base of CS, DS and SS is ... yeah ... ZERO 0 ;-)

Mean CS,.. descriptor base is 0 so then program must be loaded to some higher address to not destroy lowmem.

> ZERO:
> + Easy access to whole memory, incl. low memory and VESA LFB

I don't see this as big problem. DJGPP has functions like dosmemget(?) and movedata which do it for me.

> + Better compatible with DeLL-hell ???

What's wrong with dell?

> - Faulty C pointers can damage low memory

Understand.

> NON-ZERO:
> - Need hacks to access low memory and VESA LFB

what hacks? there are regular function for this.
1) DPMI allocate selector/descriptor
2) fill base&limit with LFB address&size-1
3) use movedata for copying offscreen buffer

> physical: NO , not even DPMI supports this fully: map: YES , allocate: NO
> :-(

Why do you need allocate physical memory? The usual thing is you need to use
existing memory mapped buffer in hardware to access from your program. Then you create descriptor to this area.

> With ZERO-base, accessing VGA or VESA is as easy as:
>
> [code] ; Assume DS=ES , ZERO based

Nice example. But DJGPP also has a functions for acessing VGA VRAM with near pointers so it is fast as possible.

---
DOS gives me freedom to unlimited HW access.

 

Complete thread:

Back to the forum
Board view  Mix view
22747 Postings in 2119 Threads, 402 registered users, 139 users online (0 registered, 139 guests)
DOS ain't dead | Admin contact
RSS Feed
powered by my little forum