Jump to content
  • Advertisement

Archived

This topic is now archived and is closed to further replies.

jimiwa

I want to write a game in assembler

This topic is 5140 days old which is more than the 365 day threshold we allow for new replies. Please post a new topic.

If you intended to correct an error in the post then please contact us.

Recommended Posts

Yes I know it sounds crazy. I have the feeling I''m going to get a lot of replies saying DONT DO IT, but I''m posting this anyway. I want to write a simple 2d game in assembler just for the fun of it. I have not yet programmed in assembler but I want to look into it and I am willing to learn and ready for a challenge. The thing I don''t know is if it will be possible with the computers I have currently - i.e. graphics support. On my laptop I have an Intel 830M graphics controller. I found NO documentation on an internet search for assembler language with this card. Same thing with my parent''s computer, no luck on the internet search for assemler language programming for that graphics card. That computer has a 64mb NVIDIA GeForce2 MX with TVOut. I was wondering, and I would have to wait a few years until I could buy another computer, if I got an older cheap computer with a different video card if it would be possible to do this and if there would be documentation on graphics programming for an older video card. What video card has the best documentation on graphics programming? Also, I don''t know if windows graphics assembler programming requires specific video card support or if it supports all cards in general. If it can be in general, I think this would be the route to go but I don''t know. Anyway, I know I have to learn assembler very well first before I can go on to write a game, and I''m willing to do that. I actually even thought about buying an Apple IIe or IIgs because I had an apple IIe when I was a kid and it may be worth something as an antique years down the road anyway. I''m kind of confused as to which route to take, that''s why I''m posting this. I''m wondering what others think the best route to take would be. Thanks.

Share this post


Link to post
Share on other sites
Advertisement
It depends on what sort of graphics programming you plan to do. If you're looking at VGA, you might start here.

SVGA is more complicated, but still do-able depending on the amount of work you want to put into this. Google will turn up lots of SVGA. I've got a huge book on SVGA on my shelf that I never really got into because it looked pretty complex and just wasn't necessary anymore.

Interfacing directly with the graphics card would basically mean writing a driver and, since its really hardware dependent, I wouldn't go that route. Plus you'd need interface documentation. I'm not sure if the company would be willing to provide that. Could be worth a try though.

Another option is to go through OpenGL or DirectX, which can be done under assembly just as well as a high-level language.

[edited by - dcosborn on May 24, 2004 12:31:57 AM]

Share this post


Link to post
Share on other sites
Huh best of luck.Try gathering as much info as you can.VGA would be easy to find info on.Many old tutorials had a lot of assembler in them when I first looked into graphics programming.Anyway try programmershaven.com for the VGA Trainers by Dethnor they have quite a bit in asm code.

Share this post


Link to post
Share on other sites
The standard MCGA 320x200x256 video mode (commonly known as mode 13h) would be the easiest thing to use. Using that in real mode is dead easy. Check out this little platformer that I wrote in assembly language. It uses real mode and mode 13h.

sam

Share this post


Link to post
Share on other sites
I can't understand why you want to get in such trouble.
If you're goint to write a game for Windows(MASM32),then you will end up using GDI,DirectX or OpenGL for rendering.Using assembly does not mean that you have total control over the hardware,because your program still runs in user mode,unless you are willing to write a driver.Most of your rendering code will be just API calls using INVOKE.It will be like a C program with MOV instructions.
Unless you mean that you want to write a DOS game.But I really don't think it should be your first project,considering you have no knowledge of assembly,and 16-bit assembly is very difficult(segmented memory is a real nightmare).

[edited by - mikeman on May 25, 2004 7:44:52 AM]

Share this post


Link to post
Share on other sites
Tell me if I this is right-
have I misunderstood how assembly graphics programming works?
(probably because I know little about it)
I was under the impression that to program assembly graphics you
had to write code specifically for each graphics card you
want to support. I must be wrong about this because the person
who posted the sample platform game wrote that in assembly and
it works on my graphics card- i.e. you can write assembler graphics
compatible for most cards without specific instructions for every
type of card you want to support?

Share this post


Link to post
Share on other sites
Back in the day, the industry came up with various video-hardware standards like CGA, EGA, VGA, SVGA. If a hardware manufacturer supported those standards on their cards, programmers could use a common interface to operate them. This is why izzo''s platformer works on your video card.

Share this post


Link to post
Share on other sites
quote:
Original post by jimiwa
Tell me if I this is right-
have I misunderstood how assembly graphics programming works?
(probably because I know little about it)
I was under the impression that to program assembly graphics you
had to write code specifically for each graphics card you
want to support. I must be wrong about this because the person
who posted the sample platform game wrote that in assembly and
it works on my graphics card- i.e. you can write assembler graphics
compatible for most cards without specific instructions for every
type of card you want to support?


Everyone seems to think you want to program this game in DOS.

If that game was for Windows and it was 2d, they used DirectDraw or GDI.

Share this post


Link to post
Share on other sites

  • Advertisement
×

Important Information

By using GameDev.net, you agree to our community Guidelines, Terms of Use, and Privacy Policy.

Participate in the game development conversation and more when you create an account on GameDev.net!

Sign me up!