Sega2.doc is enough, Really?

Ask anything your want about Megadrive/Genesis programming.

Moderator: BigEvilCorporation

stalepie
Very interested
Posts: 101
Joined: Sun Dec 10, 2006 1:18 pm

Sega2.doc is enough, Really?

Post by stalepie » Fri Dec 15, 2006 9:00 am

Are you kiddin' me, Fonzie? I can make a full-fledged Mega Drive game using just the knowledge gleaned from that Genesis Technical Overview that was translated from the Chinese?

I think I'll have to write my own sound driver though. Hey, that reminds me, you were talking about drawing sprites in Paint Shop Pro using a Genesis palette swatch. I'm gonna need some kind of set up like that, or maybe use Tile Layer Pro. I don't know what's the best way to go.

TmEE co.(TM)
Very interested
Posts: 2440
Joined: Tue Dec 05, 2006 1:37 pm
Location: Estonia, Rapla City
Contact:

Post by TmEE co.(TM) » Fri Dec 15, 2006 10:22 am

I agree with you. I have that doc too, and I didn't find it very useful. Go check out CMDs docs, these give you enough inf to write a nice game. But sound driver needs to be written by you (if you're unable to get an suitable driver).
Mida sa loed ? Nagunii aru ei saa ;)
http://www.tmeeco.eu
Files of all broken links and images of mine are found here : http://www.tmeeco.eu/FileDen

ob1
Very interested
Posts: 463
Joined: Wed Dec 06, 2006 9:01 am
Location: Aix-en-Provence, France

Post by ob1 » Fri Dec 15, 2006 10:27 am

I quite disagree.
sega2.doc has been a valuable help for me, as the Sega Genesis VDP documentation by Charles McDonalds.
Can't remember exactly what was my main source, but these 2 docs helped me up to 2/3.

Please note that I don't use sound.

stalepie
Very interested
Posts: 101
Joined: Sun Dec 10, 2006 1:18 pm

Post by stalepie » Fri Dec 15, 2006 11:52 am

I'll use whatever I can get. Can anyone tell me the origin of the GENESIS_Technical_Overview.doc? Translated from Chinese? It says

"CONFIDENTIAL

PROPERTY OF SEGA"

so it is basically as good as the manual given to developers, perhaps...? (or this is the manual given to developers in Asia?) As a newcomer to making games, and being crazy enough to do it on old, dead consoles, I am thinking the NES will be easier to develop for, because there is more info out there. Then I am told the 6502 is trickier.

Well, I've found a palette editor for PhotoFiltre. Maybe this will help me. 64 colors, hm. Confusing. eghhh.

ob1
Very interested
Posts: 463
Joined: Wed Dec 06, 2006 9:01 am
Location: Aix-en-Provence, France

Post by ob1 » Fri Dec 15, 2006 12:42 pm

Actually, I don't find the 68k especially hard to develop.
Moreover, it's more what we're used to, with registers, whereas the 6502 only has accumulator (think Z80 ?). OK, the 6502 has 3 index registers.
The video display processor (VDP) is sure a little bit tricky to program, but once you've figured the main principles, you'll sure be happy with it.

Chuck Kelly (& al) has written an amazing 68k simulator : http://www.monroeccc.edu/ckelly/EASy68K.htm
Charles McDonalds' docs is available here : http://cgfm2.emuviews.com/gen.php

The most important thing remains : develop on the system you love the most. And I do love Genny !!!

TmEE co.(TM)
Very interested
Posts: 2440
Joined: Tue Dec 05, 2006 1:37 pm
Location: Estonia, Rapla City
Contact:

Post by TmEE co.(TM) » Fri Dec 15, 2006 1:07 pm

ob1 wrote:Actually, I don't find the 68k especially hard to develop.
68K is the BEST processor I know, x86(used in PCs) sucks compared to it(x86 has nice features though). I even don't miss high level languages when coding for 68K.

NES is very slow and I only way to write anything decent is ASM (with lots optimizations). Actually I don't know much about NES, but mappers are real pain in the @$$ for sure.
Mida sa loed ? Nagunii aru ei saa ;)
http://www.tmeeco.eu
Files of all broken links and images of mine are found here : http://www.tmeeco.eu/FileDen

ob1
Very interested
Posts: 463
Joined: Wed Dec 06, 2006 9:01 am
Location: Aix-en-Provence, France

Post by ob1 » Fri Dec 15, 2006 2:44 pm

TmEE co.(TM) wrote:... x86(used in PCs) sucks compared to it[68k]...
... oulà ... 68k ISA is as CISCy as x86 ... Although I largely prefer 68k to x86 too ! What about 32 bits RISC (SH2, ARM7, ...) ?

OK we're off focus.

We'll made this ISA debate much later.
Last edited by ob1 on Mon Dec 18, 2006 8:53 am, edited 2 times in total.

