Back to home page

DOS ain't dead

Forum index page

Log in | Register

Back to index page
Thread view  Board view
DosWorld

10.11.2020, 04:40
(edited by DosWorld, 10.11.2020, 16:35)
 

DWED first alpha (Announce)

Hello!

Feeling the lack of text editors for MS-DOS :-D , I made my own. Yes, one more :-) . I published the first version - it looks like it is fully functional, but it seems I forgot to add Tetris (and few other "major" features).

Main features:

* Support files over 64k
* Support syntax highlight (C / Pascal / Asm / Xml / Html / Txt etc)
* Support multiple file editing at the same time
* Support internal clipboard (up to 32k)
* Don't require DPMI-server or 80286 CPU

(was added later) Restrictions:

* This software is writen in Turbo Pascal, so string length is limited to 255 chars.
* DOS-conventional memory will be enought to load file up to ~300k..400k (expect - 300k border).
* No UnDo/ReDo functionality. The reason is the same as why i dont build AST for syntax hightlight - no memory for this.

[image]
(Screenshot added to posting by "rr".)

Home: https://github.com/DosWorld/dwed

PS: Development still in progress, i am use DWED for development, now.
PPS: This is a real development version - for example i don't add "change syntax highlight style" dialog. All other (more useful) features - ok. Just press F1 and read help for more info.
PPPS: This is a result of my butthurt, received from development for DOS under DOS, during last few years.

---
Make DOS great again!

Carthago delenda est, Ceterum censeo Carthaginem delendam esse.

Laaca

Homepage

Czech republic,
10.11.2020, 11:50

@ DosWorld
 

DWED first alpha

I have maybe a feature request ;-)
In many years ago I was writting a game named Jupir 2
As a main level desinging tool I used my own editor for placing sprites into game world.
This editor generated a text file describing the level.
And one day I needed a feature for tight connection with a external program - text editor - which would allow to edit some details just in the textfile level -- not all aspect was possible to edit just from editor itself.

The idea was something like placing the mouse cursor over desired sprite, press Shift-Rmouse button and voila, the text editor appears with cursor on line describing the desired sprite.

The main problem was of course a cooperation between my leveleditor and the ordinal texteditor. I thought that it will be easily solved by arteficial pre-filling the keyboard buffer - running the texteditor and to let him exacute the simulated keystrokes from keyboard buffer.

Suprisingly most of these text editors zeroes the keyboard buffer and I found only one usable text-editor. It was the text editor Boxer.

Everything you can see in the devel package

---
DOS-u-akbar!

DosWorld

10.11.2020, 16:03
(edited by DosWorld, 10.11.2020, 17:45)

@ Laaca
 

DWED first alpha

> I have maybe a feature request ;-)
...
> This editor generated a text file describing the level.

Using text editor as "map editor with tiles" is, definitly, good idea.
I am don't start implement it immidiatly, but i'll keeep it in mind (need think more about it).
I think, it will be good extension.

Personaly me - i have palette editor, tile editor (it is another soft), but have no map editor. So, i, also, have a personal reason to do it.

---
Make DOS great again!

Carthago delenda est, Ceterum censeo Carthaginem delendam esse.

tom

Homepage

Germany (West),
24.09.2022, 19:24

@ Laaca
 

DWED first alpha

> The idea was something like placing the mouse cursor over desired sprite,
> press Shift-Rmouse button and voila, the text editor appears with cursor on
> line describing the desired sprite.

this should be easy to both call and implement (and implement in other something editor/text editor combinations interface) if the text editor allowed something like

DWED SpriteFile.txt -line=1234 -column=18  (-colorscheme=sprite)

rr

Homepage E-mail

Berlin, Germany,
10.11.2020, 11:53

@ DosWorld
 

DWED first alpha

> Feeling the lack of text editors for MS-DOS :-D , I made my own. Yes, one
> more :-) . I published the first version - it looks like it is fully
> functional, but it seems I forgot to add Tetris (and few other "major"
> features).

Please, not another Tetris! :-|
This is a text editor. If I want to play Tetris, I would shell out to DOS and start Tetris from there.

> Main features:
>
> * Support files over 64k
> * Support syntax highlight (C / Pascal / Asm / Xml / Html / Txt etc)
> * Support multiple file editing at the same time
> * Support internal clipboard
> * Don't require DPMI-server or 80286 CPU
>
> [image]
> (Screenshot added to posting by "rr".)

Looks promising. :-) I'll give it a try these days.

---
Forum admin

DosWorld

10.11.2020, 15:18
(edited by DosWorld, 10.11.2020, 18:32)

@ rr
 

DWED first alpha

> This is a text editor. If I want to play Tetris, I would shell out to DOS
> and start Tetris from there.

Yes :-) It was a joke about old-time software. In reality - Tetris will came here, if i want waste time.

> Looks promising. :-) I'll give it a try these days.

Welcome any feedback from everybody!

If somebody have PC with FreeDOS (i have no), please check LFN-functionality in DWED.
Just load or save file with long name - is it works correct with LFN?

Also, if somebody have working source for SVGA-textmode switching - please donate me this source code. (For example, BX=0108h / AX=4F02h / INT 10h - does not work for me). Any way, if you can set this mode with external tool - DWED must work correct in this mode, now. (up to 160x50)

---
Make DOS great again!

Carthago delenda est, Ceterum censeo Carthaginem delendam esse.

Laaca

Homepage

Czech republic,
10.11.2020, 22:27

@ DosWorld
 

DWED first alpha

> Also, if somebody have working source for SVGA-textmode switching - please
> donate me this source code. (For example, BX=0108h / AX=4F02h / INT 10h -
> does not work for me). Any way, if you can set this mode with external tool
> - DWED must work correct in this mode, now. (up to 160x50)

In the past I ripped a textmode manipulating source from dome DOS navigator clone.
It supports the SVGA textmodes and also various non-standard modes.
Look here

---
DOS-u-akbar!

Rugxulo

Homepage

Usono,
10.11.2020, 22:34

@ Laaca
 

DWED first alpha

> In the past I ripped a textmode manipulating source from dome DOS navigator
> clone.
> It supports the SVGA textmodes and also various non-standard modes.
> Look here

What about Japheth's ultra-small SETMXX programs?

rr

Homepage E-mail

Berlin, Germany,
12.11.2020, 23:16

@ DosWorld
 

DWED first alpha

> Welcome any feedback from everybody!

1. It runs fine here. :ok:
2. I'm also not a native English speaker, but I found typos. A very common is "hightlight". It should be "highlight". You could fix this easily by a global search & replace. If you need some help for other typos, I'm glad to assist you.
3. Current color scheme doesn't look well on my screen. Please make colors adjustable. Save setting to EXE or config file.
4. Running DWED on Windows XP sometimes leaves "p p p p p p p p p p p p p p p p" in the editing window after returning from help function. Pressing F1 followed by ESC removes the Ps from the screen.
5. I don't like the highlighting of language keywords in comment blocks. See, e.g., file DWEDHNDL.PAS.
6. DWED says "#5: File access denied", when I try to open a file with the read-only attribute set. You could fall back to a view-only mode by setting FileMode := 0; before calling Reset.

---
Forum admin

DosWorld

13.11.2020, 03:58
(edited by DosWorld, 13.11.2020, 05:18)

@ rr
 

DWED first alpha

> > Welcome any feedback from everybody!
>
> 1. It runs fine here. :ok:

:)

> typos

THANK YOU! (I am sorry)

> 3. Current color scheme doesn't look well on my screen. Please make colors
> adjustable. Save setting to EXE or config file.

Fixed, have a cfg file.

Also added command line parameters.
For example, in config file we can have parameter like

abc=4

this parameter can pass via command line:

dwed.exe /abc=4

or

dwed.exe -abc=4

Command-line parameters have highest priority then params from config file.


