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

We are very happy for this good outcome.  After you have rested, we can talk.  There is no rush, my friend, rest now so you stay well.

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

daydreamer

here it is


[attachment deleted by admin]

Synfire

Nice work, there are two errors in index.html though. Line 15 and line 18 have absolute URL's. This page needs to be changed to:

<html>
<head>
<title>SSE/SSE2 tutorial - index</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<meta name="description" content="SSE tutorial">
</head>

<body bgcolor="#A0A0FF">
<div align="center">
  <p><font size="5"><b><font color="#FFFFFF">SSE/SSE2 tutorial</font></b></font></p>
  <p><font size="4" color="#FFFFFF"><b>by Magnus Svensson</b></font></p>
  <p><font size="4" color="#FFFFFF"><b>CopyRight 2004</b></font></p>
  <p><b><font size="4"><a href="movdata.html">1. Getting Started : mov instructions
    and aligned data</a></font></b></p>
  <p><b><font size="4"><a href="math.html">2.Floating
    Point Math</a></font></b></p>
  <p><b><font size="4"><a href="conv.htm">3.conversion between int and float</a></font></b></p>
  <p><b><font size="4"><a href="comp.html">4.compare
    instructions</a></font></b></p>
  <p><b><font size="4"><a href="logical.htm">5.logical instructions</a></font></b></p>
  <p><b><font size="4">6. SSE2 integer Math</font></b></p>
  <p><b><font size="4">7.control word, cache instructions</font></b></p>
  <p><b></b></p>
  <p>&nbsp;</p>
  <p>&nbsp;</p>
  <p>&nbsp;</p>
  <p>&nbsp;</p>
</div>
</body>
</html>

PBrennick

Magnus,
Now that I have seen your tutorial, I realize that you are correct.  It is a bit too advanced for our userbase.  It is a nicely done tutorial and I plan to archive it for the time being.  Thank you for considering our project.

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

Synfire

Magnus,

I see no real problem with it, although I guess it could be "dumbed down" a little for novice users. I really don't think it should be thrown on the back burner just yet though. For beginner tutorials, it's generally best to take a hands on approach. I suggest reformatting the document to give an explaination of a few instructions, then write code on how it can be used. Also, could probably help if you didn't overload the user with all the types right up front. Try explaining the fundamentals such as data alignment and registers in the first chapter,then single precision floating point in the second chapter, then packed single precision in the third chapter, etc. This will seperate the information into managable chunks which won't scare off the novice users. You're document, as is, reads more like an overview for people who want to quickly look up something. GeneSys, iirc, is designed for newcommers, so the document would need to be structured for newcommers. Years ago, when I was writing tutorials, I found it easier to put myself in the place of the reader. Build an outline of how I actually learned the information, what parts of the information is easiest to learn. Novices will be more apt to read the tutorial all the way through, if you start them out with things easy enough for them to pick up right away. This gives them a sense of achievement and progress which will help them to work harder to understand the more advanced material.

Regards,
Bryant Keller

PBrennick

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

daydreamer

thanks Bryant and Paul for your words
also made some examplecode for it
QuoteSSE4 shows use of shufps instruction
shufps only has immediatebyte to control different modes
therefore the need for teachingpurposes use this kinda code
SSEexpbak2, lost source
createsonthefly/rotates 2 circles simultanously and renders them 3d
shows parallel calculation can be made to 2 points instead of 1 point with help of SSE
3dprojection showed can be done with help of reciprocal instruction+mul instead of divs

DDprocedural, sidetracked into MMX

DDlandscape, SSE renders 2 pixels simultanously
, output thru MMX
not finished, was supposed to develop it to example show a curve rendered, but infact its a copying with masked output
from parallel conditional code if its inside or outside for example the curve y=1/x ,showing how conditionals are made in parallel code
y=1/x also can show use of reciprocal instruction


backtracked to code in pong that simple cmp/neg velx/y bounces the ball
requiring only few cycles and
SSE2 code that does it 16x parallel

Synfire

Quote from: PBrennick on September 19, 2006, 09:55:11 PMAs soon as I scrolled down and saw the words, 'Buy Assembler' it became evident to me that our project and theirs have nothing in common.  Why would someone want to buy a 16bit assembler?  I will tell you why; they don't know any better and honestly want to learn and because of that, they get taken advantage of.

Rainstorm, I hope that you are not considering using their service.  You can do 16bit programming with the Microsoft assembler, you just need to download the 16bit linker which is freely available.  The Art of Assembly can also be obtained from this forum.  If you need help, just ask, everyone will help you.

Paul

Actually, I have a copy of emu8086. The assembler part is more or less identical to FASM (it even supports a FASM compatability mode) so I wouldn't see anyone buying it for the assembler itself. As well, the documentation with it really sucks. Before you ask why I actually paid for a copy of it.. it's all about the emulator. It has quiet possibly the coolest 8086 emulator ever made. I first came across it via a friend who was using it in college. After noticing that you can emulate everything from robots, street lamps, custom devices, or whatever you wish. I had to get a copy. The only people who I think would benefit from this, are people who are interested in learning to code various applications which interface directly with hardware.

Here is a screenshot of the emulator running the traffic lights example: http://www.codegurus.org/~bkeller/pictures/emu8086.png

Sorry for the late response to this, I've been in and out of the conversation on this thread  :toothy

Regards,
Bryant Keller

PBrennick

Bryant,
That is what is nice about these boards, conversations can be reumed if some thing is thought of. I bet that the traffic light emulator was a fun project!

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

Synfire

Yea, the emulator has all sorts of devices to play around with, stepper motors, robots, etc. It's also decent for learning the basics of operating systems (nothing too advanced) since you can create virtual drives and load them in emulator bootup. But as for the tutorial and assembler, it's rather basic if you ask me. But the emulator itself was worth paying for :)

PBrennick

#55
Bryant,
As a bit of trivia, we taught a class at the college that actually programmed a set of traffic lights on Route 59 in Suffern, New York. We used a programmable controller, though. It is better suited for this task and is built for harsh environments (we buried it in a special box designed for just that use).

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

AkinforASM

Dear Friends,

I have downloaded the library from genesys web site. However there are some missing downloads like:
http://x86assembly.codegurus.org/asmlibLib.zip
http://x86assembly.codegurus.org/asmlibDll.zip

I receive object not found error on these links. Am I missing something or are these files actually missing?

Regards.

drizz

AkinforASM, all is fine, you seem to have an old copy of the page cached,
go there again and press ctrl+refresh...

Paul, add this to the page html if you want...:
<META HTTP-EQUIV="Pragma" CONTENT="no-cache">
The truth cannot be learned ... it can only be recognized.

Synfire

The URL's are messed up. They should be:

http://x86assembly.codegurus.org/asmLib.zip
http://x86assembly.codegurus.org/asmDll.zip

and

http://ghirai.com/PBrennick/asmLib.zip
http://ghirai.com/PBrennick/asmDll.zip

I've just went through and checked all the other links on the genesys site, the rest are fine. Just those four are errored from what I can tell.

Regards,
Bryant Keller

PBrennick

Bryant,
Thanks for the help, I have made the repairs. At some point, I renamed the two files in question and then went into the hospital before I fixed the webpage. When I came out, I forgot all about it. Figures.

drizz,
I was using a refresh setting as you probably saw, I have decided to follow your recommendation of no-cache, the change has been made.

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