Hi!

21-Дек-2006 18:22 [EMAIL PROTECTED] (Japheth) wrote to
freedos-devel@lists.sourceforge.net:

>>      Ok, I may discuss at public, if you wish.
J> I do not wish, but all your email addresses are "invalid" and you refused to
J> use the nice EDR-DOS forum.

     Do you try [EMAIL PROTECTED]

>> 1. On your site, program versions nowhere mentioned, only in "news"
>> sometime.
J> no, see http://gra3/Jemm386.html
J> no, see http://www.japheth.de/Jemm386.html

http://www.japheth.de/HX.html
Find "2.1" -> not found

http://www.japheth.de/debxxf.html
Find "2.9.4" -> not found

http://www.japheth.de/dwnload4.html
Find "2.1" or "2.9.4" -> not found

>> 2. I see "Jemm386 ... based on the source of FreeDOS Emm386", but I not see
>> in JEMM normal build subsystem (which was at last included by Michael into
>> latest releases), which allows to compile sources by different compilers
>> with minimal efforts (to customize batch and makefiles).
J> I used a different build system, OW/TC/MSVC/DMC are all supported (with
J> "minimal" efforts :)).

     Where I should specify path to my BC 3.1 or OW compiler (compare:
config.b)? Where described, which options/pathes are required to set, which
options may be changed, and how to do this (compare: config.b)?

     Yes, skilled programmer may trace your makefiles (especially, there are
two makefiles) and develop/modify to own one, which will fit into his
environment, but this is _not_ "minimal" efforts.

>> 3. jemm doesn't includes some patches for emm386, which makes it more
>> compatible with different compilers. For example:
>> -       asm mov ah,function
>> +       asm mov ah,byte ptr [function]
J> I threw away all inline assembly code from the C part.

     In yet only commented, but not removed.

>> 4. I compare latest version with previous to see the differences, and found:
>> This somewhat question of taste, but "je" and "jae" after "cmp" is much
>> better reflects _sense_ (logic) of code and, thus, should make it more
>> readable.
J> All right, but I doubt this is the main reason why not that many people are
J> able to understand the code.

     Of course. But even skilled programmers (at least, me) slow down at
such points and try to understand, whan happen. Especially, they/I should
spend time to mentally translate, that "jnc" here mean "jae" (this
translation is not most trivial task).

>> 6. Is there reason to copy return address?
>>     XCHG BX,[bp+2]
J> this is debug code to be used this way:
J>      call rprintstr
J>      db "something to print",0

     Oops, sorry, I was inattentive here and not notice, that BX is used.

>> 7. There is code, which may be optimized. For example,
>> *wordout+*byteout+*nibout. Or:
>>  @@ok:
>>         mov   AH,0  ; everything OK and finished
>> +    clc

@@ok:
  xor ah,ah ; everything OK and finished
  ;clc

>> [...]
>>         inc al                  ;4 extra bytes for size + checksum?
>>         shl al,2                ;4 bytes (makes Kyrandia 3 work [better]!?)

  inc ax ; this is shorter, than "inc al"
  shl al,2

>> [...]
>> +       cmp     eax,edx                 ; ensure no overflow from improper
>> current value
>>         ja      @@noadj2
>> +       mov     eax,edx
>>  @@noadj2:
>> +       sub     eax,edx                 ; max - used == max available

  sub eax,edx
  jae @@noadj2
  xor eax,eax
@@noadj2:

J> ??? I dont get it

     See above.

>> +void fmemset(char far *s1, char c, int count)
>>  void fmemcpy(char far *s1,char far *s2,int len)
J> optimising the C part is irrelevant IMO

     Why not?

>> 8. Same (about conditional jumps after cmp and about optimization) with
>> DEBUG, which you change. I compare 99i with 99g and found:
>> +ii:
>> +       mov bl,0
>>> +    mov ah,al
>>> +       and ah,TOUPPER

  mov ah,TOUPPER
  and ah,al

>> +       cmp ah,'W'
>>> +    jne ii_1
>>> +    inc bx
>>> +    call skipwhite
>>> +    jmp ii_2
>> +ii_1:
>> +    cmp [machine],byte 3
>> +    jb  ii_2
>> +       cmp ah,'D'
>> +    jne ii_2
>> +    inc bx
>> +    inc bx
>> +    call skipwhite
>> +ii_2:
>> +       call    getword         ;get word into DX
>> [...]
>>> +    cmp bl,1
>>> +    jz ii_3
>>> +    cmp bl,2
>>> +    jz ii_4
>>         in      al,dx
>>         call    hexbyte
>> +    jmp ii_5
>> +ii_3:
>> +       in ax,dx
>>> +       call    hexword
>> +    jmp ii_5
>> +ii_4:
>> +       in eax,dx
>> +    push ax
>> +    shr eax,16
>> +       call    hexword
>> +    pop ax
>> +       call    hexword
>> +ii_5:

ii:
        mov bl,0
    mov ah,TOUPPER
        and ah,al
        cmp ah,'W'
    je ii_w
    cmp [machine],byte 3
    jb  ii_getw
        cmp ah,'D'
    jne ii_getw
    inc bx
ii_w:
    inc bx
    call skipwhite
ii_getw:
        call    getword         ;get word into DX
        call    chkeol          ;expect end of line here
    ; bx=0/1/2 for byte/word/dword
    dec bx
    je ii_inw ;=1
    jg ii_indw ;=2
        in      al,dx
        call    hexbyte
    jmp ii_put
ii_inw:
        in ax,dx
    jmp ii_hexw
ii_indw:
        in eax,dx
    push ax
    shr eax,16
        call    hexword
    pop ax
ii_hexw:
        call    hexword
ii_put:
        call    putsline
iiret:  ret

>> [...]
>> +       cmp     byte [fileext],0
>>> +       jnz     ll4

  jne

>> [...]
>> +oo:
>> +       mov bl,0
>> +    mov ah,al
>> +       and ah,TOUPPER
>> +       cmp ah,'W'

     Same, as for "ii".

J> ??? Please try to express yourself more clearly

     See above. If you wish, I prepare diff-file.

>> PS: I jemm may completely replace ms-emm386 and, for example, compatible
>> with W9x?
J> it won't run with w9x, it does not completely replace ms-emm386.

     Pity. :(

-------------------------------------------------------------------------
Take Surveys. Earn Cash. Influence the Future of IT
Join SourceForge.net's Techsay panel and you'll get the chance to share your
opinions on IT & business topics through brief surveys - and earn cash
http://www.techsay.com/default.php?page=join.php&p=sourceforge&CID=DEVDEV
_______________________________________________
Freedos-devel mailing list
Freedos-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/freedos-devel

Reply via email to