The MASM Forum

Miscellaneous => Miscellaneous Projects => Topic started by: Lonewolff on March 16, 2016, 09:45:57 PM

Title: What sort of projects have been made in MASM32?
Post by: Lonewolff on March 16, 2016, 09:45:57 PM
Hey guys  :biggrin:

I'm interested to know what sort of projects people have made in MASM32.

Has anyone taken on any large scale projects like a game or anything like that?

I've been working on a game on and off for a year, and am intrigued with the thought of taking on the task in MASM for the 1337 factor.
Title: Re: What sort of projects have been made in MASM32?
Post by: Siekmanski on March 16, 2016, 11:20:41 PM
Answer : 1,7,191,1337 :badgrin:
Title: Re: What sort of projects have been made in MASM32?
Post by: Lonewolff on March 17, 2016, 07:13:33 AM
Bingo!  :greenclp:
Title: Re: What sort of projects have been made in MASM32?
Post by: Raistlin on March 18, 2016, 04:53:01 PM
Wrote a complete GUI- client, server, maintenance back-ends, reporting platform & xml parser, integrated accounting package interfacing (Pastel)
in assembler for an exchange  company/bank reporting to the South African Reserve Bank a couple of years ago - all of it could
fit on less than a stiffy disk - graphics and all. Could navigate (slide-bar) through 4900 records (typical monthly invoicing load)
in less than a second on a crappy PIII, 256MB RAM. People (programmers and system developers/consultants) thought I was crazy...
but shut up quickly when they saw the performance. Was developed over 6 months - which was typical for the same project using
other programming development platforms.

So large projects can and should be done in assembler - I don't care what the critics say, I know it's do-able for any purpose.
(PS: I am skilled in  11 programming languages (mostly all dead languages now) - the only one that sticks around through all the decades is assembler)

<edit - yes I'am an assembler zeolot>
Title: Re: What sort of projects have been made in MASM32?
Post by: avcaballero on March 18, 2016, 06:32:05 PM
Lately it seems that it is fashionable to make calls to virtual machines, which in turn call the operating system, with the loss of time and effort involved.

I think one of the big "problems" to write assembly code is that it can be fine-tuned almost to exhaustion, leading to significant loss of legibility. But the assembler could and should be as readable as any other.

