Show Posts

This section allows you to view all posts made by this member. Note that you can only see posts made in areas you currently have access to.

Topics - jj2007

Pages: [1]
About dialect development / Plug-ins for the RichMasm editor
« on: 01. February 2017, 13:46:03 »
RichMasm has a comfortable plug-in interface, giving access to e.g. the selected text, the handle to the RichEdit control, etc.

Attached the CompileBasic plugin for compiling sources written in a dozen BASIC dialects, plus some C/C++ variants. Extract to \Masm32\MasmBasic\Plugins; after a restart of RichMasm, the plugin will be in the System & Plugins menu. From then on, you can just paste a source code in RichMasm, then hit Ctrl F5 to compile it (provided the paths are set correctly, see CompileBasFiles.ini).

Once your source compiles correctly, a simple F5 will be sufficient. You can always use Ctrl F5 to see the dialog and change any commandline settings.

Code and examples / Gdi+
« on: 26. January 2016, 23:17:41 »
Currently playing with GdiPlus - interesting, but very difficult to debug. If a parameter is, ehm, slightly off, the API throws an exception, and Win7-64 has the bad habit to "handle" them internally, meaning the debugger doesn't catch them. A typical Microsoft "feature" >:(

Code and examples / A simple chess board
« on: 31. December 2015, 13:55:56 »
GuiParas equ "A simple Chessboard", x100, y-20, w800, h760, cblack, s0, bnone
include \masm32\MasmBasic\Res\MbGui.asm
  SetGlobals White$, Black$, Board$
  Let Board$="Board.png"
  .if !Exist(Board$)
      void FileRead$("")
      Rename "~FrLocal.tmp", Board$
  MakeFont ChessFont, Height:84
Let White$="♖♘♗♔♕♗♘♖♙♙♙♙♙♙♙♙"
Let Black$="♜♞♝♚♛♝♞♜♟♟♟♟♟♟♟♟"
Event Paint
  GuiImage Board$, fit            ; we need to scale it a little bit
  GuiTextStyle font ChessFont, fcol RgbCol(255, 128, 0)
  invoke SetBkMode, PtDC, TRANSPARENT
  scaleX=33      ; some fiddling with
  scaleY=92      ; image dimensions
  For_ ecx=1 To 21 Step 3
      GuiText ecx*scaleX+xoff, y1, Mid$(White$, ecx, 3)
      GuiText ecx*scaleX+xoff, y2, Mid$(White$, ecx+24, 3)
      GuiText ecx*scaleX+xoff, y7, Mid$(Black$, ecx+24, 3)
      GuiText ecx*scaleX+xoff, y8, Mid$(Black$, ecx, 3)

Source & exe attached, requires MasmBasic.

Community news and announcements / MasmBasic
« on: 23. December 2015, 19:41:56 »
Hello everybody,

For those who don't yet know me from I am Jochen, and my hobby is a particular dialect of BASIC:

MasmBasic "compiles" with the standard Microsoft macro assembler aka MASM (and some clones like JWasm and AsmC).

The latest version is always available here at the Masm32 forum. You can find a badly organised overview of the commands here.

MasmBasic is extremely fast and strong on strings (including Unicode) but somewhat weak on arithmetics. Since it is an assembler library, you can do absolutely everything with it, provided your OS is Windows and an Intel or AMD CPU are working under the hood.

Latest features can always be found at the end of the Masm32 thread, currently here.

Here is a screenshot of an application showing three types of edit controls (Scintilla, ordinary Windows edit control, RichEdit) in a resizable window. The source code (here) is a whopping 18 lines long:

P.S.: My sincere thanks to the Retrogamecoding Forum for hosting the "leftovers" of

Pages: [1]