> 4. Running DWED on Windows XP

In fact, i am test only in dosbox. WinXp is not primary target, i'll test on real hardware with MS-DOS 6.22 (this is primary target, i think).

> sometimes leaves "p p p p p p p p p p p p p p
> p p" in the editing window after returning from help function. Pressing F1
> followed by ESC removes the Ps from the screen.

Hmm... Ok, need check

> 5. I don't like the highlighting of language keywords in comment blocks.
> See, e.g., file DWEDHNDL.PAS.

This is pain. To make highlight, in right way - need parse source code the same as compiler. Need build Abstract Syntax Tree (AST) and update him follow to user input. But... It will consume >2 times memory. If i do it - i'll have no memory for file content. So, i am do very stupid and fast text analyze - just parse line by line screeen buffer and try search words in dictionary.

I have some expirience, 5 year ago. I have opened into text editor XML-file full work day - i am use it in work, time-to-time need search and read. Editor was near to die because he try do highlight. Xml-file size was just 4mb. Workstation - ubuntu with xeon cpu (1 or 2) and 16gb memory (dev pc). Texteditor - gedit or kwrite. We also test sublime in this way - the same eat 2gb memory and near to die.

So, i dont try think about AST for dos. I can say only one reason for my way - "this is better then nothing". :-(

> 6. DWED says "#5: File access denied", when I try to open a file with the
> read-only attribute set. You could fall back to a view-only mode by setting
> FileMode := 0; before calling Reset.

Thanks, i'll check it.

---
Make DOS great again!

Carthago delenda est, Ceterum censeo Carthaginem delendam esse.

RayeR

Homepage

CZ,
13.11.2020, 18:12

@ DosWorld
 

DWED first alpha

Yeah, handling large XML files is pure evil, a coleague did some parsing via python library and i5 with 16GB RAM was dead... :P

I think that for simple editor is just enough to recognize single line coments leading with # or //. For a low memory footprint you could just limit searching of multiline comments like /* ... */ to searching e.g. one page before current displayed page for the opening /* tag. Also old IDE like Borland turbo C can handle it well...

BTW many editors don't recognize as comment a blocks with #if 0 #endif. I hate this construction and avoid to use it in my code but some people like it...

BTW2 there's opensource library and editor Scintilla that implements all parsing and highlighting headaches that might be ported to DOS and used as core for some editor but of course it's not lightweight for 8086 :)

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

rr

Homepage E-mail

Berlin, Germany,
14.11.2020, 19:42

@ DosWorld
 

DWED first alpha

> > typos
>
> THANK YOU! (I am sorry)

No need to be sorry! We all do our best every day. And together we will make DOS great again! ;-)

(The "hightlight" typo doesn't seem to be fixed so far.)

> > 3. Current color scheme doesn't look well on my screen. Please make
> colors
> > adjustable. Save setting to EXE or config file.
>
> Fixed, have a cfg file.

Works for me. Thanks! :-)

[image]

By the way: For novices it might be useful to have a hint like "F1 Help" in the upper right corner.

By the way 2: Show line-ending style next to "Insert/Overwrite". "CR+LF" for DOS/Windows, "LF" for Unix/Linux/BSD(, and "CR" for Mac).

> Also added command line parameters.
> For example, in config file we can have parameter like
>
> abc=4
>
> this parameter can pass via command line:
>
> dwed.exe /abc=4
>
> or
>
> dwed.exe -abc=4
>
> Command-line parameters have highest priority then params from config
> file.

Works too.

---
Forum admin

DosWorld

15.11.2020, 04:11
(edited by DosWorld, 15.11.2020, 16:12)

@ rr
 

DWED first alpha

> We all do our best every day. And together we
> will make DOS great again! ;-)

:ok:

> (The "hightlight" typo doesn't seem to be fixed so far.)

fixed

> By the way: For novices it might be useful to have a hint like "F1 Help" in
> the upper right corner.

fixed (a little bit not in this way - i don't want lost space at top-line)

> By the way 2: Show line-ending style next to "Insert/Overwrite". "CR+LF"
> for DOS/Windows, "LF" for Unix/Linux/BSD(, and "CR" for Mac).

Uff... I do nothing with it and don't think about (too early - more important features required to be implemented). Just work for general case - that enough (now). 5 days ago - here is no "Save As".

Current state: 0x0d - skip, 0x0a - line delim (at load file time). Save file: in DOS style.

In fact, i have a big pain (with other editors) only in case - open unix-like texts. This texts requires unix2dos conversion and i hate it.

PS: Become another pain - code segment is near to 64k -> big and ugly elephant. Yes, TP/BP have no problem with multiple segments, but code is too many. I hope, code segments will be less 500k. Looks like TP/BP is not best codegenerator - have no code optimization (just don't generate trash). Time to time have help from "with ... do ..." construction, but this is not enough. Watcom C - looks more better, but if start in "retro way" so also need finish in "retro way".

---
Make DOS great again!

Carthago delenda est, Ceterum censeo Carthaginem delendam esse.

rr

Homepage E-mail

Berlin, Germany,
15.11.2020, 19:20

@ DosWorld
 

DWED first alpha

> In fact, i have a big pain (with other editors) only in case - open
> unix-like texts. This texts requires unix2dos conversion and i hate it.

That's why DWED should be able to load these documents w/o a need for unix2dos.

> PS: Become another pain - code segment is near to 64k -> big and ugly
> elephant. Yes, TP/BP have no problem with multiple segments, but code is
> too many. I hope, code segments will be less 500k. Looks like TP/BP is not
> best codegenerator - have no code optimization (just don't generate trash).
> Time to time have help from "with ... do ..." construction, but this is not
> enough. Watcom C - looks more better, but if start in "retro way" so also
> need finish in "retro way".

TP/BP is not ASM. ;-)

---
Forum admin

rr

Homepage E-mail

Berlin, Germany,
14.11.2020, 21:10

@ DosWorld
 

DWED first alpha

> If somebody have PC with FreeDOS (i have no), please check
> LFN-functionality in DWED.
> Just load or save file with long name - is it works correct with LFN?

Doesn't work for me on FreeDOS 1.3 RC3 with DOSLFN loaded. :-(

I created a file with an LFN using Doszip Commander. Specifying this file's name on command line (with or w/o double quotes) or after pressing F3 in DWED gives "File not found". Using Shift+F2 ("Save as") in DWED and specifying an LFN will save the file, but only with an SFN.

---
Forum admin

DosWorld

14.11.2020, 22:42
(edited by DosWorld, 15.11.2020, 01:21)

@ rr
 

DWED first alpha

> Doesn't work for me on FreeDOS 1.3 RC3 with DOSLFN loaded. :-(

Fixed, now (tested within WinXP).

But... TP's "Parameters string API" (ParamStr and ParamCount) does not support parameters with spaces or using quote char.
Will postpone this question - need more think about how to make workaround in right way. i known where it is stored into PSP. Also, need finish current task - "user defined shell run", before start.

PS: Ascii-table, also, can help choose colors (show color for selected hex-code).

PPS: Also, i try open bible.txt (4mb, ~100k lines) in DPMI16-version - ok, work fasten then expect. But dosbox (in DPMI) automaticaly switch CPU speed to 100% cycles (in any DPMI-program). (Sorry for content, i have no other idea where i can download free big text)

---
Make DOS great again!

Carthago delenda est, Ceterum censeo Carthaginem delendam esse.

rr

Homepage E-mail

Berlin, Germany,
15.11.2020, 19:41

@ DosWorld
 

DWED first alpha

> > Doesn't work for me on FreeDOS 1.3 RC3 with DOSLFN loaded. :-(
>
> Fixed, now (tested within WinXP).

Still not working on FreeDOS. :-(

Here is what I do:
1) Run DWED.EXE.
2) Type some random chars.
3) Press Shift+F2.
4) Enter: This is a test.txt