It is not written in MASM, but I think a good example of a major project in assembler may be the MenuetOS (https://www.google.es/url?sa=t&rct=j&q=&esrc=s&source=web&cd=1&cad=rja&uact=8&sqi=2&ved=0ahUKEwih6e_Q28nLAhXLOxoKHcVtDHwQFggcMAA&url=http%3A%2F%2Fwww.menuetos.net%2F&usg=AFQjCNHRn1zLwMcCfpekhIUR48NInstySQ&bvm=bv.117218890,d.d2s) operating system.
Title: Re: What sort of projects have been made in MASM32?
Post by: BlueMR2 on April 06, 2016, 12:32:51 AM
Quote from: Lonewolff on March 16, 2016, 09:45:57 PM
Has anyone taken on any large scale projects like a game or anything like that?

I've been working on a game on and off for a year, and am intrigued with the thought of taking on the task in MASM for the 1337 factor.

I started a game in MASM32...  Took awhile to get started just because of my lack of knowledge of the Win32 API.  Previous games had been in C on DOS.  If I knew the API better I think the level of effort would be comparable.  Asm vs. C isn't a big deal.  The Win32 API is more complex to deal with, but you can also offload more.

However, what I underestimated is how much time I have available once getting married.  Once I get done working, take care of the car and house repairs, household chores, well, there's no time left to do any coding.
Title: Re: What sort of projects have been made in MASM32?
Post by: Vortex on April 06, 2016, 04:27:45 AM
Hostile Encounter :

http://oby.ro/rts/index.html
Title: Re: What sort of projects have been made in MASM32?
Post by: jj2007 on April 06, 2016, 08:31:14 AM
Many people here have written their own editors in assembler, RichMasm (http://www.masmforum.com/board/index.php?topic=9044.0) in my case. Afaik qEditor is written in assembler (http://masm32.com/board/index.php?topic=3606.msg37973#msg37973), too.
Title: Re: What sort of projects have been made in MASM32?
Post by: avcaballero on April 08, 2016, 07:55:34 PM
By the way, here (http://abreojosensamblador.netne.net/html/Pags_en/MyPrograms.html) some small programs that I made using mainly asm. Some tiny games included.

Regards
Title: Re: What sort of projects have been made in MASM32?
Post by: BogdanOntanu on April 09, 2016, 03:39:57 AM
Besides Hostile Encounter RTS game http://www.oby.ro/rts/index.html that Vortex kindly mentioned above,

I have also made in asm:
- Solar OS  - http://www.oby.ro/os/index.html
- Solar Assembler: http://www.oby.ro/sol_asm/index.html
- Sol_Ray a mini ray tracer test: http://www.oby.ro/sol_ray/files/sol_ray_2006_07_31_bin.zip

Others well known projects made in asm:
- RadAsm asm IDE (made in MASM)
- FASM assembler
- Menuet OS x32 and x64
- Kolibri OS (Menuet fork)
Title: Re: What sort of projects have been made in MASM32?
Post by: Oliver Scantleberry on April 09, 2016, 12:56:42 PM
Quote from: Raistlin on March 18, 2016, 04:53:01 PM
Wrote a complete GUI- client, server, maintenance back-ends, reporting platform & xml parser, integrated accounting package interfacing (Pastel)
in assembler for an exchange  company/bank reporting to the South African Reserve Bank a couple of years ago - all of it could
fit on less than a stiffy disk - graphics and all. Could navigate (slide-bar) through 4900 records (typical monthly invoicing load)
in less than a second on a crappy PIII, 256MB RAM. People (programmers and system developers/consultants) thought I was crazy...
but shut up quickly when they saw the performance. Was developed over 6 months - which was typical for the same project using
other programming development platforms.

So large projects can and should be done in assembler - I don't care what the critics say, I know it's do-able for any purpose.
(PS: I am skilled in  11 programming languages (mostly all dead languages now) - the only one that sticks around through all the decades is assembler)

<edit - yes I'am an assembler zeolot>

Actually, its assembly. Assembler is the program that processes the assembly code. Funny that you don't seem to know that.
Title: Re: What sort of projects have been made in MASM32?
Post by: Biterider on April 09, 2016, 04:14:49 PM
Hi
Some time ago and together with some good friends of mine, using ObjAsm32 we wrote 3 projects:
Biterider
Title: Re: What sort of projects have been made in MASM32?
Post by: Raistlin on April 11, 2016, 04:08:14 PM
@Oliver : Actually, its assembly. Assembler is the program that processes the assembly code

Yes but there's only one MASM is'nt there <zeolot look>   :shock:
Title: Re: What sort of projects have been made in MASM32?
Post by: jj2007 on April 11, 2016, 05:42:12 PM
Quote from: Biterider on April 09, 2016, 04:14:49 PMusing ObjAsm32 we wrote 3 projects

Compliments, you confirm that assembler has its uses in really professional projects :t

(and I suspect that many video and audio codecs are written in assembler, too...)

EDIT: http://www.tiobe.com/tiobe_index - have a look at rank #12, it's the biggest winner this time!
Title: Re: What sort of projects have been made in MASM32?
Post by: Raistlin on April 12, 2016, 03:53:23 PM
EDIT: http://www.tiobe.com/tiobe_index - have a look at rank #12, it's the biggest winner this time!

WOW! - thanks jj2007 - I'am definitely showing this to my students  :t
Title: Re: What sort of projects have been made in MASM32?
Post by: raymond on April 16, 2016, 09:35:20 AM
QuoteHas anyone taken on any large scale projects like a game or anything like that?

I've posted a description of my 10-pin bowling game in the DOS forum if you're interested.

Other significant projects of mine included:

(i) A "cash register" program to be used with a laptop at a public market, keeping track of each individual product purchase, total net cash collected, credited amounts to two credit cards and a bank card, and a few other options; I wanted to include the facility to read barcodes but the project did not reach its full potential.

(ii) An electronic ledger (to replace manual bookkeeping) for the small subdivision where I live; that subdivision has not yet been turned over to the municipality and residents are responsible for all maintenance expenses based on a budget approved yearly by the residents. As budget director at the time, I needed (and wanted) to have easy access to past years data for budget preparation.

N.B. Everything I do is 100% in assembly; I don't know any other language.
Title: Re: What sort of projects have been made in MASM32?
Post by: khandum on May 05, 2017, 06:40:10 AM
Quote from: Raistlin on March 18, 2016, 04:53:01 PM
Wrote a complete GUI- client, server, maintenance back-ends, reporting platform & xml parser, integrated accounting package interfacing (Pastel)
in assembler for an exchange  company/bank reporting to the South African Reserve Bank a couple of years ago - all of it could
fit on less than a stiffy disk - graphics and all. Could navigate (slide-bar) through 4900 records (typical monthly invoicing load)
in less than a second on a crappy PIII, 256MB RAM. People (programmers and system developers/consultants) thought I was crazy...
but shut up quickly when they saw the performance. Was developed over 6 months - which was typical for the same project using
other programming development platforms.

So large projects can and should be done in assembler - I don't care what the critics say, I know it's do-able for any purpose.
(PS: I am skilled in  11 programming languages (mostly all dead languages now) - the only one that sticks around through all the decades is assembler)

<edit - yes I'am an assembler zeolot>

I have an idea but was worried I can't do it in assembly. Now you gave me hope. Thank you!!!
Title: Re: What sort of projects have been made in MASM32?
Post by: Raistlin on May 05, 2017, 03:44:42 PM
Glad to inspire khandum !!

For the high-level guys that say ASM projects are time consuming and error-prone/ unreadable / un-debugable
-----------------------------------------------------------------------------------------------------------------------
1) the idea is to construct a library (just like the high level language guys do btw ** It's just that they get handed such on a platter and we don't )
   HINT: use base as supplied (MASM / JWASM packs/ loads more) and add your own over time
--> NOW you HAVE: re-usability of code // readability  // debug-ability  // reduced development time frames

2) stick to templates for code frameworks  (just like the high level language guys do btw)
   HINT: have a look at master coders like: --hutch, vortex, jj2007, Siekmanski, Ray Filiatreault etc...code samples - take the best away from it
   HINT: comment often // use header comments explaining a span of code for a procedure/function etc. // use INVOKE with parameters constructs // use data STRUCTS
--> NOW you HAVE: re-usability of code // readability  // debug-ability  // reduced development time frames

3) use a modular design paradigm - grow your project  (just like the high level language guys do btw)
   HINT: use the Easy Code IDE or RADASM to manage your code // use the features inherent to create multiple backups or code revisions
