News:

Masm32 SDK description, downloads and other helpful links
Message to All Guests
NB: Posting URL's See here: Posted URL Change

Main Menu

Recent posts

#71
Windows API / Re: Dialog units vs. screen un...
Last post by NoCforMe - April 19, 2025, 09:19:18 AM
Quote from: zedd151 on April 19, 2025, 09:16:03 AMJust to be clear, is that created with your dialog proggy?
Yepper.
QuoteHave you tested a dialog box created with ResEd?
No, and it wouldn't make any difference. A dialog is a dialog.
You can go ahead and try it if you like.
#72
Windows API / Re: Dialog units vs. screen un...
Last post by sinsi - April 19, 2025, 09:19:04 AM
How about some code?
#73
Windows API / Re: Dialog units vs. screen un...
Last post by zedd - April 19, 2025, 09:16:03 AM
 :biggrin:
I'll take a look in a few, when I'm back inside. Wait no attachment??
Glad you started the "heavy lifting", I was going to do something similar tomorrow.  :joking:

Just to be clear, is that created with your dialog proggy?

Have you tested a dialog box created with ResEd?

MapDialogRect appears to return dialog units -1, not pixel based coordinates.
#74
Windows API / Dialog units vs. screen units
Last post by NoCforMe - April 19, 2025, 09:08:02 AM
I made a li'l testbed to test how MapDialogRect() works when converting dialog units to screen units.

(For those who are just tuning in, when you create a Windows dialog, the units used--both locations and sizes (width/height) of things are given in dialog units, which are different from screen units, which are pixel dimensions on the actual display.)

I created 3 edit controls of different widths. I used MapDialogRect() to convert each control's dimensions in dialog units to screen units and displayed it.

Then I got each edit control's actual size, using GetWindowRect() and displayed it.

I do not understand the results at all.

You cannot view this attachment.

Just to be clear:
  • The first set of #s is the dialog units for the control, hard-coded
  • The second set of #s is the return from MapDialogRect()
  • The 3rd set of #s is the return from GetWindowRect() for the control
    (adjusted so I'm getting the actual W/H, by subtracting .left from .right and .top from .bottom)

Of course, it is possible I made a mistake somewhere, but I don't think so.
Why is the displayed actual size (the last set of #s) almost the same as the dimensions in dialog units (-1 on both W & H)?
This makes no sense to me.

I double-checked using WinSpy to get the actual dimensions of all the edit controls, and they match my results exactly.

??????????
#75
MasmBasic & the RichMasm IDE / Re: MasmBasic
Last post by zedd - April 19, 2025, 08:59:40 AM
Quote from: LordAdef on April 19, 2025, 08:31:01 AMHi JJ,

I downloaded the latest version. Question from a lazy searcher: whats is JBasic?
MasmBasics' long lost big brother?  :tongue: jk
I believe it is like MasmBasic but specifically for 64 bit programming.
#76
MasmBasic & the RichMasm IDE / Re: MasmBasic
Last post by LordAdef - April 19, 2025, 08:31:01 AM
Hi JJ,

I downloaded the latest version. Question from a lazy searcher: whats is JBasic?
#77
ObjAsm / Re: New Editor
Last post by Biterider - April 19, 2025, 06:02:03 AM
Hi
Finally, I was able to implement the undo/redo feature, which was not as complicated as I expected, but not trivial either.
It boils down to having some basic insert and delete routines for characters and lines in a way that they complement each other. For example, you can undo the insert routine with the delete routine and vice versa.
Once that is in place, it is a matter of keeping track of the changes and sending them to the right routines to undo or redo an action.

A key element is the grouping and aggregation of actions. For example, deleting several lines at once needs to be perceived as a single action, not as deleting one line at a time. The solution is to group all these deletions together and process them together.

Aggregation is slightly different because it groups together single actions, such as keystrokes when typing a word. The whole sequence of keystrokes must also be perceived as a single action.

After implementing all this, I uploaded the new binary in the first post. I also added indentation/outdentation and comment/uncomment to the toolbars, and disabled SEH for the time being to make it easier to find the bugs.

Regards, Biterider

#78
The Orphanage / All of my activity on MASM32 f...
Last post by ognil - April 19, 2025, 01:05:57 AM
QuoteYou received a warning for insulting other users and/or staff members and were informed that further action would be taken, if you did not cease these activities and abide by the forum rules. Your ability to post, has been temporarily suspended. When that functionality is restored, your future posts will be Moderated.
:smiley:
Hate speech, as well as direct insults to other people, are beyond the scope of my current intellectual level, level of education, home upbringing, and what I have learned from my karate sensei (senfan).
All of my activity on MASM32 is attached as proof of the lack of insults to any forum member, with the attachment linking to http://ognil.ihostfull.com/ with titles and explanations from Doubao AI.  :smiley: 

NB: Admin' EDIT
The mentioned 'Activity List' link has been removed.
Users can visit and investigate if they wish and can be bothered but please note it does Not contain ALL of ognil's Activity on this site.
It ONLY contains the posts initiated by him here and perhaps judiciously, does NOT contain any of the often Disrespectful Replies to other members in other threads and topics that created this current Moderated Status of this user.


Also, in discussing this 'post' with the Admin' Team, prior to approval, a user suggested Avast had reported this as a possibly dangerous site, containing "HTML:Script-infEmu[Susp]" and blocked it.

#79
16 bit DOS Programming / Re: 3d moonlander w scrolling ...
Last post by FORTRANS - April 18, 2025, 08:15:58 AM
Hi,

Quote from: daydreamer on April 17, 2025, 04:34:47 PMThe current code is based on realise that segmented mode not necessarily need to be use it like bank switching,but 320 bytes line in mode 13h is evenly divided by 16, so decrease / increase a segment register from ram I copy landscape from = scroll up /down

   As bugthis implied, since the Mode 13 video memory is less than 64kb,
you can address the entire screen without modifying a segment register.
If you use the string copy instructions, it is probably simpler to have
the segment register(s) point to the start of the video memory and just
use differing offsets in DI and SI.

Cheers,

Steve N.
#80
16 bit DOS Programming / Re: [BX], OFFSET BUG - JWASM s...
Last post by bugthis - April 18, 2025, 04:45:03 AM
Quote from: lucho on April 18, 2025, 01:39:56 AMVisual Studio includes MASM and can be downloaded and installed free of charge. See this topic in this forum:

https://masm32.com/board/index.php?topic=8732.0

By the way, the MASM32 package includes MASM 6.14. Take into account that MASM versions newer than 6.11d require Windows but work with the HX DOS extender too.
Thanks for the information. Strictly speaking, I don't have a more recent 16-bit version of MASM than the one I mentioned. The assembly language book I bought back then came with a 32-bit version of MASM for Windows on CD-ROM, but unfortunately, there wasn't a 16-bit version included. And I'm using Linux as host system and FreeDOS in a VM for programming in assembly, so no Windows.

The MASM 5.10 version included with the MS-DOS 4.0 source code release is the only legal and still publicly available source for a 16-bit binary of MASM that I know of.

That's why I use JWASM. As a nice side effect, I can also put it through its paces. It is also included in the FreeDOS distribution.

I didn't know that the 32-bit Windows version of MASM was supposed to work under DOS with the HX DOS extender. I might try that.