After pressing ENTER key, status line changes to "This is a test.txt", but after leaving DWED, I can only see SFN "THIS IS.TXT". (I use DN2 to see LFNs.)

> But... TP's "Parameters string API" (ParamStr and ParamCount) does not
> support parameters with spaces or using quote char.

Indeed.

> Will postpone this question - need more think about how to make workaround
> in right way. i known where it is stored into PSP. Also, need finish
> current task - "user defined shell run", before start.

You can access the command line in PSP using string(Ptr(PrefixSeg, $80)^)).

Maybe this unit helps you: http://www.retroarchive.org/swag/CMDLINE/0011.PAS.html (Didn't try.)

---
Forum admin

DosWorld

15.11.2020, 20:17
(edited by DosWorld, 15.11.2020, 20:34)

@ rr
 

DWED first alpha

> > > Doesn't work for me on FreeDOS 1.3 RC3 with DOSLFN loaded. :-(
> > Fixed, now (tested within WinXP).
> Still not working on FreeDOS. :-(
> 3) Press Shift+F2.

"Save As" have no LFN-support. Fixed.

Another story: looks like Borland's DPMI16-server does not support LFN (passthru INT 21 for LFN). I try dwed16 with WinXP and have a fail. At the same time - real-mode dwed works with LFN under WinXP.
Need do more research.

PS: dwed16 works stable in Dosbox, but with WinXP - impressive terrible.
I remove all "xor ax,ax | mov ds,ax" and have access with Seg0040 segment-variable (build-in and DPMI-safe), but it not solve all problems.

---
Make DOS great again!

Carthago delenda est, Ceterum censeo Carthaginem delendam esse.

Laaca

Homepage

Czech republic,
15.11.2020, 21:05

@ DosWorld
 

DWED first alpha

> Another story: looks like Borland's DPMI16-server does not support LFN
> (passthru INT 21 for LFN). I try dwed16 with WinXP and have a fail.
> At the same time - real-mode dwed works with LFN under WinXP.
> Need do more research.
>

Of course that Borland's DPMI16 server (RTM.EXE) does not support the LFN. Or to be more correct - it does not support the API translation for LFN routines.
In legacy SFN routines the Borland's server detects that you are trying to call f.e. INT21h/AH=47h (GetCurrentDirectory). RTM.EXE has this call in its database and knows that DOS will use the realmode return buffer at DS:SI so RTM kindly copies realmode DS:SI into your protected mode DS:SI.
It works nice but RTM.EXE has to have the called function in it's database.
LFNs are not in this database.
In such cases you have to use the direct call od DPMI service 300h (simulate realmode interrupt).
The situation applies to VESA BIOS standard.
Look at this my Borland pascal 16-bit PM code:


{$DEFINE _Bez_WinAPI}  {Jestli chces, tak umaz podtrzitko :-)   }


{$IFNDEF Bez_WinAPI}
uses WinAPI;
{$ENDIF}
type DPMIregs=record
      EDI,ESI,EBP,Reserved,EBX,EDX,ECX,EAX:Longint;
      Flags,ES,DS,FS,GS,IP,CS,SP,SS:word;
     end;


{$IFDEF Bez_WinAPI}
Function GlobalDOSAlloc(w:word):longint;assembler;
asm
mov ax,100h
mov bx,w
shr bx,4  {BX se neuvadi v bajtech, ale v tzv. paragrafech. 1 paragraf=16 bajtu}
int 31h
xchg ax,dx
end;


Procedure GlobalDOSFree(w:word);assembler;
asm
mov ax,101h
mov dx,w
int 31h
end;
{$ENDIF}


Procedure DPMI_Preruseni(i:byte;var r:DPMIregs);assembler;
asm
mov ax,300h
xor bx,bx;mov bl,i
xor cx,cx           { nebudu predavat zadny zasobnik }
les di,r
int 31h
end;


Function Segment_Na_Deskriptor(w:word):word;assembler;
asm
mov ax,2
mov bx,w
int 31h
end;


var vyrobce:pchar;
    buffer:array[0..127] of word;
    konv_buffer:longint;
    real_segment:word;
    r:DPMIregs;
    p:pointer;
    pp:^byte;


begin
konv_buffer:=GlobalDOSAlloc(256);
real_segment:=(word(konv_buffer shr 16));
p:=pointer(0);                 {Za tyhle tri radky se omlouvam, ale}
pp:=@p;inc(pp,2);              {nepodarilo se mi to napsat}
move(konv_buffer,pp^,2);       {srozumitelneji}
{-------------------------}
FillChar(r,sizeof(r),0);
r.es:=real_segment;
r.edi:=0;
r.eax:=$4f00;
DPMI_Preruseni($10,r);
{-------------------------}
Move(p^,buffer,256);
buffer[4]:=Segment_Na_Deskriptor(buffer[4]);
{ prevod realmodoveho segmentu na selektor pristupny z protektu }
Move(buffer[3],vyrobce,4);


writeln('Manufacturer of your videocard is: ',vyrobce);
readln;
GlobalDOSFree(word(konv_buffer));
end. 

---
DOS-u-akbar!

DosWorld

15.11.2020, 22:33
(edited by DosWorld, 16.11.2020, 05:26)

@ Laaca
 

DWED first alpha

> Of course that Borland's DPMI16 server (RTM.EXE) does not support the LFN.

Bad news.

> Look at this my Borland pascal 16-bit PM code:

Thank you! I'll try it. :ok:


------------------

Personal my opinion about project future:

1. Finalize user's scripts run
2. Don't not care about DPMI-16
3. Implement EMS/XMS supports in memory manager. I hope, in future, memory manager which work's with multiple chunks of memory will help solve this problem with DPMI.
4. Total bugfix

and... freeze project

5. Start porting to Watcom C (real-mode and normal DPMI-version)
6. ???
7. Push it to FreeDOS :rotfl:

FPC is a little bit different compiler, also i am not sure is fpc allow do step #7 (maintaining/building package must be easy and not so platform-dependent).

---
Make DOS great again!

Carthago delenda est, Ceterum censeo Carthaginem delendam esse.

Laaca

Homepage

Czech republic,
16.11.2020, 18:37

@ DosWorld
 

DWED first alpha

> 5. Start porting to Watcom C (real-mode and normal DPMI-version)
> 6. ???
> 7. Push it to FreeDOS :rotfl:
>
> FPC is a little bit different compiler, also i am not sure is fpc allow do
> step #7 (maintaining/building package must be easy and not so
> platform-dependent).


Why do you want to port your editor into C-language? I don't see any advantage in it.

---
DOS-u-akbar!

DosWorld

16.11.2020, 19:44

@ Laaca
 

DWED first alpha

> Why do you want to port your editor into C-language? I don't see any
> advantage in it.

Syntax is not a reason to switch. Reason - compilers.
This is just a minds.

---
Make DOS great again!

Carthago delenda est, Ceterum censeo Carthaginem delendam esse.

Laaca

Homepage

Czech republic,
17.11.2020, 08:51

@ DosWorld
 

DWED first alpha

> Syntax is not a reason to switch. Reason - compilers.
> This is just a minds.

I think you underestimate the Turbopascal/Borland pascal compilers :-)
Also don't forget that compiler itself is only a part of your development needs.
TP/BP has superb IDE with integrated debugger which makes the bug hunting much easier than a just come commandline compiler.

Anyway - if you are thinking about switching from TP/BP into some 32/bit compiler, you could try Virtual pascal - you have to download the basic package and then a addon for 32-bit DOS target.
Both on the NDN page,
It also has a nice development IDE.

And you might to give a chance to Freepascal. The 2.x.y generation for DOS was frustrating but the new 3.x.y is OK.
But for using FPC comfortably you need a quite powerful computer - at least Pentium III. Better not to use on some retro hardware.

