Jump to content
Muxe Inc Forums
Sign in to follow this  
AngelsHolocaust

new release: 2.30.4464

Recommended Posts

Hi everyone.

 

Sorry for the long delay, the next release will be out in time again - promised :)

 

news:

 

[*] 2006 -> 2007

[!] big thanks to GPFault for code, ideas and support in the latest LNX improvments

[!] created a file for interfacing LINUX libc or other (shared) libraries on

startup (statically linked) called linuxlib

(libc.so.6 and libdl.so.2 for a start...)

[-] D32 DOS: SysGetDateTime() wrong value returned for DayOfWeek (AdminZ/Garl) [A/V]

-> the (new) code that used BIOS/PORT to get the data was not 100% compatible

to the DOS code (was added to solve mouse crash of D32 in NT+)

[*] LNX X: now interfacing Xlib if available

[+] LNX X: [sHIFT-ESCAPE] minimizes/iconifies the console

-> main3.MyApp.GetEvent(), depending on the used X terminal

[-] LNX: vpsyslnx.KbdBuffer pipe was not freed on exit [V]

-> vpsyslnx: added LnxPipeClose(), relocated KbdBuffer pipe creation

at the start of KbdTerminalThread() and pipe close to the end

[!] FILECHANGENOTIFY seemed to be disabled in the releases - sorry

-> stdefine.inc still had it in the developing code section

[+] added vpsyslow.SysLineBreak|SysLineBreak(CrLf|Cr|Lf) [V]

[+] DBG commandline option, non-release builds only:

DBG_NO_FATAL_ERROR_OUTPUT / DNFEO to suppress

messagebox display on fatal error which overwrites write(ln) debug

messages -> drivers6.ReportFatalError()

[-] D32/LFN: EDR-DOS/LFNDOS didn't access CD drives [NC] (AdminZ)

-> lWin95 code in lfn only tried the LFN functions, not DOS/SFN;

[-] D32/SFN: lfn.lChDir didn't work in pure DOS [A] (AdminZ)

-> SFN chdir call doesn't like directories like 'C:\TEMP\',

wants 'C:\TEMP'; implemented PChar _RemovePathSep() into

vpsysd32, used in vpsysd32.SysDirSetCurrent()

[+] ini file saving/loading to menu Options: Save initialization file

-> added cm(Load|Save)INI, dnutil.TDnApplication.HandleCommand()

[+] added advance0.MemCmp(): used in filescol.CompareFiles()

[+] global usage of drivers3.ConvertWSKey() to be able to select WordStar keys;

was only used in ListViewer until then

-> drivers3.ConvertWSKey() checks the event for evKeyDown itself

-> setup: added to Options.Configuration.Misc Setups.Keyboard Setup

dnini: loaded/saved to [Misc].KeyboardOptions

-> drivers3.WordStarKeys and drivers3.ws* constants removed,

added commands.kbd(UseWordStarCursor|SwitchHomeEndPage)

-> ConvertWSKey() removed from TListViewer.HandleEvent(), added to:

microed6.EditorHandleEvent(), fviewer.TFileViewer.HandleEvent(),

dbfview.TDBViewer.HandleEvent(), dialogs.TInputLine.HandleEvent()

-> added driversr.CtrlToArrow() to:

fviewer.TFileViewer.HandleEvent(), dbfview.TDBViewer.HandleEvent()

-> removed special windows hotkey code for editor (ebfWindowsBlockKeys)

-> this enables to choose between WordStar cursor control OR standard

WINDOWS keys like [CTRL-C/X/V] (clipboard) or [CTRL-A] (Select all)

-> removed a lot of synonym commands for cmSearch(Again|Reverse) in

phones, editor, viewer, dbviewer, spreadsheet

[*] improvment to stringsx.SStr(): size of S 40 -> 50 {G}

[*] bugfix in eraser.DelShowProgress(): Using size of Desktop in write {G}

[+} added timedate.GetMonthFromString()

 

KEYBOARD

[*] [CTRL] on release, not press, this solves several keyboard combination problems

like when copying the current file name to commandline when [CTRL] is also the

quick search hotkeys (naX)

