1. New DOS-Interpretable formats...

------=_NextPart_000_3d262975_64eaebfc$583b6229

Hi,

As maby some of you may know, a couple of months ago I worked on
as R.Craig calls it "Simple DLL compiler/loader", the RWL2-Libraries.
This was created as a beginning to have more flexibility to DOS programms,
especiallly for the OS/Shell I'm trying to create.
Now I have the courage to create an executable/interpretable type of this
flexibility.
Please have a look at the structure of the file I'm creating, till now it's
very easy and possible. See attachment (Text file don't worry)

I don't expect everyone can understand my writing style, but anyone who can
please give me some suggestions that's very hard in
ASM/Mach to create compared to Euphoria.
(Any comments on my English are also welcome as always.)

Thanks,
PQ
________________________________________________________________________
Get Your Private, Free E-mail from MSN Hotmail at http://www.hotmail.com

------=_NextPart_000_3d262975_64eaebfc$583b6229
Content-Transfer-Encoding: 8bit

new topic     » topic index » view message » categorize

2. Re: New DOS-Interpretable formats...

------=_NextPart_000_1b754dad_1e4d8801$75a1175

Hy,

It's a bit quiet here on the list, well anyway...
I got here some brainwaves of my own and improved some
on my format...
Here's the new structure...
I started writing the interpreter, and it's incredibly easy...
So please help me out here, read the structure and give me some
more input.

Also any thoughts about the compiler?

Thanks,
PQ
________________________________________________________________________
Get Your Private, Free E-mail from MSN Hotmail at http://www.hotmail.com

------=_NextPart_000_1b754dad_1e4d8801$75a1175
Content-Transfer-Encoding: 8bit

new topic     » goto parent     » topic index » view message » categorize

3. Re: New DOS-Interpretable formats...

On Sat, 29 Jul 2000 14:24:52 PDT, Patrick Quist <quistnet at HOTMAIL.COM>
wrote:

>Hy,
>
>It's a bit quiet here on the list, well anyway...
>I got here some brainwaves of my own and improved some
>on my format...
>Here's the new structure...
>I started writing the interpreter, and it's incredibly easy...
>So please help me out here, read the structure and give me some
>more input.
>
>Also any thoughts about the compiler?
>


   PQ

   I don't think it because the list is quiet.

   I know for me I don't understand what you are doing in your code.

   I have looked at your RWL2 and had a tough time trying to understand

   how that works ?

   I understand assembler but do not see what you are trying describe

   in your posted code ?

   Thanks Bernie

new topic     » goto parent     » topic index » view message » categorize

4. Re: New DOS-Interpretable formats...

Hello Patrick,
      Suppose that you write the ID of a var in ASCII, you can only
      have ten vars.. or if you write it like a byte (HEX) you can
      only have 255 (FF) and this can happen with all the routines
      with numbers that you only give a 1 byte length

--
Best regards,                            ICQ Number: 3198249
 Caballero Rojo                          mailto:pampeano at rocketmail.com

Saturday, July 29, 2000, 11:24:52 AM, you wrote:

PQ> Hy,

PQ> It's a bit quiet here on the list, well anyway...
PQ> I got here some brainwaves of my own and improved some
PQ> on my format...
PQ> Here's the new structure...
PQ> I started writing the interpreter, and it's incredibly easy...
PQ> So please help me out here, read the structure and give me some
PQ> more input.

PQ> Also any thoughts about the compiler?

PQ> Thanks,
PQ> PQ
PQ> ________________________________________________________________________
PQ> Get Your Private, Free E-mail from MSN Hotmail at http://www.hotmail.com



__________________________________________________
Do You Yahoo!?
Talk to your friends online with Yahoo! Messenger.
http://im.yahoo.com

new topic     » goto parent     » topic index » view message » categorize

5. Re: New DOS-Interpretable formats...

Hy,

Yeah, I also thought about the ID's of the variables and
at first I had only 26x26 combinations {'A'-'Z','A'-'Z'}.
I replaced that with 1Byte which can hold Id's of 256 variables
and is a lot easier to interpret and faster.
I don't think anyone uses more than 256 vars which can be
Integers and 1D-Sequences. Anymore than 256 Procedures would
also be absolete, right?

I'm glad someone understood it.

Thanks,
PQ

>From: Caballero Rojo <pampeano at ROCKETMAIL.COM>
>Reply-To: Caballero Rojo <pampeano at rocketmail.com>
>To: EUPHORIA at LISTSERV.MUOHIO.EDU
>Subject: Re: New DOS-Interpretable formats...
>Date: Sun, 30 Jul 2000 02:45:03 -0300
>
>Hello Patrick,
>       Suppose that you write the ID of a var in ASCII, you can only
>       have ten vars.. or if you write it like a byte (HEX) you can
>       only have 255 (FF) and this can happen with all the routines
>       with numbers that you only give a 1 byte length
>
>--
>Best regards,                            ICQ Number: 3198249
>  Caballero Rojo                          mailto:pampeano at rocketmail.com
>

________________________________________________________________________
Get Your Private, Free E-mail from MSN Hotmail at http://www.hotmail.com

new topic     » goto parent     » topic index » view message » categorize

6. Re: New DOS-Interpretable formats...

> I started writing the interpreter, and it's incredibly easy...
what kind of interpreter? like eu.ex?

new topic     » goto parent     » topic index » view message » categorize

7. Re: New DOS-Interpretable formats...

Hy,

I'm glad that you say that you don't understand it.
I always wondered why I didn't get so much mail about my projects.
What's the problem?
I know I don't give much comment on my sources, but... Oh well.

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)
- Argument names (3Bytes) + The Register(16 regs (8x8Bit,8x16/32Bit))
- Translating the string-asm to byte-machinelanguage with the help of
  ASM.E by P.Eberlein