stalepie
Very interested
Posts: 101
Joined: Sun Dec 10, 2006 1:18 pm

Post by stalepie » Sun Dec 17, 2006 9:39 pm

After I learn how to assemble a ROM, initializing it and putting the header in, and I've learned how to display a sprite and background and maybe take input from the controller... I will need to begin working on the graphics (you know, like trying to draw good ones). Are there any recommendations here, like what tools are the best? or maybe some pitfalls to avoid? I know I can just draw a .bmp with 64 colors and use a bmp-to-tile converter program, or something like that, but I'd like the graphics to be precisely how I draw them, and I want to know what is the best way. Sorry I am a bigtime beginner here. I am not if I have to draw backgrounds and sprites differently, or if I just program them differently. Thank you if anybody can help.

TmEE co.(TM)
Very interested
Posts: 2440
Joined: Tue Dec 05, 2006 1:37 pm
Location: Estonia, Rapla City
Contact:

Post by TmEE co.(TM) » Mon Dec 18, 2006 8:36 am

What I use to write (and draw) stuff for MD :

I Use EDIT to write ASM file
I Use PAINT to draw graphics
I Use IRFANVIEW to change palettes of BMP files
I Use TGFEDIT 0.24 (My GFX editor) to draw graphics
I Use TGFEDIT 0.24 to change palettes of BMP, TGF files
I Use TGFEDIT 0.24 to convert BMP files to TGF files (my game friendly graphics file format).
I Use SMDGFX (my program) to convert TGF to tiles in DC.L ... file which can be INCLUDEd in ASM file.
I Use SMDGFX2 (my program) to convert TGF to tiles in DC.L ... file which can be INCLUDEd in ASM file. Rearranges tiles for sprites.
I Use all kinds of docs
I Use my brains to write code.
I Use SNASM68K assembler to piece all above together into something useful.
Last edited by TmEE co.(TM) on Mon Dec 18, 2006 8:48 am, edited 2 times in total.
Mida sa loed ? Nagunii aru ei saa ;)
http://www.tmeeco.eu
Files of all broken links and images of mine are found here : http://www.tmeeco.eu/FileDen

Stef
Very interested
Posts: 3131
Joined: Thu Nov 30, 2006 9:46 pm
Location: France - Sevres
Contact:

Post by Stef » Mon Dec 18, 2006 8:43 am

You have to know the base hardware limitation and more specifically the VDP limitations :
- The VDP draw image from TILE and TILEMAP.
- A TILE is 8x8 pixels sized box and 4 BPP so you can define it by 8x8x4 = 256 bits = 32 bytes.
- The tilemap defines the screen image. It can be sized from 32x32 to 128x128 (tile based).
- For each cell of the tilemap you define :
- tile number
- palette number (4 palettes available)
- priority
- horizontal and vertical flip...

That's the base of the base for the VDP. I hope you will understand, a picture would explains better than words here :)

ob1
Very interested
Posts: 463
Joined: Wed Dec 06, 2006 9:01 am
Location: Aix-en-Provence, France

Post by ob1 » Mon Dec 18, 2006 8:48 am

Stef wrote:...It can be sized from 32x32 to 128x128 (tile based)....
I thought the tile map ranges up to 128 x 32, 64 x 64 or 32 x 128.

stalepie
Very interested
Posts: 101
Joined: Sun Dec 10, 2006 1:18 pm

Post by stalepie » Mon Dec 18, 2006 12:33 pm

Maps can be up to 128*128 but it eats too much vram...
Maybe by setting A and B at same map adress, it is possible to do something with that plane size... I don't know...

ob1
Very interested
Posts: 463
Joined: Wed Dec 06, 2006 9:01 am
Location: Aix-en-Provence, France

Post by ob1 » Mon Dec 18, 2006 1:03 pm

In his Sega Genesis VDP Documentation, Charles MacDonald says
"The name table size cannot exceed 8192 bytes, so while a 64x64 or 128x32 name table
is allowed, a size of 128x128 or 64x128 is invalid."

Stef
Very interested
Posts: 3131
Joined: Thu Nov 30, 2006 9:46 pm
Location: France - Sevres
Contact:

Post by Stef » Mon Dec 18, 2006 2:49 pm

ob1 wrote:In his Sega Genesis VDP Documentation, Charles MacDonald says
"The name table size cannot exceed 8192 bytes, so while a 64x64 or 128x32 name table
is allowed, a size of 128x128 or 64x128 is invalid."
Yep that's true, but i wanted to keep it simple :p

stalepie
Very interested
Posts: 101
Joined: Sun Dec 10, 2006 1:18 pm

Post by stalepie » Mon Dec 18, 2006 4:16 pm

stalepie wrote:Maps can be up to 128*128 but it eats too much vram...
Maybe by setting A and B at same map adress, it is possible to do something with that plane size... I don't know...
heh, um...

Post Reply