Few years ago I wrote a article about pascal compilers for DOS - it is in Czech language but the Google translator helps :-)
http://laaca.borec.cz/paskomp.htm

---
DOS-u-akbar!

rr

Homepage E-mail

Berlin, Germany,
16.11.2020, 23:02

@ DosWorld
 

DWED first alpha

> 7. Push it to FreeDOS :rotfl:
>
> FPC is a little bit different compiler, also i am not sure is fpc allow do
> step #7 (maintaining/building package must be easy and not so
> platform-dependent).

There is no strict rule about that. Otherwise many old parts of FreeDOS would have to be removed. Even the kernel or FreeCOM, the core components, are not easy to build.

---
Forum admin

rr

Homepage E-mail

Berlin, Germany,
16.11.2020, 23:04

@ DosWorld
 

DWED first alpha

> > > > Doesn't work for me on FreeDOS 1.3 RC3 with DOSLFN loaded. :-(
> > > Fixed, now (tested within WinXP).
> > Still not working on FreeDOS. :-(
> > 3) Press Shift+F2.
>
> "Save As" have no LFN-support. Fixed.

Still not working here.

Found an inconsistency: After specifying the new name and pressing ENTER, DWED writes "Saving NONAME.TXT" for a second. So it uses the old name for that message.

---
Forum admin

DosWorld

17.11.2020, 15:28
(edited by DosWorld, 17.11.2020, 22:22)

@ rr
 

DWED first alpha

> > "Save As" have no LFN-support. Fixed.
> Still not working here.

Hmmm... I hope, you not pass LFN via command line? (LFN in command line is not fixed, yet)

My test-case:

1. Have a clean directory C:\1\, dwed is installed - does not matter where.
(not dwed16 !!)

2. Start dwed.exe (without parameters)
3. Type "123" text (without quote, in document)
4. Save as "C:\1\Text or text.txt" Shift-F2
5. Exit from dwed, check C:\1\ and files content

6. Run dwed.exe (without parameters)
7. Load file "C:\1\Text or text.txt"
8. Append "4" to end of line (without quote, in document)
9. Save as "C:\1\Text or text2.txt" Shift-F2
10. Exit from dwed, check C:\1\ and files content

11. Run dwed.exe (without parameters)
12. Load file "C:\1\Text or text.txt"
13. Append "0" to end of line (without quote, in document)
14. Save F2
15. Exit from dwed, check C:\1\ and files content

All passed (winxp), on current version.

(Added later): I am add support quote in command-line (now in git). It is must works for filenames and for parameters. For example:

dwed -usr.def.f5="dir c:\*.* /w" "C:\1\Text or text.txt"
dwed "-usr.def.f5=dir c:\*.* /w" "C:\1\Text or text.txt" "C:\1\Text or text2.txt"
dwed C:\1\"Text or text.txt"

Quotes will be just removed from splited strings. It is mean, this will be the same strings:

-usr.def.f5="dir c:\*.* /w"
-usr.def.f5"=dir c:\*.* /w"


Escaping for quote in C-style - not supported (like "let\"s go"). Reason - in this case will need write something like "C:\\dirname\\filename.txt".

Launcher pass command-line to overlay "as is" (without parsing by borland or me), so it will not cause hell.

LFN support - is more then i expect.:-) Anyway, this is new experience for me.

> Found an inconsistency: After specifying the new name and pressing ENTER,
> DWED writes "Saving NONAME.TXT" for a second. So it uses the old name for
> that message.

Yep, fixed.

> (Tested with usr.def.f5=%COMSPEC% in DWED.CFG.)

A little bit unexpected use-case :))
This trick (=%comspec%) is:
1. work in winxp
2. not work in Dosbox (but, i think, this is dosbox problem, dosbox have very short implementation of command.com).

Also, improved:
- "string editor" at top line (used for user input at SaveAs/Load/Search).
- Move to left/right word. Now, is more near to IDEA (but not so strict, as will want).
- Added text selection with mouse, unfinished (in screen borders, without scrolling)

---
Make DOS great again!

Carthago delenda est, Ceterum censeo Carthaginem delendam esse.

rr

Homepage E-mail

Berlin, Germany,
17.11.2020, 23:16

@ DosWorld
 

DWED first alpha

> > > "Save As" have no LFN-support. Fixed.
> > Still not working here.
>
> Hmmm... I hope, you not pass LFN via command line? (LFN in command line is
> not fixed, yet)

I do not.

> My test-case:
>
> 1. Have a clean directory C:\1\, dwed is installed - does not matter
> where.
> (not dwed16 !!)
>
> 2. Start dwed.exe (without parameters)
> 3. Type "123" text (without quote, in document)
> 4. Save as "C:\1\Text or text.txt" Shift-F2
> 5. Exit from dwed, check C:\1\ and files content
>
> 6. Run dwed.exe (without parameters)
> 7. Load file "C:\1\Text or text.txt"
> 8. Append "4" to end of line (without quote, in document)
> 9. Save as "C:\1\Text or text2.txt" Shift-F2
> 10. Exit from dwed, check C:\1\ and files content
>
> 11. Run dwed.exe (without parameters)
> 12. Load file "C:\1\Text or text.txt"
> 13. Append "0" to end of line (without quote, in document)
> 14. Save F2
> 15. Exit from dwed, check C:\1\ and files content
>
> All passed (winxp), on current version.

I can confirm, that this also works on my (German) XP installation.
But this test procedure does not work on FreeDOS 1.3 RC3 (with DOSLFN 0.41) or DOSLFN 0.41c (http://adoxa.altervista.org/doslfn/) loaded.

> Launcher pass command-line to overlay "as is" (without parsing by borland
> or me), so it will not cause hell.

:clap:

> LFN support - is more then i expect.:-) Anyway, this is new experience for
> me.

Don't worry! We all learn from our errors/failures only. :-D

> > Found an inconsistency: After specifying the new name and pressing
> ENTER,
> > DWED writes "Saving NONAME.TXT" for a second. So it uses the old name
> for
> > that message.
>
> Yep, fixed.

Confirmed.

> > (Tested with usr.def.f5=%COMSPEC% in DWED.CFG.)
>
> A little bit unexpected use-case :))

I think, it is a common one. How could I start external Tetris otherwise? :-P

> Also, improved:
> - "string editor" at top line (used for user input at SaveAs/Load/Search).

You mean moving the text cursor by pressing left and right arrow keys?
Works on XP.
Only prints à (to be more correct: alpha sign), but doesn't move text cursor. Using Bochs with FreeDOS 1.3 RC3.

Feature request: Could you add Ctrl+Shift+Up/Dn to move a complete line? I often use this in Notepad2 on Windows for sorting my todo.txt.

---
Forum admin

DosWorld

18.11.2020, 10:18
(edited by DosWorld, 18.11.2020, 16:56)

@ rr
 

DWED first alpha

> But this test procedure does not work on FreeDOS 1.3 RC3 (with DOSLFN 0.41)
> or DOSLFN 0.41c (http://adoxa.altervista.org/doslfn/) loaded.

Reproduced in VBox + MetaDOS + DOSLFN 0.41c

I hope, now is fixed. (tested in winxp and MetaDOS+doslfn)

> Only prints à (to be more correct: alpha sign), but doesn't
> move text cursor. Using Bochs with FreeDOS 1.3 RC3.

Reproduced in VBox + MetaDOS. Fixed.

> Feature request: Could you add Ctrl+Shift+Up/Dn to move a complete line?

In git.

Fixed cursor size/shape.

---
Make DOS great again!

Carthago delenda est, Ceterum censeo Carthaginem delendam esse.

rr

Homepage E-mail

Berlin, Germany,
18.11.2020, 21:44

@ DosWorld
 

DWED first alpha

> > But this test procedure does not work on FreeDOS 1.3 RC3 (with DOSLFN
> 0.41)
> > or DOSLFN 0.41c (http://adoxa.altervista.org/doslfn/)
> loaded.
>
> Reproduced in VBox + MetaDOS + DOSLFN 0.41c
>
> I hope, now is fixed. (tested in winxp and MetaDOS+doslfn)

Works on FreeDOS 1.3 RC3 (with DOSLFN 0.41) now. :-)

> > Only prints à (to be more correct: alpha sign), but
> doesn't
> > move text cursor. Using Bochs with FreeDOS 1.3 RC3.
>
> Reproduced in VBox + MetaDOS. Fixed.

Works in Bochs with FreeDOS 1.3 RC3. :-)