--> NOW you HAVE: debug-ability  // reduced development time frames // code versioning

4) have a can do attitude - failure is not an option - use your passion - if it doesn't work one way - try another - if that doesn't work
    post a message in the forum - and we'll make it work !

<edit : spelling corrections via jj2007  :greensml: >
Title: Re: What sort of projects have been made in MASM32?
Post by: LordAdef on May 05, 2017, 07:27:09 PM
Quote from: Raistlin on May 05, 2017, 03:44:42 PM
Glad to inspire khandum !!

For the high-level guys that say ASM projects are time consuming and error-prone/ unreadable / un-debugable
-----------------------------------------------------------------------------------------------------------------------
1) the idea is to construct a library (just like the high level language guys do btw ** It's just that they get handed such on a platter and we don't )
   HINT: use base as supplied (MASM / JWASM packs/ loads more) and add your own over time
--> NOW you HAVE: re-usability of code // readability  // debug-ability  // reduced development time frames

2) stick to templates for code frameworks  (just like the high level language guys do btw)
   HINT: have a look at master coders like: --hutch, vortex, jj2007, Siekmanski, Ray Filiatreault etc...code samples - take the best away from it
   HINT: comment often // use header comments explaining a span of code for a procedure/function etc. // use INVOKE with parameters constructs // use data STRUCTS
--> NOW you HAVE: re-usability of code // readability  // debug-ability  // reduced development time frames

3) use a modular design paradigm - grow your project  (just like the high level language guys do btw)
   HINT: use the Easy Code IDE or RADASM to manage your code // use the features inherent to create multiple backups or code revisions
--> NOW you HAVE: debug-ability  // reduced development time frames // code versioning

