News:

MASM32 SDK Description, downloads and other helpful links
MASM32.com New Forum Link
masmforum WebSite

Project GeneSys

Started by PBrennick, July 15, 2006, 03:21:38 PM

Previous topic - Next topic

PBrennick

Welcome to Project GeneSys.  Please be patient while I get things going, here.  This project, while similar to masm32, is really a separate and unique project.  The goal of this project is to provide an area to help beginners in assembly program come up to speed.  In this area, please feel free to post any code you have problems with and you will get patient, helpful advice.  The posting of code that does not work or generates errors is encouraged.  The only requirement that I will make of my userbase is, if you expect help, you need to post the entire project.  Remember, since you have generated the problem, you are the last person who should decide what portions need to be seen.

Paul
The GeneSys Project is available from:
The Repository or My crappy website

Vortex

Hi all,

Welcome to our latest project aimed to help coders who are making their first steps in the assembly language. We encourage members of the forum to post here every kind of interesting examples, tools,ideas which can help to promote the aim of the project. You know the famous Chinese saying : Every long journey begins with a single step and we would be gratefull to people who could join us in this long journey.

Erol

James Ladd

I can't think of two better guys to team and provide this incubator !!
Well done.

I'm still a beginner and I look forward to seeing what you come up with.
If this sort of post doesnt fit then I dont mind if you remove it.
If a web site is needed please let me know. Maybe a sub page to one of
mine can be used.

Good luck !!

Keep well,

Rgs, James.

PBrennick

James,
A website is a problem.  I had not thought I would get an offer so quickly.  On my own website, I have some bandwidth restrictions which I have been thinking might be a problem.

What do you have in mind?
Paul
The GeneSys Project is available from:
The Repository or My crappy website

James Ladd

PB,

What sort of restrictions do you have?
I have some space and bandwidth that is just not used so Im happy for you to
use it.

Make a plan of what your doing, when and how and Im sure we can work something
out. Maybe just a web page your end that re-directs to a sub-page my end.

Rgs, James.

Ghirai

Nice work guys  :U

Perhaps you should make this topic sticky.

Paul, if you have bandwidth issues, i can help (ftp access, sql, php, the standard stuff); pm me.
MASM32 Project/RadASM mirror - http://ghirai.com/hutch/mmi.html

Mark Jones

Nice work! But, this still feels very much like MASM32. If I may make an observation, the Iczelion tutorials function well enough for (some, maybe most) beginners to start coding simple applications, but historically these files are not a complete tutorial system per se, nor were they meant to be (hence the advent of GeneSys?) I bet a majority of potential ASM programmers simply disappear because they think it is too difficult to learn (I did for nearly 25 years!) The closest thing we currently have to an actual Win32 assembler tutorial is the Iczelion set, but they are really more like a large set of examples with explanations, than a real tutorial. They don't explain any of the mnemonics and how they work, just outline practical code. This "overview" style of learning may be fine for some, but from my experience nothing beats hands-on learning from the beginning. (Ratch is probably smiling right now...) :bdg

I for one, have a difficult time learning by reading and even learning by following-along. I must DO something new to learn it, not see it and read it and memorize it. I read and see so much text on a daily basis that my brain has developed a permanent L1 cache just to buffer it all - which resets every night. If I have to write the code myself, using steps I have learned previously, then typically I learn quite well. The majority of educators in recent years have shifted teaching methods from reading and writing to videos and lab excercises, precisely because of this reason: we learn better by seeing and doing rather than reading and memorizing. (We still are monkeys, after all... "monkey see, monkey do!") :P

Therefore, since GeneSys is still in it's infancy stages, perhaps now is the best time to think long and hard about exactly what this package will achieve and wether or not it is going to be a revolutionary tutorial. Not to say that examples are invaluable or to overstep my bounds, but if the Devs have the choice, perhaps they should consider actually making an official, hands-on, full-fledged assembler-language tutorial, working up from all the basic opcodes to the highest-level constructs. This will finally explain all the ins-and-outs of HOW the system works and WHY it works, instead of just providing a collection of code snippets which do things but rely on you believing someone else's interpretation of HOW and WHY they work. That's indirect-learning, at best. In short - put the assembler in the hands of the student, give them tips about what to do and how to do it, but make them do all the work (and thus, reap all the rewards.) :U

As ironic as it sounds, I belive that making the most fabulous library in the world is only going to hinder the student, because they are not learning what you learned making that library! Give them just enough simple tools to complete a task, and gradually introduce more material.

To accomplish this, think of what would be needed to move from an example-based learning method to lab-based learning. Here is a speculative list of considerations:

1. First, a short but concise guide about what the x86 processor is and how it works. Just enough to explain what registers are and how memory is accessed, with a quick overview of DOS and Win32 differences. Leave the rest of the details for later.

2. There'd need to be an interactive opcode tutorial, starting with the most basic instructions. Say, something that asks how to add one to AL - say you try "MOV AL,1" and it responds "Incorrect! Answer: ADD AL,1". More advanced levels would include filling in missing instructions, using the stack and FPU, indirectly addressing memory, etc. It could even be made into a game, like Wheel of Fortune, Jeopardy, or Tetris. This could be an extremely powerful learning tool even for the advanced among us.