> > Feature request: Could you add Ctrl+Shift+Up/Dn to move a complete line?
>
> In git.
>
> Fixed cursor size/shape.

Works. :-)
Except: I didn't mean PageUp/PageDown. I meant arrow/cursor keys.

In Notepad2: If the user has marked a block, Ctrl+Shift+ArrUp/ArrDn move the complete block one line up or down. Don't know how hard to implement this is.

---
Forum admin

DosWorld

19.11.2020, 01:42
(edited by DosWorld, 19.11.2020, 02:01)

@ rr
 

DWED first alpha

> Works in Bochs with FreeDOS 1.3 RC3. :-)

Uff! Cool! Thanks!

> Except: I didn't mean PageUp/PageDown. I meant arrow/cursor keys.
>
> In Notepad2: If the user has marked a block, Ctrl+Shift+ArrUp/ArrDn move
> the complete block one line up or down. Don't know how hard to implement
> this is.


Sorry, i make misstake.
Both issues have one root problem:

1. I had add (wrong) support enhanced keyboard and not check it. If fact - this does not used with winxp+dosbox (not supported by emulators). FreeDos+VBox has enhanced keyboard support and it does not work. I am forgot about my code for enhanced keyboard and did not understand whats happens (different scancodes). Now - its disabled.

2. Now, i check sequence Ctrl+Shift+Arrows - they will work with enhanced keyboard, only.

So, i'll implement it, but push to git when will be complete sure with enhanced keyboard (it can broke everething, as we can see).

May be better way - Ctrl+Shift+PageUp/Down and Ctrl+Shift+Arrows will work together. In this case, feature will work for all PC type. Hope, i'll move from emulators to XT.

---
Make DOS great again!

Carthago delenda est, Ceterum censeo Carthaginem delendam esse.

DosWorld

27.11.2020, 13:08
(edited by DosWorld, 27.11.2020, 13:48)

@ DosWorld
 

DWED first alpha

> FreeDos+VBox has enhanced keyboard support and it does not work. I am
> forgot about my code for enhanced keyboard and did not understand whats
> happens (different scancodes). Now - its disabled.

I am wrong - scancodes is the same, but ascii-code can be different (for example - left arrow) for AX=0/INT16 and AX=10/INT16

> 2. Now, i check sequence Ctrl+Shift+Arrows - they will work with enhanced
> keyboard, only.

I add this combination, but can't check it: Ctrl+Up should produce 8D scancode, but i does not see any response from AX=0/INT16 or AX=10/INT16 when press Ctrl+Up (or Shift+Ctrl+Up). May be for 122-keyboard (AX=20/INT16) bios return this codes - i have no hardware to check it, now. Dwed, also, query AX=20/INT16, if available.

PS: dwed works fine on AMD 8086, need more optimization for highlighting, but it is useable (without highlight - is good). Many people use cpu NEC V?0 (and thinks this is XT-grade) - for they it will be enough fast.


PPS: Here is small programm - to check scancodes with different functions AX=0/INT16, AX=10/INT16, AX=20/INT16


var
is_ext_kbd : boolean;
is_122_kbd : boolean;

function hexb(b : byte):string;
const a:string[16] = '0123456789ABCDEF';
begin
        hexb := a[((b shr 4) and $0f) + 1] + a[(b and $0f) + 1];
end;

function hexw(w : word):string;
begin
        hexw := hexb(hi(w)) + hexb(lo(w));
end;

procedure check_kbd;assembler;
asm
        mov        ah,9
        int        $16
        push       ax
        and        al, $20
        mov        is_ext_kbd, al
        pop        ax
        and        al, $40
        mov        is_122_kbd, al
end;

function get_122_key:word;assembler;
asm
        mov        ah, $20
        int        $16
end;

function get_ext_key:word;assembler;
asm
        mov        ah, $10
        int        $16
end;

function get_key:word;assembler;
asm
        xor        ah, ah
        int        $16
end;

procedure print(msg : string; w : word);
begin
        if w = $011b then halt(0);
        writeln(msg, ' ', hexw(w));
end;

var key : word;
begin
        check_kbd;
        writeln('Extended keyboard : ', is_ext_kbd);
        writeln('122-key keyboard : ', is_122_kbd);
        while true do begin
                writeln('--------------------');
                print('old', get_key);
                if is_ext_kbd then print('Ext', get_ext_key);
                if is_122_kbd then print('122', get_122_key);
        end
end.

---
Make DOS great again!

Carthago delenda est, Ceterum censeo Carthaginem delendam esse.

tom

Homepage

Germany (West),
27.11.2020, 17:05

@ DosWorld
 

DWED first alpha

> > FreeDos+VBox has enhanced keyboard support and it does not work. I am
> > forgot about my code for enhanced keyboard and did not understand whats
> > happens (different scancodes). Now - it's disabled.

for a start: are you using FreeDOS 'naked' or with a keyboard driver?
by your English, you most likely use one. which one?

you might (for a test) try to run DWED without the keyboard driver loaded, and see if that makes a difference.

DosWorld

28.11.2020, 07:48
(edited by DosWorld, 28.11.2020, 08:02)

@ tom
 

DWED first alpha

> for a start: are you using FreeDOS 'naked' or with a keyboard driver?
> by your English, you most likely use one. which one?

This is MetaDOS with VirtualBox. I check config fdauto.bat and find line '::mkeyb.exe gr' (i dont known this syntax - '::' does it mean execute or comment?)

So, output is:

Extended keyboard : TRUE
122-key keyboard : FALSE

When i press Left Arrow (gray arrow - not a numpad):

old 4B00 (AX=0/INT16 return 4B00)
Ext 4BE0 (AX=10/INT16 return 4BE0)

When i press Left Arrow on numpad, in both case receive 4B00.

PS: dwed must work in any way, so i make small refactoring and check scan-code only (without ascii-byte).

PPS: But for me, seems like impossible receive Ctrl+Shift+Up/Down. 'old' and 'Ext' returns 0000 (for gray arrows and for numpad).

---
Make DOS great again!

Carthago delenda est, Ceterum censeo Carthaginem delendam esse.

ecm

Homepage E-mail

Düsseldorf, Germany,
28.11.2020, 09:09

@ DosWorld
 

DWED first alpha

> > for a start: are you using FreeDOS 'naked' or with a keyboard driver?
> > by your English, you most likely use one. which one?
>
> This is
> MetaDOS
> with VirtualBox. I check config fdauto.bat and find line '::mkeyb.exe gr'
> (i dont known this syntax - '::' does it mean execute or comment?)

: single colon prepended means label. :: double colon is a way of commenting out a line. As opposed to rem no redirection is applied to the comment line even if there are |<> characters in the comment line.

---
l

bretjohn

Homepage E-mail

Rio Rancho, NM,
28.11.2020, 20:24

@ DosWorld
 

DWED first alpha

> PPS: But for me, seems like impossible receive Ctrl+Shift+Up/Down. 'old'
> and 'Ext' returns 0000 (for gray arrows and for numpad).

That is correct -- you will never be able to (at least accurately) know whether multiple modifier keys (Shift, Control, Alt, or the newer Windows key) are pressed using single, standard INT calls. You need to go much deeper than that. The conversion from scancodes to ASCII codes is very complicated and there are many more possibilities for scancode combinations than there are ASCII codes.

