Re: New DOS-Interpretable formats...

new topic     » goto parent     » topic index » view thread      » older message » newer message

----- Original Message -----
From: Kat <gertie at PELL.NET>
To: <EUPHORIA at LISTSERV.MUOHIO.EDU>
Sent: Sunday, July 30, 2000 7:30 PM
Subject: Re: New DOS-Interpretable formats...


> <klaxon horn> Inexperience alert !
>
> Don't restrict programmers if you don't *need* to, look at what we haveto
live with from
> micro$oft because of hard-coded limitations: 2^16 resources, 2^16 socks
ports, limited
> hardware ports, limited interrupts, hd designations limited to 24, the
infamous 640K
> barrier is alive and well, 64K page limits in VB, hd size limits, time
limits (remember
> Y2K?), etc.. Personally, i have written code with thousands of integers,
in an industrial
> monitor. Since we cannot do function overloading, it's possible someone
may want to
> write more than 256 procedures too. Ditto for functions. What if they
wanna write a
> whole new OS on dos to replace the windoze gui?

> As for the byte being faster to test than the 16bit word or a 32bit word,
if the "compiler"
> is smart, it would use the appropriate machine code and speed would not be
an issue,
> since the comparison is done in hardware in the cpu, and the memory access
speed
> for anything up to 32bits is identical ever since the 486. Even if Eu uses
32bits to store
> 8bits, you are talking about only one more memory access, and that's
prolly from the
> cpu's onboard cache, so i'll accept that 5ns speed drop to get 256x or
2^24x more
> than your proposed 8bit limit any day.

Hmm, good point...
I should have a lot of comment on this, but after a little research I found
that Euphoria can
handle A LOT so I will thank you for this attack.
32Bits Enough?
But don't cheer yet, I really got some comment on your next questions...

> > What RWL2 does?
> >
> > As you can see in the ASM sources there are some things to process
> > by the compiler, there are Procedure names and Argument names.
> > So what the compiler does is:
> > - Procedure names (Max. 8Bytes)
>
> <confused mode> Errrrrr..... 8 BYTES now? i thought it was 8 BITS ?

You could be confused if you mistake RWL2 for MTCL.
The RWL2 project, which started earlier, is a DLL-Kind-of-file.
I gave the procnames a limit of 8Bytes just sort-of random, I could have
used
a 0-terminated string, but I didn't think of that at that time.
Dll-files contain in their binary-state the proc&func names, an executive
file does not.(Except for EU-exec files)

> Have you been able to lock the called procedures so any form of
multitasking doesn't
> grab the cpu and re-enter the procedure? Or inadvertently share the vars?
Since your
> proposed code could be used to enable multithreading with shared libs,
have you
> decided on implementing the task swapping in Eu too?  <intrigued now> That
would be
> great, imo.

You're getting more and more complicated, aren't you...
1st part of my thoughts about this:
Use a flexible taskmanager which executes listed procedures one-by-one in a
loop, you put the MTCL-Interpreter in the taskmanager.
2nd: MTCL-Interpreter works with local taskmanager, it records information
about where and with what it was working the last time it changed to the
next task.

But I do have to ask myself when I want to switch tasks, the easiest seems
just every instruction, but the inline-asm
will be seen as one instruction... The more complicated way would be with
Interrupts, but yes, how in the world
do you know where you were with asm-mach. Another thing with asm-mach would
be seperating the instructions or emulating them, but that's really slow and
don't deny this.
Ooh, and yeah those shared libs, you mean RWL2? Those are completely written
in asm-mach, so the same problem.
(I also have to speed up the call_rwl() codes, it even causes sometimes a
0.1 second delay)

About the vars...
-- With Args, With Ret
Routine1 calls Routine2: Preset current vars to vars of Routine1
Routine2: Leave current vars
-- Without Args, With Ret
Routine1 calls Routine2: Reset current vars
Routine2: Leave current vars
-- Without Args, Without Ret
Routine1 calls Routine2: Reset current vars
Routine2: Reset current vars
-- With Args, Without Ret
Routine1 calls Routine2: Pre-Set current vars to vars of Routine1
Routine2: Reset current vars


I want to ask you to not put your oppinion, about me after this, right ahead
on the table.
I'm not always as inventive or smart as other times.
For example: I added a couple of days ago some sort of security and
virus-protection to a taskmanager.
Sometimes I think I did a brilliant thing, the other time I'm thinking about
on how idiotic I can be with programming.
The OS-Shell is at the moment entirely fixed-positioned, while the
taskmanager is as flexible as can be.
That's why I chose first for the RWL2-Libs, where I found that this wasn't
enough I started thinking about the MTCL.

> <daydreaming mode> Making windoze socks work in dos5.x+/7.x+, being able
to
> dynamically control thread priority, their interrupts, and all the other
vars of the task
> swapper, and have the source code for it in Eu.... <glazed look in eyes>
Rewrite Dos with your own knowledge and you will get there, I'm not
kidding...
You can do anything if you have the strength to write it and do a lot of
research on it.


Thanks,
PQ

new topic     » goto parent     » topic index » view thread      » older message » newer message

Search



Quick Links

User menu

Not signed in.

Misc Menu