flat assembler
Message board for the users of flat assembler.
Index
> IDE Development > 1'000'000 bugs in FASM DOS IDE (mostly fixed now ;-) ) |
Author |
|
DOS386 29 Nov 2008, 09:39
.
. WARNING: this is obsolete, IDE from 1.67.35 has most the bugs fixed + INI support + directory browsing + debug support, just no [F1] . . Updated DOS IDE : Download now : (160 KiB) (note: based on 1.67.29 package, not up to date) . . Well, almost 2 years elapsed since Tomasz fixed last 2 bugs in FASM DOS IDE pointed by me, see here (2007-Jan), so the time has finally come to fix a bit more The PF bug from 2008-Mar got fixed by Tomasz (just 2 bytes changed) in 1.67.19 release, see here (2008-Nov), also the memcorrupt bug (discussed by PM only) got fixed (just 2 instruction added) by him and is included here. Many other things (bugs + optimizations + enhancements) got fixed by me, most of them never mentioned here before, most notably the [F1] thing I had missed so badly I didn't fix the "DEL-BUG" , see here (2008-Jan) because it's a feature, not bug . Known FASM DOS IDE issues: BUG (fixed) Memory corruption 18...140, fixed by Tomasz after 1.67.29, thus fix not included in 1.67.29, but in 1.67.32 and here it is BUG (fixed) Page Fault bug in line 1010, see here (2008-Mar), fixed by Tomasz in 1.67.29 BUG (NOT fixed) S&R works badly, bug shared with Win32 IDE, see here (2007-Aug) BUG (fixed) Always hanged on 8086 (no VGA jump is near, no DPMI jump is near -> POPE CS !!!) fixed in 1.67.32 also BUG (fixed) Code handling DPMI selector brewing failure assumed "True DPMI" , thus it printed garbage with CWSDPMI BUG (fixed) "_copyright" defined but not used anywhere BUG (fixed) Ctl-N and Ctl-BckSpc working but undocumented also fixed in 1.67.32 COS (fixed) "draw_centered_window" centered badly COS [fixed) "draw_window" title not nice enough OPT (fixed) Cursor hiding was inefficient and messy OPT (fixed) "number_as_text" was very messy, inefficient and bloated, fault shared with Win32 IDE and commandline versions, thus contributing 25 bytes saving into the war on 64 KiB limit in CS in unreal mode !!! OPT (fixed) Time boasting code was more bloated than necessary, fault shared with Win32 IDE and commandline versions, thus contributing 7 more bytes saving into the war on 64 KiB limit in CS in unreal mode !!! ENH (fixed) Text dump of EXE looked badly, see 2 lower shots, see also "No version" issue and [F1] issue below ENH (fixed) No version, fixed, see also [F1] issue below ENH (fixed) Help & About on [F1], see 2 upper shots ENH (semi-fixed) Vertical selection: implemented by Tomasz from the beginning, but hidden, partially "fixed" with my [F1] fix, still missing hor/ver status in bottom info line ENH (NOT fixed) Directory browsing, Win32 IDE has "external" support ENH (NOT fixed) Mouse support, Win32 IDE has "external" support OPT (NOT fixed) Segmented non-ZERO based memory model ENH (NOT fixed) Requires a DPMI host COS (fixed) Suboptimal "No DPMI host" message, pointed 1'000'000'000 times by this guy ENH (NOT fixed) "predefinitions" not supported, nor in Win32 IDE ENH (NOT fixed) Debug output not supported, nor in Win32 IDE ENH (NOT fixed) Compiler options not supported, partially in Win32 IDE ENH (NOT fixed) Usage of .INI file not supported, unlike Win32 IDE ENH (NOT fixed) Progress indicator for load and save Changes: (- 9 bytes) Fixed "draw_centered_window" centering, in "draw_window" moved box title by 1 char to the right -> nicer, cursor hiding clean up: optimized "update_cursor" , renamed "cursor_out_of_sight" -> "hide_cursor", promoted the piece to a sub, ensured EDX and EDI preservation, deleted cursor hiding from "compilation_directory_ok" and "message_drawn" (+ 4 bytes) Applied Tomasz's patch for the memcorrupt bug (+ 32 bytes) Re-added test for 80386, optimized VGA test, optimized DPMI selector brewing, fixed "True-DPMI-bug" , nicer and more informative complaints, better "No DPMI" message, large rearrangements resulting in 99% of jumps short instead of 99% near, obfuscated real mode complaints, see 2 bottom shots why (+ 51 bytes) Updated VERSION.INC (a few files like FORMATS.INC do need adjustments, this adds version into DOS IDE, also should finally fix the versionning chaos and expired copyright trouble) , optimized usage of VERSION.INC, optimized "startup_failed" jumps and some "mov ecx"-stuff, adjusted "draw_caption" (+ 992 Bytes) Implemented Help & About (for [F1] key see below), also gets displayed at startup if no files loaded, see 2 upper shots (- 15 Bytes) Added support for [F1] in key evaluation and optimized a few jumps, also moved "call ascii_table_window" stuff (- 25 bytes) Optimized "number_as_text" and renamed it to "number_to_string_dec" (- 7 bytes) Optimized time boasting code (no bytes) Added some comments (no bytes) Updated (C) (dont count) Updated TFM file -------------- (+ 1023 Bytes) total bloat effect of my changeset 95'449 Bytes final EXE file size This is a result one can't avoid to be very proud of, considering the 1110 Bytes size of only the raw key index text I added !!! Of course I could have pushed it below a decimal drivemaker's "kilo Byte" of <= 1000 Bytes as well with a few more dumb changes, though I discarded them now in favor of smarter optimizations in future. I raised the compiler core version to 1.67.30 and IDE version to 0.93.16 , what I would prefer to see in Tomasz's next release is 1.68 and 0.94 of course . . My new key index . . My new "About" box . . Any other development tool (compiler + editor) can compile itself within 0.2 seconds ??? It was at a Pentium ... would be even cooler to test on an 80386 running at 10 MHz ... I'm confident that FASM would pass . . When looking into "old" FASMD.EXE from 1.67.29, one sees only what can go wrong . . When looking into my new improved executable, one sees what it is (supposed to be) and what version . . (Offtopic) Known and unfixed FASM DOS commandline version issues: - Unreal mode and 64 KiB limit in CS (as of 1.67.28 from 2008-Nov the reserve was cca 256 Bytes with listing hack, 1.5 KiB without) - Gets no memory and crashes if RM, DPMI host present, no XMS, see here (2008-Feb) - "number_as_text" and time boasting code inefficient (see IDE issues above) - Debug output doesn't default to a useful filename |
|||
29 Nov 2008, 09:39 |
|
DOS386 15 Mar 2009, 02:50
rugxulo wrote: fastest I seemed to be able to reassemble FASM.EXE No IDE ? Obviously with IDE it takes longer Quote: running on RAM drive without cache turned on ??? Any benefit of caching RAMDISK to expect ? Quote: slowest was when I turned off the "turbo" button: 38.5 secs (which makes no sense Why ? Quote: what speed is the cpu running at then??? I thought 16 Mhz, but apparently not RTFM or test _________________ Bug Nr.: 12345 Title: Hello World program compiles to 100 KB !!! Status: Closed: NOT a Bug |
|||
15 Mar 2009, 02:50 |
|
rugxulo 19 Mar 2009, 04:11
Okay, so here's some more results in case anybody is interested:
Code: [ MS-DOS 6.22 ] Fri 02-27-2009>..\..\fasm fasm.asm flat assembler version 1.67.35 (7104 kilobytes memory) 4 passes, 11.4 seconds, 77646 bytes. [ MS-DOS 6.22 ] Fri 02-27-2009>scrndump unreal.txt ------------------------------------------------------------------ [ MS-DOS 6.22 ] Fri 02-27-2009>hdpmi32^..\..\fasm fasm.asm [ MS-DOS 6.22 ] Fri 02-27-2009>..\..\fasm fasm.asm flat assembler version 1.67.35 (6504 kilobytes memory) 4 passes, 11.6 seconds, 77646 bytes. [ MS-DOS 6.22 ] Fri 02-27-2009>scrndump dpmi_v86.txt ------------------------------------------------------------------ [ MS-DOS 6.22 ] Fri 02-27-2009>..\..\fasm fasm.asm flat assembler version 1.67.35 (6098 kilobytes memory) 4 passes, 9.3 seconds, 77646 bytes. [ MS-DOS 6.22 ] Fri 02-27-2009>scrndump c:ram_real.txt ------------------------------------------------------------------ [ MS-DOS 6.22 ] Fri 02-27-2009>hdpmi32^..\..\fasm fasm.asm [ MS-DOS 6.22 ] Fri 02-27-2009>..\..\fasm fasm.asm flat assembler version 1.67.35 (5492 kilobytes memory) 4 passes, 9.5 seconds, 77646 bytes. [ MS-DOS 6.22 ] Fri 02-27-2009>scrndump c:ram_dpmi.txt That's basically XMS (HIMEM.SYS) vs. XMS+EMS (HIMEM + EMM386) on my 486 Sx/25 w/ 8 MB RAM (total) running from the HD. The second two are the same but with a RAM drive (SHSURDRV from FDRV-3.ZIP). EDIT: The date is wrong (2-27) because the CMOS is dead, so ignore that, I don't have a time machine. |
|||
19 Mar 2009, 04:11 |
|
DOS386 22 Mar 2009, 02:29
rugxulo wrote: Okay, so here's some more results COOL. Takes cca 10 s on 80486. Having also the IDE compiled and with a free kernel would be even better ... no EMM386, just HDPMI32 (from IDE) vs Unreal (from commandline). Quote: date is wrong (2-27) because the CMOS is dead, so ignore that, I don't have a time machine. Better dead CMOS than dead OS |
|||
22 Mar 2009, 02:29 |
|
rugxulo 27 Mar 2009, 14:44
Okay, not to make a big deal out of it, but it seems to me that 1.67.37 lacks the flat real mode hack again. Is it not still planned for 1.68? Oh well, no huge loss I guess. It's a cool hack even if we don't really really need it (barely faster).
|
|||
27 Mar 2009, 14:44 |
|
Tomasz Grysztar 27 Mar 2009, 16:19
That's only temporary. I assure you 1.68 is going to have unreal working.
|
|||
27 Mar 2009, 16:19 |
|
DOS386 07 Apr 2009, 02:00
Tomasz Grysztar wrote: That's only temporary. I assure you 1.68 is going to have unreal working. Then I wonder why you didn't apply my 2 (see above) Quote:
patches yet |
|||
07 Apr 2009, 02:00 |
|
< Last Thread | Next Thread > |
Forum Rules:
|
Copyright © 1999-2024, Tomasz Grysztar. Also on GitHub, YouTube.
Website powered by rwasa.