Jump to content
Muxe Inc Forums
Sign in to follow this  

New Beta: 2.31.0954

Recommended Posts

Hello everyone.


Unfortunately, especially because of code merging, I couldn't do as much as I wanted to

in the past month. So this release is again mainly a bug fix release without much new

stuff. Hopefully in april...



─════┤ v2.31.0954 DPMI32/WINDOWS/LINUX 06.04.08 ├═══════════════════════════─
[*] updated the Virtual Pascal command for [] in NDN.EXT
[*] stringsx.(Upper|Lower)String were converted from shortstring to array
     and renamed to (Upper|Lower)Data {C}
[-] fixed a bug in the VP 2.279 BIN.D32\VPC.BAT file which pointed to HX\BIN
     instead of only HX\
[-] W32 contray code didn't restore a window to maximized state if the
     window was minimized to the task bar [A]
     -> replaced TConsole.SetMinimized().OpenIconic() with ShowWindow()
[+] NDN.HGL: enhanced the GRUB FILES line with a RegEx >#.*?menu.lst<
[-] LNX: removed the SysUtils from the VP RTL math unit, since the executable
     wouldn't run because of this error:
     Inconsistency detected by ld.so: rtld.c: 1075: dl_main: Assertion `_rtld_local._
     dl_rtld_map.l_libname' failed!
     -> added the define FINANCIAL_MATH which comments SyUtils and financial

[*] Several improvments to the infoline drawing:
     -> Current byte decimal display is now padded with 0 instead of -
     -> empty files show -/- instead of 0/0 as current position / filesize-1
[-] vmDump/Hex/Asm: crashed on switch to editor on empty files [A]
     -> fviewer.TFileViewer.HandleEvent().cmEditFile didn't check if the current
        file is empty
[+] vmAsm: codepage is applied to the operands (strings in "")
     -> added keymap.XLatBuf() usage to fviewer.TFileViewer.Draw().vmAsm
[-] vmText: "tab = CRLF" and missing tabs bug in non wrapped mode (Goplat) [A]
     -> fviewer.TFileViewer.MakeLines().vmText used BufMaxSize to limit the line
        length; in case of small files (as the test file) this was bad;
        now using MaxLongInt
[-] crash when opening files which appeared to be a FIDO .pkt file [NC]
     -> F:\ndn\source\!viewcrash.rar, better header detection in
        pktview.IsPktFile() according to FTS-0001

[-] day of week string was not correct (Rugxulo) [A]
     -> timedate.GetWeekdayString() now uses the absolute string length instead
        of dividing by 7 and checking for 2 and 3
[-] In 12-hour mode, when the time is 12 AM or 12 PM, the clock showed "00" as
     the hour instead of "12" (Goplat)
     -> gauges.TClockView.FormatTimeStr() didn't handle AM/PM correctly; merged
        with timedate.FormatTimeStr() to have a single point for time string

[-] AM/PM file time was incorrect: AM showed 12:?? as 00:?? (Goplat) [C]
     -> timedate.MakeDateFull() incorrectly showed the AM 12:?? as 00:??

[-] bad history entries crashed NDN [DN]
     -> histries.FreeLastUnmarked().IsThat() didn't check pointers for nil

[+] added following functions: {C}
     int, hyp/hypot, sgn, sech, csch, arcsech, arccsch, log2, log10, min/max,
[*] improved calc.Log(), now used by lg/log2/10
[+] Evaluate button writes the result in selected format {C}
     result is copied to clipboard with correct suffix
     -> added calc.ConvertValueToString(), which formats the selected result and
        returns it's string
     -> used in calc.TIndicator.HandleEvent().cmCopyClip and
[+] added suffixes: KMGTPE {C}
     -> modified calc.GetValue()
[+] added possibility to convert the result to any numeric system with base
     between 2 and 36 {C}
     -> modified resources, calc.TIndicator.Draw(), calc.InsertCalc()
[-] 7^7 = 823543 was 823543.000000000001 [NC] {C} (Slava)
     -> bug in calc.Step()
[-] 0-(0-(0-(0-(0-(0-(0-0)))))) = 0 (was NAN) [A] {C} (Slava)
     1+(5%4) = 2
     -> calc.?()
[-] E+E = 2*E = 2*Exp(0), $E+1 = $F [NC] {C} (Slava)
     -> bug in proc calc.TestSignE()
[-] long binary values now displayed correctly [A] {C} (Slava)
     -> calc.TIndicator.Draw().Wrt() checks the line length
[*] improved and extended the error strings: enum + "x = 0"
[+] added LnGamma(), Gamma() (slavik) / sinh(), tanh(), cosh(), arccsc(),
     arcosh(), arcoth() arsinh(), artanh(), csc(), replaced ctan() with cot(),
     added coth(), renamed grad() to deg(), added gonrad(), radgon(),
     gondeg(), deggon(), a!!
[*] rearranged the order for the operation name comparison to long->short,
     which makes comparison f.ex. for LOG easier because there must be no
     check for LOG2 and LOG10 -> calc.DoEval()
[-] the deg() function actually computed rad() and vice versa [DNC]
     -> exchanged both functions names and renamed them to degrad()/raddeg()
[-] 2^59/61/62/63 returned strange results (Eugeniusz Kosek) [NOC]
     -> calc.Step() was not able to handle these large values
        correctly, now uses math.Power() in every case
[*] 1+-1 gives syntax error (Vladimir Bochkarev) [NOC]
     -> improved the handling for single character operators like + or - in
        calc.DoEval(), now it's possible to combine all operators:
        good: 1+-1, 1-!1, 1*~1, 1+2!, ...
        bad : 1+--1, 1-!!1, 1*~~1, 1+2!!, ...
[*] removed the constant (de)allocation of the working string for each
     evaluation run
     -> calc.Evalue() doesn't allocate a string anymore but uses a local var

[-] clipboard appending with [CTRL-SHIFT-DEL] locked up the window drawing [A]
     -> microed6.EditorHandleEvent().cmClear incorrectly exited the function
[*] handles insert/overwrite modes in keyword completion
     -> added overwrite mode to namecomp.KeyWordCompletion(), used in

[-] Delete: couldn't stop counting directories/files [A]
     -> added CalcCancel() and abort checks to eraser.EraseFiles().CalcSize()
[-] Delete: file/dir counting crashed on too long directories [A]
     -> added check and directory name popup to eraser.EraseFiles().CalcSize()
[*] Delete: improved the speed of eraser.EraseFiles().CalcCancel() by setting
     the event check timer to 1/2 second

[+] Radio buttons, Check boxes: copy current string to clipboard
     -> added cm(Windows)Copy, kbCtrlIns handling to dialogs.TCluster.HandleEvent()

[*] moved the disassembler files to a new subdirectory called "disasm"
[+] new opcodes and new opcode name generation (makelist) {C/A}
     VMSAVE VMXOFF XGETBV XSETBV "in EAX, DX ($ED)" "fisttp [r32] ($DB 08..0F)"
     "fstp8 ($DF D0..D7)" "fstp9 ($DF D8..DF)" "fxch4 ($DD C8..CF)"
     -> modified cfg\makefile.dos to support the new opcode generation
[+] 64-Bit decoding {C}
     -> fviewer.TFileViewer.DecoderBase32 type was changed from bool
        to byte and corresponding code was modified accordingly
[-] 'mov e?x,[cdt]r?' byte #3 (register byte) must be >= $C0 (Slavka) [A]
     -> modified decoder._Other()
[-] cmovcc operands were bad (Slavik) {C}
     -> fixed operand handling in decoder.Scancode()._Group1()
[-] 8B1485... mov EDX, [EBP+EAX*4] -> mov EDX, [EAX*4 + $wwzzyyxx] (Slavik) {C}
     66817EFC.... cmp dword [ESI-4],... -> cmp dword ptr [BP-4],...
     -> decoder.Scancode().Mod_RM() was fixed

[-] the pre-NDN cursor was not correctly saved and restored [AV]
     - D32/DOS: cursor remains invisible after exit (Rugxulo)
     - W32 cursor shape not preserved/restored correctly (BorisK)
     -> drivers.TCursorInfo saved Shape1/2 as Integer in an union together
        with a Longint Shape to access both of the values which couldn't
        work, modified these to BYTE/BYTE and SMALLWORD and modified code
        according to it
     -> W32: vpsysw32.SysTV(S|G)etCurType() didn't correctly convert between
        the Windows<->Dos cursor information, now this is quite accurate
     -> D32: now using vpsysd32.SysTV(S|G)etCurType()
     -> added video.InitVideo().SaveCursor()


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


Have fun,

Stefan / AH

Share this post

Link to post
Share on other sites
FloX    0
Hello everyone.


Unfortunately, especially because of code merging, I couldn't do as much as I wanted to

in the past month. So this release is again mainly a bug fix release without much new

stuff. Hopefully in april...


This is also very important. Hunting a big bug in my last project is the reason why I haven't developed anything in the last 2 years... so it is very good, that you have the motivation :-)




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