3. There would need to be a simple, yet fast and efficient way to compile, run, and debug code. Batch files are not user-friendly! Something like an IDE but with a command-line parameter window, code window, and a big "GO!" button. The student can change the parameters, enter some code, and try to compile it instantly for very rapid development cycles. Tutorials could be incorporated into this "IDE" also, and the user could read a tutorial, modify the tutorial code or complete blocks of (intentionally missing) code, and quickly test their efforts. When a student begins writing actual projects, they will already have a feel for many of the full-fledged IDE's out there, or should have little problem crafting a valid makeit.bat.
"To deny our impulses... foolish; to revel in them, chaos." MCJ 2003.08

James Ladd

Mark, Maybe you could assist the project with your suggestions?

PBrennick

Thanks Mark,
Very nice ideas but on a broad scope.  Maybe too broad for Vortex and myself, so perhaps I am doomed to failure.  Still I will try.  You may have noticed that there is an API tutorial Child Board?  Whenever I can, I work on this because all that is available is for C, right now.  So I do see a need.  All my life as a professional, I have always gone where I am led and this has always reaped dividends.  Personally, I think 'you' could do some of this.  Maybe a framework or an outline?  Then the two of us could give it life.

Paul
The GeneSys Project is available from:
The Repository or My crappy website

Mark Jones

Well, I'm sure that if a few of us started working on a proposal of this scale, undoubtedly others would follow... but great things take time; and they should take time, so they can be done right. Keep in mind that the above is just some ideas, nothing more, so please take it with a grain of salt. :wink

I have quite a busy schedule right now, but this project is becoming too interesting to sit by and watch idly from the sidelines. If you've got an open spot (and can tolerate all my crap) then sign me up! :lol

James, I guess it is pretty easy to talk big about conceptual ideas... but sometimes you have to "step outside the box" and really look at things from afar. I've had this idea for an "assembly instruction tutor" program stuck in my head for over a year now, and it just keeps resurfacing. It amazes me that nobody has made anything like this yet. In the big picture, we as a community NEED something like this to attract and retain new blood (members). I'd love to build this app, complete with fancy OpenGL graphics and whatnot, but I simply don't have enough skills for that. Maybe I could, however, make a console or GUI version. But for one person to tackle a GUI app like this alone, would take quite a long time. First and foremost, we need a plan. A common goal. A framework.

I'm a firm believer in the idea that a house can be made better by tearing it down and rebuilding. Sure, it's a lot of work, but you can fix any defects you had with the house and improve it greatly. I feel the same about assembly programming - there should be a full-fledged tutorial available which starts from scratch. Tear all these examples apart, and allow the student to rebuild them from scratch. Then, they will learn assembly language . :thumbu

And Paul, never under-estimate your abilities. I've seen you write code that just blows my mind. And I believe in you. All of us here are very talented individuals who can achieve anything, if we only put our minds to it. :bg
"To deny our impulses... foolish; to revel in them, chaos." MCJ 2003.08

PBrennick

Mark,
Thank you for your nice words.  I am excited by the fact that you wish to join the DEV team.

About your ideas, one of my passions is putting these things together as webpages.  take a look at the GeneSys Project Home Page.  Click on the Tutorials down arrow and read What is a Procedure? and Why Preserve Registers? (this one needs a little tweaking to show the option to use USES.  I think this is what you are talking about.  So if you want to see your dream come to life, write some text files where one topic=one file and send them to me.  I will convert them to HTML/XML and add them to the webpage.  These will also show up in the child board above.  I am working on that right now.  We will work out how everything will finally de distributed as I believe it must be portable.

The notes on using an Edit Control will be added to the list.  Every two weeks (I think), I will change that or else I will set up a randomizer.

Don't worry about just sending a text file.  This iwill free you up for the thought process. As far as writing HTML/XML, I can do that in my sleep.

Ramon Sala has given me permission to add his IDE into our project.  This is a welcome addition.  Thank you, Ramon!  For those of our userbase who prefer to use Ketilo's excellent IDE, the GeneSys Project will always be a separate download and will be usable with Ketilo's IDE.  Ramon and I have worked and cried together (and beaten our heads against the wall sometimes) for years.

Paul
The GeneSys Project is available from:
The Repository or My crappy website

IAO

Hi to all:
Remember that I am of Spanish speech.

Sir: PBrennick
I hope that you recover well.  :wink

I am astonished, with this section of forum.

Sir Vortex and you. Idea of you two, is wonderful.
It is very important for us (Inexperienced).
You will help many people. Equal like Randall Hyde helps many people, with the great AoA.
Please, you do not leave it.
To the measurement of your time, sum more life to this space.

Congratulations. * (1 million)  :clap:

Bye ('_')

"There is no way to peace. Peace is the way."    Mahatma Gandhi

Vortex

Hi IAO,

Many thanks for your interest and nice words. About the English language, take it easy. Like you, my native language is not English. Please, feel free to post here your comments and suggestions. You are always welcomed to post here your questions, thanks for your support.

James Ladd

Wow, Vortex, Paul and Mark. Such great work and energy is a great thing to see.

PBrennick

IAO,
Thank you for your nice words about our project and my health.  Yes, I am recovering very well.  I guess it is evident!

James,
We are having fun and helping people, what could be better?

Paul
The GeneSys Project is available from:
The Repository or My crappy website