Just as an example, there is no single test that can detect the Ctrl-Alt-Del combination. The way this is usually tested for is to wait for a Del keypress and then look in the BIOS Data Area (BDA) at 0040:0017, 0040:0018, 0040:0096, and/or 0040:0097 for the status of the modifier keys. There are other ways to do it also, but that method is probably the most appropriate for you and the easiest to implement.

Rugxulo

Homepage

Usono,
10.11.2020, 21:22

@ DosWorld
 

DWED first alpha

> (was added later) Restrictions:
>
> * This software is writen in Turbo Pascal, so string length is limited to
> 255 chars.
>
> If somebody have PC with FreeDOS (i have no), please check
> LFN-functionality in DWED.
> Just load or save file with long name - is it works correct with LFN?

I don't blame you for supporting classic TP7, but exclusively? Maybe not a good idea. If you (also) support FPC (even i8086-msdos), you get huge (ANSI) strings and LFNs for free, by default! :-P (But it's presumably still useful "as is". I will try it later.)

DosWorld

10.11.2020, 22:18

@ Rugxulo
 

DWED first alpha

> If you (also) support FPC

I want support both: :-)
TP - for retrocomputing (using FPC for crosscompiling to 8086 is not easy for me - need make build crosscompiler for mac os)
FPC - for modern system

Now, temporary, i create DPMI16 version of editor with Borland Pascal. Looks like work.

---
Make DOS great again!

Carthago delenda est, Ceterum censeo Carthaginem delendam esse.

Rugxulo

Homepage

Usono,
10.11.2020, 22:31

@ DosWorld
 

DWED first alpha

> > If you (also) support FPC
>
> I want support both: :-)

Excellent! :ok:

> TP - for retrocomputing (using FPC for crosscompiling to 8086 is not easy
> for me - need make build crosscompiler for mac os)
> FPC - for modern system

My FreeDOS floppy, MetaDOS supported running ppcross8086.exe under HX, using an old 2018 (3.1.1) snapshot (grabbed via FTP). Try running that under VBox or QEMU. That might be much easier than rebuilding the cross-compiler for macOS! (I guess you could also emulate Linux and run it there. Trisquel has a small 42 MB text-based network installer image. FPC shouldn't have messy external dependencies on Linux.)

IIRC, Laaca said FPC 3.2.0 didn't run under HX, but I'm not sure which version (2.18?) he tested.

glennmcc

Homepage E-mail

North Jackson, Ohio (USA),
10.11.2020, 22:27

@ DosWorld
 

DWED first alpha

> Hello!
>
> Feeling the lack of text editors for MS-DOS :-D , I made my own. Yes, one
> more :-) . I published the first version - it looks like it is fully
> functional, but it seems I forgot to add Tetris (and few other "major"
> features).
>

OH, fergawdsakes... another DOS program stored on a service that's
virtually impossible to access using a DOS browser.

My own build of DOS Arachne v1.97 == no go.

Fred MaCall's DosLynxS == no go.

THERE !!!.. finally got it using the DOS build of links.exe

(no reply needed... just commenting about one of my pet peeves) ;-)

---
--
http://glennmcc.org/

DosWorld

11.11.2020, 12:36
(edited by DosWorld, 11.11.2020, 13:26)

@ DosWorld
 

DWED first alpha

+ Switching syntax hightlight scheme (Ctrl+Alt+H)
+ Addons window (Alt+F10)
+ ASCII Table (Ctrl+Alt+A):

[image]

PS: Inspired by

ASCII program. Version 4.23 (C) Compact Soft, 1991.
By: Alexander Dudarenko & Dmitry Kohmanyuk.

Received from Softpanorama in 90's (i still love and use this small TSR), now here is my remake for dwed (does not contains [decompiled or not] source code from original software).

---
Make DOS great again!

Carthago delenda est, Ceterum censeo Carthaginem delendam esse.

RayeR

Homepage

CZ,
12.11.2020, 00:27

@ DosWorld
 

DWED first alpha

Hi,
please instead of tetris (I already have one handy in DN) try to implement a feature of launching a compiler (or any command you can predefine) by some hotkey and ability to run and see the program output. It could be nice lightweight IDE ;)

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

DosWorld

12.11.2020, 02:36
(edited by DosWorld, 12.11.2020, 04:07)

@ RayeR
 

DWED first alpha

> try to implement a feature of launching a compiler (or any command
> you can predefine) by
> some hotkey and ability to run and see the program output.

What about, if i split dwed into two file? (launcher and editor)
Is it terrible - have dwed.com (or exe, tiny launcher) and something like dwedovl.exe (full exe) ?

I am try keep all in one file (help - also linked), till it possible.

PS: alredy have Alt+F5 to view dos screen, but hotkey to run build - will be better.

PPS: Need finish with calculator, before start dev for this feature.

---
Make DOS great again!

Carthago delenda est, Ceterum censeo Carthaginem delendam esse.

rr

Homepage E-mail

Berlin, Germany,
12.11.2020, 14:46

@ DosWorld
 

DWED first alpha

> > try to implement a feature of launching a compiler (or any command
> > you can predefine) by
> > some hotkey and ability to run and see the program output.
>
> What about, if i split dwed into two file? (launcher and editor)
> Is it terrible - have dwed.com (or exe, tiny launcher) and something like
> dwedovl.exe (full exe) ?

I have no problem with that.
Reminds me of Doszip Commander. In older version (2.47) it had two files: DZ.EXE (694 bytes) and DZ.OVL (145 kbytes). It's written in assembler, so probably you can borrow something from.

> I am try keep all in one file (help - also linked), till it possible.

You could try Ralf Brown's SPAWNO, Thomas Wagner's EXEC (do_exec), TurboPower's ExecSwap, or similar approaches. Or maybe there's something usable at http://www.retroarchive.org/swag/MEMORY/ or http://www.retroarchive.org/swag/EXEC/

By the way: Once I read the name DWED as DEWD, which reminds of "The dude": https://www.fromthegrapevine.com/slideshows/arts/legendary-tv-and-movie-beards/page/8 :-D

---
Forum admin

tom

Homepage

Germany (West),
24.09.2022, 19:37
(edited by tom, 25.09.2022, 11:36)

@ DosWorld
 

DWED first alpha

> > try to implement a feature of launching a compiler (or any command
> > you can predefine) by
> > some hotkey and ability to run and see the program output.
>
> What about, if i split dwed into two file? (launcher and editor)
> Is it terrible - have dwed.com (or exe, tiny launcher) and something like
> dwedovl.exe (full exe) ?
>
> I am try keep all in one file (help - also linked), till it possible.

maybe have

DWED somefile.txt moreArgs

actually behave like the launcher, deallocate everything and execute

DWED -ReallyDoEdit somefile.txt moreArgs

whereas

DWED -ReallyDoEdit somefile.txt moreargs evenmoreargs

does what the editor is supposed to do.

this way you have the functionality of 2 files with a single file;-)

edited to add:
this assumes some power to control the memory layout of the executable. not exactly easy, but close to impossible for PASCAL programs.

DosWorld

14.11.2020, 02:41
(edited by DosWorld, 14.11.2020, 02:53)

@ DosWorld
 

DWED first alpha

Now state:

+ Calculator (Ctrl+Alt+C):
+ Config. Default colors is CGA-friendly (but not for eye, but who need default colors? :-) ).

[image]

PS: Next - execute external program. Hotkeys is F5, F8, F9 (?).

F6 and F7 already binded (F6 = switch file, F7 or Ctrl+F = search)

PPS: Every day use this editor for source editing and looks ok, for me, but it does not mean "here is no bugs". Bugs could looks different (as input error etc), but root cause (in 99% cases) is one - not updated pointers in linked-list. Best testing version - DPMI (crashes fast if error). But i cant catch reproduce-able cases.