4) have a can do attitude - failure is not an option - use your passion - if it doesn't work one way - try another - if that doesn't work
    post a message in the forum - and we'll make it work !

<edit : spelling corrections via jj2007  :greensml: >
Hello sir,
this post is actually an inspiration for me too! Hutch should attach this quote in a relevant place.

I'm quite fed up to read Prefaces (at al) saying the same bullxxxt that asm is good only for small routines, optimization of critical loops bla bla. Even guys that do assembly sometimes fall into this prayer.

Same for C++ advocates profiling dodgy examples only to say asm is irrelevant.

This is what pushed many many people like me away from learning asm earlier.

But it's never too late to get it right. I'm sticking to masm for life now, never to come back.

ps: I don't even care to write slow asm. It's a joy even in slow code  :bgrin:
Title: Re: What sort of projects have been made in MASM32?
Post by: jj2007 on May 05, 2017, 08:26:04 PM
My experience with "big" projects (10,000+ lines - still small...) is limited to two languages: GfaBasic (now defunct) and Masm32.

GfaBasic was, at the time I started in the late 80s, a remarkable mix of Pascal and BASIC elements, it was fast and elegant. But it was a 16-bit dialect, and its author was not motivated to port it into 32-bit land.

That's why I started using the Masm32 SDK. My editor is now at almost 20k lines of code, my library exceeds 30k. Total number of source files written in Masm32/MasmBasic (with *.asc ending ;)): 4,956. Note that both RichMasm and MasmBasic consist of one single source file that loads in less than a second; RM builds in less than a second, the whole MB library in three seconds. For comparison: opening the Visual Crap IDE takes several minutes.

Common to Masm32, MasmBasic and Gfa: They work. You throw a little source at the compiler/assembler, and it does its job :t

I do use C/C++. I am not as good as in Gfa or Masm32, of course. But really, I've given these languages more than one chance. And every time it turns out to be just an ugly mess. No single source so far could be built with more than one compiler (I've tried Pelles C, so far the best, VC, Gcc, Tiny CC), and fortunately I have not even tried on 'nix systems. Visual Crap is slow like hell, and it can't recognise its own "projects" if they are older than a handful of years. Every time I touch this crap, I end up spending hours on the web reading the desperate cries for help of fellow victims of these "languages" staring at incomprehensible and unexplainable error messages.

Really, C/C++ is a horrible, painful mess. Plus the ugly syntax that must be a blessing for doctors specialised in {repetitive stress injury}. What I particularly dislike is the arrogant "we are the professionals, you are just hobby coders" attitude of the C/C++ gang. I am confronted with "professional" products all the time, they are called Windows, Office, Acrobat and the like, and they are proof that these languages are not suited for professional programming 8)

Visual Basic? I've considerable experience in VBA for MS Word and Excel, and it's much better than its reputation, but still, Gfa was better, and MasmBasic is much better nowadays.

PowerBasic? Not my cup of tea, but it does look good, and is probably the best commercial BASIC dialect around.

Python looks good, and has remarkably fast built-in functions (sorting, for example), but they messed up completely the transition from version 2 (2.7) to 3 (3.4). If I had to start from scratch, I would give it a try.
Title: Re: What sort of projects have been made in MASM32?
Post by: Siekmanski on May 05, 2017, 10:47:49 PM
Many years ago I accepted a freelance job to write a program for collecting data from an industrial robot.
Had to translate messages, xyz movements etc. written to files and show the movements of the the robot in a 3D animation on screen.
It was for learning purposes for the operators.

When i send the program (47kB in size) they where very happy with it.
But there was a "securety" problem, the head of the IT department didn't allow crunched/packed executables. I told him the executable wasn't packed or crunched but written in assembly.
The strangest conversation i had with an "IT professional" was that day. It could only be done in C++ blah blah blah, because that was the language professional programmers used, blah blah blah. Assembly was ancient unreadable not maintainable blah blah...
At the end of the conversation i told him i would send him the source code to check and build it himself.
The next week i got an email from a programmer of his department, he liked the way i coded it, the many comments in the code and how nice structured everything was written. Long story but, this same guy programmes now in assembly most of the time.