[-] W32: some keyboards do not return a charcode for [ESC] when CAPSLOCK is

on; the fix for this in vpw32kbd was bad [V] (Adam Lubszczyk)

-> Shiftstate = CAPSLOCK_ON -> Shiftstate and CAPSLOCK_ON ...

[+] LNX X: the keyboard is read from X-events

 

FILE PANEL

[*] [left/RIGHT] din't work in panel if panel names were maxed (ctrl-0)

-> adjusted file panel size checks in

flpanelx.TFilePanelRoot.CommandHandle().kb(Left|Right)

[*] W32: LINUX 'cd' -> home feature also for windows

-> vfs_driv.TDrive.HandleCmdLine(): WNT+ uses environment string

%UserProfile%, W9x uses %WinDir%

[-] the fillers between the drive chars used the FD/REMOVABLE color, now use

the frame color [A]

-> flpanel.TDriveLine.Draw()

[*] improved default file mask highlight data (BmW/Garl)

-> groupsfm.CreateGrpIni()

[-] mouse wheel didn't move scrollbar marker (OArkh) [A]

-> flpanel.TFilePanel.HandleEvent() didn't redraw the Scrollbar after move

[*] removed commented/unneeded GetEmpty/MakeTop methods from vfs_*

[-] Crashes in big resolutions (> 255 / 2) on... [?]

- [TAB]:

* vfs_driv.TDrive.GetEmpty() did not check the size left in the

drawbuffer

-> GetEmpty() now gets a new paramter (BufLen) with the remaining

size of the buffer

* flpanel.TSeparator.Old(W|X) were not updated on startup of NDN which

caused wrong calculation and writes across the draw buffer boundaries

-> dnutil.TDNApplication.Init() broadcasts cmVideoModeChanged after

loading the desktop

- moving right in the file details (details > panel size):

* vfs_driv.TDrive.GetEmpty() did write before the drawbuffer

-> GetEmpty() now skips columns with result length < 1

[-] error message when renaming the desktop file in

dnutil.TDNApplication.SaveDesktop() was never displayed because

fileio.RenameFile1() used DosError instead of IOResult

 

EDITOR

[*] LNX: file lock like in DOS/WINDOWS doesn't work

-> implemented flock() usage in vpsyslnx.SysFileOpen() but LINUX is not

able to do a simple 100% lock on a file for all write operations

until the lock is released again - another big "-" for LINUX

-> changed stOpenRead into stOpenWrite in microed.TFileEditor.LockFile()

[*] keyword completion: the current word (pattern) is not used in the comparing

process anymore, which improves the completion process

-> namecomp.KeyWordCompletion() returns only the pattern data if no

keywords are provided, this is used in micro_3.EdCompleteKeyWord()

to modify the pattern so it won't be included in the comparisson data

[-] editor copy to clipboard: it appended spaces to lines in horizontal block

mode like in vertical mode if the position on the last line was higher

than the line length [A] (Dandv)

-> micored3.EditorGetSelection() checks for EdOptions.VertBlock when

inserting lines

[-] block/selection draw was randomly off or wrong []

-> microed7.EditorDraw() had code which corrected the start/end of the

first/last block line always to the EOL if the cursor was > EOL

-> moved to microed7.EditorDraw().BlockDraw(), simplified, shortened

and improved

 

MOUSE

[*] LNX X: added new mouse enabling method for xterm and company [V] {P}

this makes it possible to use available mouse server modes depending on

the X-terminal

-> standard drag and drop operations like in DOS/WINDOWS now work

-> sending oldest to newest en/disable sequences to the terminal in

vpsyslnx.SysTVInitMouse()|SysTVDoneMouse

-> mouse wheel works

[+] LNX T: mouse now fully works in real LINUX terminals

-> gpm needs to be running (visible/moving mouse cursor on screen)

-> added gpm.pas which interfaces libgpm.so.1 (if it exists)

-> libgpm.so.1 is loaded dynamically

-> added LOAD_DYNAMIC define to gpm.pas, static loading at program

start code is also included but commented

-> gpm.pas used in vpsyslnx.SysTV(Init|Done)Mouse and SysTVGetMouseEvent