What the Interpreter does:
- Read a specific RWL-file
- Poking the procedures to memory
- Assigning values to the registers with the variable names
- Calling the procedure

About the register argumenting:
The first instructions of the procedure are:
MOV REG,XX(XX(XX))
That means the mach-bytes will be:
8Bit: {176-183,Value}
16Bit: {184-191,ValueB1,ValueB2}                  AM
32Bit: {184-191,ValueB1,ValueB2,ValueB3,ValueB4}  PM

The MTCLib is a bit more complicating, so that's a subject
for the next time maby?

Bye,
PQ


>From: Bernie <xotron at PCOM.NET>
>Reply-To: Euphoria Programming for MS-DOS <EUPHORIA at LISTSERV.MUOHIO.EDU>
>To: EUPHORIA at LISTSERV.MUOHIO.EDU
>Subject: Re: New DOS-Interpretable formats...
>Date: Sat, 29 Jul 2000 18:42:05 -0400
>
>    PQ
>    I don't think it because the list is quiet.
>    I know for me I don't understand what you are doing in your code.
>    I have looked at your RWL2 and had a tough time trying to understand
>    how that works ?
>    I understand assembler but do not see what you are trying describe
>    in your posted code ?
>    Thanks Bernie

________________________________________________________________________
Get Your Private, Free E-mail from MSN Hotmail at http://www.hotmail.com

new topic     » goto parent     » topic index » view message » categorize

8. Re: New DOS-Interpretable formats...

Hy,

>From: ©koda <tone.skoda at SIOL.NET>
>Reply-To: Euphoria Programming for MS-DOS <EUPHORIA at LISTSERV.MUOHIO.EDU>
>To: EUPHORIA at LISTSERV.MUOHIO.EDU
>Subject: Re: New DOS-Interpretable formats...
>Date: Sun, 30 Jul 2000 02:09:17 +0200
>
> > I started writing the interpreter, and it's incredibly easy...
>what kind of interpreter? like eu.ex?

Well, no it doesn't read Euphoria files, just the compiled MTCLibs,
but the compiler should have some more options to process Euphoria
things.

Bye,
PQ
________________________________________________________________________
Get Your Private, Free E-mail from MSN Hotmail at http://www.hotmail.com

new topic     » goto parent     » topic index » view message » categorize

9. Re: New DOS-Interpretable formats...

On 30 Jul 2000, at 4:17, Patrick Quist wrote:

> Hy,
>
> Yeah, I also thought about the ID's of the variables and
> at first I had only 26x26 combinations {'A'-'Z','A'-'Z'}.
> I replaced that with 1Byte which can hold Id's of 256 variables
> and is a lot easier to interpret and faster.
> I don't think anyone uses more than 256 vars which can be
> Integers and 1D-Sequences. Anymore than 256 Procedures would
> also be absolete, right?

<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.

On 30 Jul 2000, at 4:43, Patrick Quist wrote:

> Hy,
>
> I'm glad that you say that you don't understand it.
> I always wondered why I didn't get so much mail about my projects.
> What's the problem?
> I know I don't give much comment on my sources, but... Oh well.
>
> 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 ?

> - Argument names (3Bytes) + The Register(16 regs (8x8Bit,8x16/32Bit))
> - Translating the string-asm to byte-machinelanguage with the help of
>   ASM.E by P.Eberlein
>
> What the Interpreter does:
> - Read a specific RWL-file
> - Poking the procedures to memory
> - Assigning values to the registers with the variable names
> - Calling the procedure

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.

<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>

Kat

new topic     » goto parent     » topic index » view message » categorize

10. Re: New DOS-Interpretable formats...

----- 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 message » categorize

11. Re: New DOS-Interpretable formats...

On 31 Jul 2000, at 1:49, PQ wrote:

> ----- 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

<snip>

> 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.

No attack intended. Experience prompting intended. smile

> 32Bits Enough?

I expect so!

> 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...

I get carried away sometimes...

<snip>

> > <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.

And time. I thought i'd look at linux, they say it works, and Eu runs on it..

Kat

new topic     » goto parent     » topic index » view message » categorize

Search



Quick Links

User menu

Not signed in.

Misc Menu