I don't do freelance coding jobs anymore, too much of a hassle.
Title: Re: What sort of projects have been made in MASM32?
Post by: felipe on May 05, 2017, 10:58:27 PM
I have done some games in assembly using MASM 5.0 in MS-DOS 7.10 that run in FREEDOS too.  :icon_eek:
Title: Re: What sort of projects have been made in MASM32?
Post by: anunitu on May 06, 2017, 12:27:10 AM
There was(though I can not remember who was part of it) a full scale game project done in assembler. Other members might remember this.
Title: Re: What sort of projects have been made in MASM32?
Post by: rsala on May 06, 2017, 03:11:26 AM
Easy Code is entirely made in MASM32.
Title: Re: What sort of projects have been made in MASM32?
Post by: Raistlin on May 06, 2017, 05:22:02 AM
Sorry, just had to do this:
A)
Which computer language is ALWAYS
the first AND last of any computing platform.
B)
Which computer language is ranked 12th in the world.
C)
Which computer language is the defacto standard
for all compiler (any high level language) ultimate output

Sorry no rewards for 'not guessing' the correct answer
Title: Re: What sort of projects have been made in MASM32?
Post by: TWell on May 06, 2017, 06:28:20 AM
A. assembler and C as with C someone can generate a virtual opcodes to a virtual CPU without assembler ;)
Title: Re: What sort of projects have been made in MASM32?
Post by: Raistlin on May 06, 2017, 06:38:59 AM
and in what language was the C compiler written?
Title: Re: What sort of projects have been made in MASM32?
Post by: TWell on May 06, 2017, 06:50:34 AM
Perhaps cross compiler is written in C ;)
This is a dilemma. Usual chicken add egg dilemma.
Think about C compiler backends.
Do they need any assemblers for that?
Title: Re: What sort of projects have been made in MASM32?
Post by: raymond on May 06, 2017, 06:57:47 AM
Quote from: Raistlin on May 06, 2017, 06:38:59 AM
and in what language was the C compiler written?

This would all depend on which version of that C compiler you are looking at.

I can remember when I started with assembly for the Z-80 (on a Tandy Radio Shack TRS-80), all my first programs had to be hand coded. I then decided to write myself an assembler which initially also had to be "hand coded". All future revisions could then be assembled with the latest one. Something similar would probably have been done with revisions of the "C" compilers, only the original version having required assembly.
Title: Re: What sort of projects have been made in MASM32?
Post by: anunitu on May 06, 2017, 07:35:31 AM
I am thinking Machine code,though many do not know that machine code and assembler are not the same.

As this:
Assembly language is a more human readable view of machine language. Instead of representing the machine language as numbers, the instructions and registers are given names (typically abbreviated words, or mnemonics, eg ld means "load"). Unlike a high level language, assembler is very close to the machine language.Aug 10, 2009

You could enter your code using direct binary or in some cases Hexadecimal,but it is much easier to use a compiler to generate from assembler instructions. :redface:

http://researchpedia.info/difference-between-assembly-and-machine-language/
Title: Re: What sort of projects have been made in MASM32?
Post by: anunitu on May 06, 2017, 07:50:58 PM
Quote from: anunitu on May 06, 2017, 12:27:10 AM
There was(though I can not remember who was part of it) a full scale game project done in assembler. Other members might remember this.

I believe that this is the game,but not done in a masm assembler,but Game is fully written in Sol_ASM

http://oby.ro/rts/
Title: Re: What sort of projects have been made in MASM32?
Post by: BogdanOntanu on May 07, 2017, 07:55:52 AM
Quote from: anunitu on May 06, 2017, 07:50:58 PM
Quote from: anunitu on May 06, 2017, 12:27:10 AM
There was(though I can not remember who was part of it) a full scale game project done in assembler. Other members might remember this.

I believe that this is the game,but not done in a masm assembler,but Game is fully written in Sol_ASM

http://oby.ro/rts/

Yes, but it was originally written in MASM32, then converted to TASM and then converted to Sol_ASM ;)
Title: Re: What sort of projects have been made in MASM32?
Post by: LordAdef on May 07, 2017, 08:24:38 AM
As far as I know, coding in Masm/Masm32 is as simple as coding in C once you get the grip of it.
C++ is different beast which I never wanted to dive in, and it's slower than pure C anyway.