-> mouse wheel support was added but is untested since my wheel doesn't

work in LINUX console (someone please verify this...)

[-] D32/NT: mouse still crashed in extreme cases (FILE FIND and mouse moves or

always in fullscreen) [A]

-> vpsysd32 mouse code now polls the mouse instead of using the handler,

slower but works 100%

-> vpsysd32.NT_MOUSE_POLL define to signal the new code

[+] Menu =.Reset Mouse command: reinit mouse

-> added commands.cmResetMouse, used in dnutil.TDnApplication.HandleCommand,

which calls drivers.(Done|Init)Events()

-> useful when starting drivers while NDN is running

 

INFO PANEL

[-] crash when trying to open the disk information panel [CTRL-L] [A]

-> infopane.ReadDizFile() referenced an empty PString to PTextReader

if no data provided in Options.File Manager.Setup.Directory/File

Descriptions

 

DNEXEC/EXTERNAL VIEWER/EDITOR DNEXEC.EXECUTEFILEEXT/LOCAL_GLOBAL_MENUS

[*] LNX: improved the [F2] user menu with more useful commands (reboot....)

 

FILE COPY/MOVE/OPEN/CREATE/DELETE

[-] DELETE: deleting directories always used the SFN [A] (GPFault)

-> eraser.EraseFiles() used ExistFile() for directories, which

always failed, now using fileio.Exists() for all checks

 

COUNTRY SETUP/LANGUAGES

[*] - improved english help topic

- added [ALT-BACKSPACE]: reset to standard hi-ASCII chars

-> setups.TUpperTable.HandleEvent()

[-] Upcase table was not correctly initialized [AC] (Adam Lubszczyk)

-> removed stringsx.InitUpcase(), stringsx.UpcaseInited

-> corrected stringsx.UpperTableToCaseArray()

[*] improved handling of UpCaseString/CountryInfo.UpperTable in dnini

-> moves instead of for..do constructs

 

TURBOVISION: VIEWS/DIALOGS/MENUS/OBJECTS

[-] ASCII-TABLE: char insert into an inputline deleted the content [A]

-> added asciitab.AsciiTableActive boolean to signal that the

ascii-table is active, used in dialogs.TInputLine.SetState()

[*] inputlines now understand [CTRL-A]

-> dialogs.TInputLine.HandleEvent()

[*] consistent usage of '...' in menus (selecting this menuitem opens another

window)

 

COMMANDLINE

[+] commandline supports [sHIFT-DEL] and [CTRL-X/C/V] operations (see

WordStar news)

-> cmdline.TCommandLine.HandleEvent()

 

ARCHIVES

[+] added UHARC archive support (AdminZ)

-> unfortunately UHARC is not feature compatible to the major archivers,

f.ex. try to archive from a directory with adding relative paths

[*] added arc_arj.TArjArchive.MustReread(), for arc types that need to read

the screen output of an archiver

-> used in vfs_arcv.TArcDrive.HandleCommand() and

vfs_find.FindFiles.ScanDirectory()

 

Stefan / AH

 

download: http://ndn.muxe.com/beta

Share this post


Link to post
Share on other sites
FloX    0

Hi,

 

thanks for the new release!

 

I am using two file managers: your NDN and File Wizard. And the main reason for File Wizard is following:

If I want to copy some Gigabytes of files, File Wizard is sometimes much faster!

 

1) It is possible to make a new option, to show only the hole process?

2) NDN seems to first read some MB and then write these. File Wizard seems to do the same, but is much faster.

 

Schöne Grüße aus Wien

Flo

 

PS: I am talking about DOS/DPMI version (using it in WinXP too).

 

PPS: Found a bug....:If I try to change to a not existing drive I get this error:

 

Exception 0D8h at address 02994315

in f:\NDN\source\drivers3.pas

Line 200

Access violation

 

 

btw: This is a cool error message....are you using a special library for this?

Share this post


Link to post
Share on other sites

Hi FloX.

 

Thanks for your nice words and bug report.

 

The error message is custom made by the error handler in NDN.

But I think this should be possible with every average text window library.

 