---
Make DOS great again!

Carthago delenda est, Ceterum censeo Carthaginem delendam esse.

DosWorld

16.11.2020, 04:23
(edited by DosWorld, 16.11.2020, 17:20)

@ DosWorld
 

DWED first alpha

+ Support user's shell script running with hotkeys F5, F8, F9.
(Now, possible try to say "IDE" :-) )

PS: Implemented via two .EXE: launcher (dwed.exe) and overlay (dwedovl.exe).
Launcher have hook in INT21 and serve fake file 'DWED:' (in any case) during overlay run.
Block-Writing pascal-string to this file - set command for run (after overlay exit with status code 254).
Block-Reading - receive pascal string with temp-file name (name shared between overlay running - to keep persistence).
Launcher - any time is real-mode exe, ~10kb, i hope, it is acceptable.
If overlay can't open file 'dwed:' - it is mean run not from launcher.

Good side - portable, don't require DPMI-specific programming.
Bad side - need forget about debugger for overlay.

---
Make DOS great again!

Carthago delenda est, Ceterum censeo Carthaginem delendam esse.

DosWorld

16.11.2020, 17:16
(edited by DosWorld, 16.11.2020, 17:26)

@ DosWorld
 

DWED first alpha

> Launcher have hook in INT21 and serve fake file 'DWED:'

Hmmm... I can also catch file names like '!C:\DIR\Very Long file name.txt' (starts with !) and do all work for open LFN in real-mode launcher...

But in this case file name will be also limited ~64 bytes (as i understand - this is limit for short file name).

---
Make DOS great again!

Carthago delenda est, Ceterum censeo Carthaginem delendam esse.

rr

Homepage E-mail

Berlin, Germany,
16.11.2020, 23:08

@ DosWorld
 

DWED first alpha

> + Support user's shell script running with hotkeys F5, F8,
> F9.

Works in FreeDOS 1.3 RC3. :-)
(Tested with usr.def.f5=%COMSPEC% in DWED.CFG.)

---
Forum admin

rr

Homepage E-mail

Berlin, Germany,
06.12.2020, 17:25

@ rr
 

DWED first alpha

> > + Support user's shell script running with hotkeys F5, F8,
> > F9.
>
> Works in FreeDOS 1.3 RC3. :-)
> (Tested with usr.def.f5=%COMSPEC% in DWED.CFG.)

I noticed, that this "does not work", when I'm outside the DWED.EXE folder, i.e., I configured my DOS PATH variable like SET PATH=\DWED;%PATH%.

"does not work" means, that it looks like DWED does nothing, when I press F5. No error message. Nothing.

---
Forum admin

DosWorld

07.12.2020, 03:46

@ rr
 

DWED first alpha

> I noticed, that this "does not work", when I'm outside the DWED.EXE folder,
> i.e., I configured my DOS PATH variable like SET
> PATH=\DWED;%PATH%.
>
> "does not work" means, that it looks like DWED does nothing, when I press
> F5. No error message. Nothing.

Thanks!
(I think, i saw this bug and fix few days ago - dont load .cfg from current dir - only main from install-dir)

---
Make DOS great again!

Carthago delenda est, Ceterum censeo Carthaginem delendam esse.

rr

Homepage E-mail

Berlin, Germany,
08.12.2020, 23:17

@ DosWorld
 

DWED first alpha

> > I noticed, that this "does not work", when I'm outside the DWED.EXE
> folder,
> > i.e., I configured my DOS PATH variable like SET
> > PATH=\DWED;%PATH%.
> >
> > "does not work" means, that it looks like DWED does nothing, when I
> press
> > F5. No error message. Nothing.
>
> Thanks!
> (I think, i saw this bug and fix few days ago - dont load .cfg from current
> dir - only main from install-dir)

I already used the latest version, but it still doesn't work for me. Not in FreeDOS. Not in Windows XP.

function load_config(var ctx : TEditorContext; fname : string):boolean;
var f : word;
        i          : integer;
        str        : string;
        key, value : string;
begin
        f := lfn.lopen_r(fname);
        if f <> 0 then begin
                while not lfn.leof(f) do begin
                        lfn.lreadln(f, str);
                        split(str, key, value);
                        process_param(ctx, key, value);
                end;
                lfn.lclose(f);
        end;
        load_config := i <> 0;
end;


Where do you set i in your function? :confused:

This one looks better to me:

function load_config(var ctx : TEditorContext; fname : string):boolean;
var     f : word;
        str        : string;
        key, value : string;
begin
        f := lfn.lopen_r(fname);
        if f <> 0 then begin
                while not lfn.leof(f) do begin
                        lfn.lreadln(f, str);
                        split(str, key, value);
                        process_param(ctx, key, value);
                end;
                lfn.lclose(f);
        end;
        load_config := f <> 0;
end;

---
Forum admin

DosWorld

12.12.2020, 12:57
(edited by DosWorld, 12.12.2020, 15:23)

@ rr
 

DWED first alpha

> Where do you set i in your function? :confused:

Ups.. You are exactly righ! Thank you! Fixed.

Changed config loading order.
Values from next step can override previous values (and don't touch, if absent):

1. Hardcoded into exe
2. DWED.CFG near to DWED.EXE
3. DWED.CFG from local directory
4. Config parameters from command line

What is mean? Let i describe in example:

1. Let DWED.CFG near to DWED.EXE have content:

a = 1
b = 2
c = 3

2. Let DWED.CFG from local directory have content:

a =
b = 1000

As result, dwed will be configured with options:

a =
b = 1000
c = 3

What is as benefits? You can put full config with color-settings to main cfg, and store in local-directory .cfg only lines like usr.def.f5 (if you want share the same color-scheme for all directories).

PS: Added HL.ENABLE config option (0 = disable, not 0 - enabled) - disable/enable highlight by default (I am continue feel not enough highlight-speed with 8086 4.77mhz). This is not full disable highlight, this is disable detecting highlight-scheme and set as "no highlight" by default for each opened file, so, steel possible choose scheme later.

---
Make DOS great again!

Carthago delenda est, Ceterum censeo Carthaginem delendam esse.

rr

Homepage E-mail

Berlin, Germany,
12.12.2020, 20:37

@ DosWorld
 

DWED first alpha

> > Where do you set i in your function? :confused:
>
> Ups.. You are exactly righ! Thank you! Fixed.

Thanks! :-)

DWED is famous now: DosWorld Editor for distraction free writing :-D

---
Forum admin

DosWorld

13.12.2020, 02:15
(edited by DosWorld, 13.12.2020, 10:17)

@ rr
 

DWED first alpha

> DWED is famous now: DosWorld Editor for distraction free writing :-D

I have ~20 years experience of commercial programming (closed-source, outsourcing) and saw - 99% of my code goes to graveyard (together with customers/projects/firms).

I hope this project don't die in the same way and do (a little bit) better life for a few people. For me it is enough to be happy.

---
Make DOS great again!

Carthago delenda est, Ceterum censeo Carthaginem delendam esse.

DosWorld

12.01.2022, 03:13
(edited by DosWorld, 12.01.2022, 03:28)

@ DosWorld
 

DWED first alpha

Added Windows Clipboard support (via system2 lib)

Can be used with Windows or DosBox-X.

PS: Not sure with DPMI version (due limited interrupt translation).

---
Make DOS great again!

Carthago delenda est, Ceterum censeo Carthaginem delendam esse.

DosWorld

14.01.2022, 00:40

@ DosWorld
 

DWED first alpha

> Added Windows Clipboard support (via system2 lib)
> Can be used with Windows or DosBox-X.

DosBox-X Ver 0.83.21 crashes very often at clipboard operations with message:

dosbox-x: malloc.c:4261: _int_malloc: Assertion `(unsigned long) (size) >= (unsigned long) (nb)' failed.

---
Make DOS great again!

Carthago delenda est, Ceterum censeo Carthaginem delendam esse.

DosWorld

17.01.2022, 17:17

@ DosWorld
 

DWED first alpha

Added Ctrl+O key sequence: navigation via pascal source (popup window with procedure/function list).

---
Make DOS great again!

Carthago delenda est, Ceterum censeo Carthaginem delendam esse.

DosWorld

23.09.2022, 13:56
(edited by DosWorld, 23.09.2022, 14:38)

@ DosWorld
 

DWED first alpha

Please, don't wide share this info - i am don't ready make release. This is about just a testing version. I hope include more features into release.

DWED support up to 2G memory into own swap file (sort of "Linked List into .DBT"). Will be good to place your %TMP% to ramdisk for it.

Unresolved question: how to help for users who use dosbox (etc) without possibility have ramdisk or cache from smartdrv. I am agree with restrictions of my human brain and stop try to write own extendent memory manager (i mean application-level memory manager) - will reuse other code (purpose to use ramdisk). "Everything is a file", so why memory could not be accessed via file API? This one - looks sweet.

Drop support DPMI16 version (due to lack of call translation to LFN API) and editor stay 20-bit application. It is sad, because dpmi16 is more then enough for text editor. Today, there is a gap between compiler libraries (watcom, borland etc) and memory managers.

Also, just for fun, rewrote dwed launcher into C--. It save a few kb.

---
Make DOS great again!

Carthago delenda est, Ceterum censeo Carthaginem delendam esse.

DosWorld

01.10.2022, 01:33
(edited by DosWorld, 01.10.2022, 02:17)

@ DosWorld
 

DWED first alpha

> DWED support up to 2G memory into own swap file (sort of "Linked List into
> .DBT"). Will be good to place your %TMP% to ramdisk for it.

Some testing results.

File: enwiki8 (first bytes of English Wikipedia dump on Mar. 3, 2006)
Size: 1E8 bytes (100,000,000)
File in UTF8 without conversion (dwed nothing known about utf8).

DosBox-X, Speed: 3000 cycles/ms (~286 20-25mhz)

Open time: 50m
Save time: 25m
(this is a approximate values, because 18 timer ticks is counted as 1 second)

Swap size: 139mb (raw string data) + 23mb (index) = 163m
Used <2mb XMS as r/w cache (non actual for dosbox/dosbox-x, because IO was cached by host OS).

Imho, 286 is undervalued in this time :-D.

If talk serious, need more speed optimization. If use for editing files with less size (like 4mb), speed (load/save) is "acceptable, but need small improvement".

---
Make DOS great again!

Carthago delenda est, Ceterum censeo Carthaginem delendam esse.

Zyzzle

02.10.2022, 04:11

@ DosWorld
 

DWED first alpha

> Imho, 286 is undervalued in this time :-D.
>
> If talk serious, need more speed optimization. If use for editing files
> with less size (like 4mb), speed (load/save) is "acceptable, but need small
> improvement".

I say Go Full Steam Ahead. 2Gb file support in DOS will be outstanding, and a needed (and unique) feature for an editor in DOS. For those of us with plenty of memory to burn (4Gb+) creating a ramdrive of 2Gb is no problem, and with the fabulous SXMS memory managers, all memory above 4Gb limit can be used. So, your enhanced editor will be most assuredly appreciated!

(if you need Beta testers for the 2Gb version, PM me and I'd be glad to test).

DosWorld

02.10.2022, 20:26
(edited by DosWorld, 02.10.2022, 23:37)

@ Zyzzle
 

DWED first alpha

> I say Go Full Steam Ahead. 2Gb file support in DOS will be outstanding, and
> a needed (and unique) feature for an editor in DOS. For those of us with
> plenty of memory to burn (4Gb+) creating a ramdrive of 2Gb is no problem,
> and with the fabulous SXMS memory managers, all memory above 4Gb limit can
> be used. So, your enhanced editor will be most assuredly appreciated!

I need to think about that.

(added after "meditation")

1. FileSystem is a wrong way. Anyway i'll got 2gb or 4gb limit. Unfixable. But it is a good option for humans, who want use ancient hardware (like 4mb or 16mb ram). So, i'll keep it.

2. SXMS. You is right. I must "eat this cactus" :-D - create my own memory manager (application-level, will use SXMS driver).

Fill more and more restriction TP. I am start write dwed because have no normal text editor (from my point of view), but today i have no normal pascal compiler... :-D Restrictions: no uint32, int64, uint64 types and zero-level code optimization. Yes, FreePascal is good, but i want live in a real, unprotected world. And i am a little bit hate FPC - await compilation for real-mode from end of 90x. (Today, more realistic - expect drop DOS support :-D )

> (if you need Beta testers for the 2Gb version, PM me and I'd be glad to
> test).

I am not try "hire" other people. But if you want play/use - last version at https://github.com/DosWorld/dwed (not release. release not ready).

---
Make DOS great again!

Carthago delenda est, Ceterum censeo Carthaginem delendam esse.

DosWorld

05.04.2024, 12:19
(edited by DosWorld, 05.04.2024, 13:54)

@ DosWorld
 

DWED first alpha

I want to declare:

In case if something happens to me (or zero commit on github more then 1 year), I want to transfer all my copyrights (including valuable/monetary, moral/ethical, etc rights - total all without excluding, allow any changes in projects/(re)license/(re)naming etc) for all my own/personal noncommercial projects => to the FreeDOS project (and Jim Hall as head/represent person, or other FreeDOS-head person if will changed in future).

It also can mean allow access to accounts on github: DosWorld, vaclav2016 (if it possible)

This declaration has no limit in time and can be applied to any future noncommercial projects (which does not exists now), until it is explicitly canceled.

I am currently sober, not under the influence of drugs or other substances, and I am in complete personal safety (not under pressure or coercion).

PS: Life is change, ladies. :-D

---
Make DOS great again!

Carthago delenda est, Ceterum censeo Carthaginem delendam esse.

boeckmann

Aachen, Germany,
05.04.2024, 13:01

@ DosWorld
 

DWED first alpha

> I want to declare:
>
> In case if something happens to me (or zero commit on github more then 1
> year), I want to transfer all my copyrights (including
> valuable/monetary, moral/ethical, etc - total all without excluding, allow
> any changes in projects/(re)license/(re)naming etc) for all my own/personal
> noncommercial projects => to the FreeDOS project (and Jim Hall as
> head/represent person).

It is always a little bit frightening to me to read things like this basically coming out of nowhere. I hope you are alright.

Regarding the transfer of copyright, if I understand correct, FreeDOS project is no legal entity. So Jim himself would become the copyright holder as a person. If you explicitly want Jim to gain the rights, I think it is best to contact him via private mail.

> It also can mean allow access to accounts on github: DosWorld, vaclav2016
> (if it possible)

In your GitHub account preferences you may give successors to your account. You may consider setting this.

Which you all the best!
Bernd

DosWorld

05.04.2024, 13:05
(edited by DosWorld, 05.04.2024, 13:22)

@ boeckmann
 

DWED first alpha

> It is always a little bit frightening to me to read things like this basically
> coming out of nowhere.

Nothing special. Sometime need think about future and possible results of own actions.
I have a new job, i hope is a best in my life.
"Death is not scary. Life is scary" :-D

> In your GitHub account preferences you may give successors to your account.
> You may consider setting this.

Imho, it does not required - any time possible create new fork and make refer to my post in legal section.

---
Make DOS great again!

Carthago delenda est, Ceterum censeo Carthaginem delendam esse.

Back to index page
Thread view  Board view
22049 Postings in 2034 Threads, 396 registered users, 184 users online (0 registered, 184 guests)
DOS ain't dead | Admin contact
RSS Feed
powered by my little forum