|
Post by pmjobin on Oct 31, 2005 13:17:55 GMT -5
Salut Fonzie! Qu'est-ce que tu deviens? As I told earlier, I abandoned the idea. I still think I could have made a better port though... But I prefer to use the little free time I have to finish my DeathBringer API for the DC. BTW, I'm finally done with the FlashROM driver! ;D Really!?!? I only know of 2 ways to access the 32X framebuffer (normal & color 0 override) and both of them use the FIFO. In fact, the FIFO purpose is to buffer between the fast SH-2s and the slow FB so there isn't much point into not using it... Yeah, in fact, if you code carefully, drawing polygons on the 32X can be as fast as drawing plain sprites You just have to make sure that you don't overdraw and that you send word-aligned groups of 2 pixels at a regular rate. I recommend the use of the slave SH2 for this task as the main SH2 can take over the bus at any time. That's what I used to think. But unfortunately, the cache of the SH-2s is hella small and also, everything is connected on the same bus so bus latencies really come into play. ie: Both SH-2s & both 2Mb SDRAMs chips are connected on the same bus which goes to the bus arbitrer. The cartridge I/F and 32X ASIC are also connected on the bus arbitrer, but both have their own bus. This is how I see thing and I may be wrong as well. I sincerely hope I didn't discourage anybody to program for the 32X with all this pessimistic talk
|
|
|
Post by GiGaBiTe on Oct 31, 2005 14:29:51 GMT -5
the 32x and sega dont really work in sync. the 32x sends data to the 68000 when it boots to tell it that it was over ruled, and that the 32x takes over everything.
even with the slow bus latencies, im pretty sure that if you scrub the game code to the 68k and normal clock the sh2s and have them doing the rendering, you can come up with some programming trick to bypass some of the stuff.
and afaik, you can port pretty much any game (with minor code changes) from any platform to any platform if you have the right compilers and the right languages. if doom engine was written in assembly (probably part was) then you would have to rewrite that part, otherwise its not that difficult.
|
|
|
Post by Fonz on Oct 31, 2005 14:39:51 GMT -5
"Salut Fonzie! Qu'est-ce que tu deviens? " héhé, je traine Quelques projets megacd cependant. J'ai une idée de remake 32x (2D) en tête... Alors si tu as le pack GCC/WINDOWS/32X... héhé. "As I told earlier, I abandoned the idea." Héhé, dommage... c'etait une question d'honneur . Avec un ptit mode splité s'il vous plait (splitté verticalement, si tu vois ce que je veux dire "raycastement parlant" ) "BTW, I'm finally done with the FlashROM driver! ;D" What's that? "Really!?!? I only know of 2 ways to access the 32X framebuffer (normal & color 0 override) and both of them use the FIFO." On the official doc, they talk about special FB access "from cache", i don't know what does it mean... " But unfortunately, the cache of the SH-2s is hella small and also" I think 4KB is okay to store a very simple/fast vertical line drawer that access directly the FB, get line parametter from ram and texture from rom... Because, don't get me wrong, i'm sure doom 32x just do that: Raycast 1 colum, draw line, raycast one colum, draw line ...
|
|
|
Post by pmjobin on Oct 31, 2005 18:35:40 GMT -5
They do work in sync. The 68K can access most of the 32X capabilities all by itself (set up h/w regs, render to framebuffer, etc). J'ai tout ce qui te faut (gcc 4.0.0 et binutils 2.16 hosté sous MinGW pour sh et 68k) dis moi simplement comment je peux te l'envoyer. Mais je te conseille plutôt d'y aller directment en assembleur avec SNASM. Le SH-2 est un processeur capricieux, surtout au niveau du pipelining... C'est quoi ton idée de remake? Avant d'abandonner complètement le 32X, j'avais en tête de faire un remake de Golden Axe mais utilisant les SH-2s à plein régime avec tout plein d'effets spéciaux genre perspective, sprite scaling, etc. Attend juste de voir ce que je prépare sur Dreamcast! Mon honneur sera vite retrouvé, croit moi sur parole! ;D J'ai appelé ce projet DeathBringer et ce n'est pas seulement pour avoir l'air pompeux! There is a FlashROM chip in the Dreamcast to save BIOS, ISP, etc settings and also some confidential info about users. I made a small set of routines to drive it. They must be warning against using the SH-2 cache when accessing the framebuffer... (to prevent data corruption) Sure, even a small cache does help but it's not like if you could store a complete texture there or something. And it's pretty hard to efficiently fetch cache lines while the SH is writing to the framebuffer. In fact, it's not necessary to raycast in a Doom-like engine assuming you have the BSP structure built up (I know, the original did)...
|
|
|
Post by fonz on Nov 1, 2005 4:38:26 GMT -5
"J'ai tout ce qui te faut (gcc 4.0.0 et binutils 2.16 hosté sous MinGW pour sh et 68k) dis moi simplement comment je peux te l'envoyer. Mais je te conseille plutôt d'y aller directment en assembleur avec SNASM." Wow, cool. J'ai vraiment du mal a installer ce genre de truc (mon GCC pour la md, j'ai juste a le copier dans c:/ et ça marche direct). Aussi, je suis une enorme brelle en C, alors l'asm Si tu as msn, envoie moi ton adresse @ reg2005@genny4ever.net "j'avais en tête de faire un remake de Golden Axe " Oui, j'avais pensé faire un remake de goldenaxe3 avec un rip des persos/musiques et simplement le 32x pour dessiner le fond. Là, je compte juste utiliser le 32x pour les sprites (pas bcp, mais pas mal de fonctionnalitées comme la gestion de l'animation et des collide box), et c'est plus golden axe... secret . "Mon honneur sera vite retrouvé, croit moi sur parole!" Haha, ok le nom me fait frémir d'avance. Alors après, tu nous ponds un wolf3D, jouable a 4 en splitté "In fact, it's not necessary to raycast in a Doom-like engine assuming you have the BSP structure built up (I know, the original did)..." Ho, i see... I used to think that doom display was like that (for a 320pixel width screen) for(i=0;i<320;i++) { raycast(youangle-45,i,&line ); draw(i,line); } Enfin, un truc du genre wolf ;P Désolé.
|
|
|
Post by pmjobin on Nov 1, 2005 11:10:41 GMT -5
Je n'ai pas MSN... alors je t'ai envoyé mon addresse e-mail. D'accord, je prends la suggestion en note! You're right, it is. When I said "I know the original did", I meant that the original DOOM engine used raycasting, but there is a better (faster, more straightforward) approach...
|
|
oompa loompa
I AM THE GOVERNATOR
"Git 'Er Dun!"
Posts: 1,301
|
Post by oompa loompa on Nov 3, 2005 17:24:25 GMT -5
doom is awesome
if you're gonna write doom for the 32x all over again, i'd go ahead and write everything from scratch, in sh2 assembly with a blindfold on, just for the fun
my local ebgames store has a copy of doom for the playstation, but its for like $15.00 - expensive for a playstation game. however, when i search ebay, the game goes for like $20.00, which you could by for new back then. if you know me, i never buy high and sell low, so what i plan to do is buy it from my ebgames, magically take out the disk from the sealed cd sleeve, burn the sucker on a cd-r, place the original disk back in the cd sleeve with the sticker still sealed, and return it saying that i bought the wrong game ;D! i've done this too many times already with the playstation games XD, don't try this at home guys =P
|
|
|
Post by Tom Maneiro on Nov 5, 2005 7:59:18 GMT -5
piracy, eh? Cool! What about a Duke Nukem 3D for the 32X? It would look cool, would run faster, and it could be easy to play, unlike the crap TecToy port ;D
|
|
|
Post by GiGaBiTe on Nov 8, 2005 23:42:16 GMT -5
i think techtoy did a good job with the port considering its a 3d engine running on a vdp meant for 2d graphics. but indeed it is fugly with its grey floors, crappy sounds and scanlined walls.
not to mention its hard as hell, i cant get past the first liztrooper before you get out of space station spawn.
they already have a duke3d port for the sega saturn, and from what i have seen, its better than the pc version. they took the time to remix the bgm to where its half way decent to listen to.
|
|
|
Post by jlf65 on Dec 1, 2005 17:42:14 GMT -5
I think it's a little funny that I found this forum because I was looking for a 32X homebrew devkit with an interest toward making a better DOOM port for the 32X. ;D
I was playing DOOM on my Genesis/32X/CD a couple days ago and thinking I'd at least switch to normal resolution drawing, even if it were slower. Low-res just doesn't do the 32X justice.
I think the biggest problem is the lack of RAM. I made the first port of DOOM to PowerPC on the Amiga years back, but I had plenty of RAM. The biggest problem there was mapping the frame buffer as uncached. Drawing the frames with the cache on flooded the cache, dropping the speed tremendously depending on the resolution and the scene being displayed.
I'm seriously considering making a 4MB SRAM cart for the Genesis to help (DOOM can get by with a 2M heap for game data in the original code).
|
|
oompa loompa
I AM THE GOVERNATOR
"Git 'Er Dun!"
Posts: 1,301
|
Post by oompa loompa on Dec 2, 2005 19:06:30 GMT -5
gotta start working on libraries, and scripts for the 32x compiler =P
|
|
|
Post by jlf65 on Dec 2, 2005 19:59:55 GMT -5
Yeah, I noticed that all the various compilers I found were for the 68K. I like assembly - all my original Amiga programs were 100% assembly, so I'm quite comfortable in it. I was thinking perhaps I should go back to that on the SEGA. It would certainly help as far as keeping the size down. I'm more familiar with 68K assmebly than SH2, but the SH2 syntax doesn't look too bad at all. I think I could get to like it.
|
|
oompa loompa
I AM THE GOVERNATOR
"Git 'Er Dun!"
Posts: 1,301
|
Post by oompa loompa on Dec 7, 2005 22:24:01 GMT -5
sh2 isn't so bad, its just that you gotta get use to the addressing modes =P
|
|