1)

Do you mean to only draw one progress bar showing the total copy progress?

Do you think that this option would be useful?

 

2)

The D32 version in Windows NT/2K/XP is MUCH slower than the W32 version.

This cannot be solved because of the way DPMI32 works in NT based Windows'.

 

Maybe you want to try the W32 version and compare it to File Wizard again.

 

best regards and greetings from bavaria,

Stefan / AH

Share this post


Link to post
Share on other sites
FloX    0
Thanks for your nice words and bug report.

 

Thank you for continue of DOS version... :-) ... DNOS has stopped...

 

Do you mean to only draw one progress bar showing the total copy progress?

Do you think that this option would be useful?

 

Yes. I think it will be easy to make a new option... (I know only C++ version of Turbo Vision, but I think it should be only some lines of new code...?)

 

If I copy many many files which are small, then I think it will also be better...and more fast....

 

2)

The D32 version in Windows NT/2K/XP is MUCH slower than the W32 version.

This cannot be solved because of the way DPMI32 works in NT based Windows'.

Maybe you want to try the W32 version and compare it to File Wizard again.

 

No, I used them in pure DOS (FreeDOS) with installed UDMA driver.

 

Bye

Flo

Share this post


Link to post
Share on other sites

Hi Flo!

 

Of course it would be no problem to make this option, but

 

1) i don't know any reason why a user wants less information in the copy dialog

(question i have to ask myself: how many user will use this option?)

 

2) this will NOT speed up the copy progress at all I am pretty sure.

most time is spent reading/writing files.

 

you might want to try the old 2.15.4000 release: http://ndn.muxe.com/download/

and compare if this version is faster than 2.30.4464

 

I am sure the copy process can be optimized, but I doubt that it has to do with the progress display.

 

Ah, I see, there is also a File Wizard for Windows. :P

 

Let me know of your tests with 2.15...

 

bye

Stefan / AH

Share this post


Link to post
Share on other sites
FloX    0

Another thing (under pure DOS, with UDMA, LBACACHE):

 

I have a source tree of sourceforge.net on my harddisk (CVS) . So there exists in every directory a sub-directory CVS which includes files. If I search a file in this tree, NDN accesses the floppy drive! And in every directory...

 

seems problem with CVS directory???? maybe I find more with some tests...

 

bye

Flo

Share this post


Link to post
Share on other sites
Din    0

Hi Stefan,

Many thanks for fix of the "[-] Crashes in big resolutions (> 255 / 2)"!

 

Would it be possible to implement an option to the Alt+B menu to sort files by path first and then by

sort mode defined in the ndn.ini:

[Panel Defaults]

Sorting=1

 

The sort mode by path will be very useful in the Directory Branch and in the Find views,

because it is very difficult to find all files from the same folder in these views now.

 

Thank you,

Din

Share this post


Link to post
Share on other sites
FloX    0
I have a source tree of sourceforge.net on my harddisk (CVS) . So there exists in every directory a sub-directory CVS which includes files. If I search a file in this tree, NDN accesses the floppy drive! And in every directory...

 

This seems to be a general problem...if NDN changes the directory, it tries to access the floppy (there seems to be no difference, if a floppy is insert or not, also no error message or something else). Not everytime. But mostly.

 

Bye

Flo

Share this post


Link to post
Share on other sites
AdminZ    0

Hello Stefan,

 

1. How say FloX, under DOS NDN 2.30.4464 DPMI really work with disks very slow. Under DOS FW 1.35 copying files x2.9 fastest! This good see when work with flash disks. FW copying avi file ~600MB 67s from Handy Steno HT203 200X to HDD, NDN 2.30.4464 - 190s. So slow work navigate through files structures, when change directory.

 

2. Error in unpack images in diskimg.pas I found. This error in algorithm - maximal size subdirectory limited size of root directory. Really dir entries must reads up to empty entry, following after last entry or up to size this subdir. I'm sorry but I don't write right code - my knowledge pascal little.

 

P.S. I'm sorry what don't replyes too much long. Btw, I refresh http://irman.at.tut.by/ubd.uha.

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
Sign in to follow this  

×