PCEngineFans.com - The PC Engine and TurboGrafx-16 Community Forum

Tech and Homebrew => Turbo/PCE Game/Tool Development => Topic started by: Windancer on January 17, 2009, 09:50:31 AM

Title: Homebrew is alive and well on PCE
Post by: Windancer on January 17, 2009, 09:50:31 AM
I just posted an article here and my first impressions of Insanity for the pcengine which be released in the comming months http://pcenginefan.blogspot.com/ hope you all enjoy it and will show arkhan some support as he goes through this project.
Title: Re: Homebrew is alive and well on PCE
Post by: Arkhan on January 17, 2009, 01:52:58 PM
 :dance:

Why thank you!

Things are still chugging along.  I hope school starting on tuesday doesnt slow it down.
Title: Re: Homebrew is alive and well on PCE
Post by: ParanoiaDragon on January 17, 2009, 04:28:46 PM
Arkhan, I've been wondering for awhile now, if you have a dedicated sprite artist?  I'd really like to see this game look super nice.  I don't know if Keranu is working on anything in particular at the moment, maybe you could get him involved, though, he mainly likes to do sprites, not so much into tiles, but, I know he can make tiles look nice, I've seen him do it.
Title: Re: Homebrew is alive and well on PCE
Post by: Necromancer on January 17, 2009, 04:55:54 PM
Awesome, Arkhan!  Have you actually found someone capable of pressing real discs?  :pray:

I'd really like to see this game look super nice.

+1.  Nothing wrong with fancying things up a bit.
Title: Re: Homebrew is alive and well on PCE
Post by: Arkhan on January 23, 2009, 09:15:03 PM
there are some local CD Pressing places around here that do like 200 discs for 100$ or something and you get manual ,and back insert/spine label.

Title: Re: Homebrew is alive and well on PCE
Post by: Necromancer on January 26, 2009, 02:56:24 AM
there are some local CD Pressing places around here that do like 200 discs for 100$ or something and you get manual ,and back insert/spine label.

But is their mastering software capable of handling non-standard mixed mode discs?
Title: Re: Homebrew is alive and well on PCE
Post by: ceti alpha on January 26, 2009, 03:30:07 AM
there are some local CD Pressing places around here that do like 200 discs for 100$ or something and you get manual ,and back insert/spine label.

But is their mastering software capable of handling non-standard mixed mode discs?

 :pray:

This looks cool. Can't wait!
Title: Re: Homebrew is alive and well on PCE
Post by: guyjin on January 26, 2009, 04:21:04 AM
 =P~ =P~ =P~ =P~ =P~ =P~ =P~
Title: Re: Homebrew is alive and well on PCE
Post by: Tom on January 26, 2009, 04:58:20 AM
there are some local CD Pressing places around here that do like 200 discs for 100$ or something and you get manual ,and back insert/spine label.

But is their mastering software capable of handling non-standard mixed mode discs?

 That's the thing. It is a standard mixed-mode disc. You can even make ISO-9660 mixed-mode disc that works with the PCECD too. I've gone through a 50pack of CD-Rs testing PCECD system for different specs and layouts.

 The problem is this. You know when you press 'skip' on the CD player? It automatically jumps to the next track, right? It does, but not just to the next track, it jumps to "index 1' of the next track. In the CD spec, an audio or data track can have 'chapters'. Not only can it have chapters, but it must have at least 2 (index 0 and index 1). Some live concert CDs will play the introduction of a song if you play from track A to track B, but if you skip to track B, it skips the introduction of that song (or whatever) and goes directly to the start of the song. Index 0 is the real start of a track. Most audio CDs have 2 seconds of silence here if it's unused (2 seconds is the minimum for a legal CD, otherwise it can't carry the 'compact disc' logo). When the CD player starts from the beginning with the very first track, it starts at index 01 and not index 00. There exist a few audio CD's that put a hidden track into the space between index 0 and index 1 of the first track, and the only way to get to it is to rewind (seek backwards) back into this area. This is perfectly legal.

 What does that have to do with PCE/TG CDs? The system card looks at the very first data track in the CD (it can be anywhere), but it also starts at index 1 of the data track. Nothing wrong with that either. Here's where the problem lies. If index 1 doesn't match up with the identification sector the BIOS is looking for, the BIOS won't boot the game. So you need to make sure that the pressing house has the correct sector that index 1 is pointing to. It's as simple as that.

 The PCE CD system doesn't care about the gap length between index 0 and index 1. It only cares about index 1. Knowing this, I was able to 'hide' the SegaCD part of Lords of Thunder in the same data track, and still have the PCECD boot the game normally and play. It plays fine on the SegaCD too because they don't use index 1. They use a hard/fixed offset of 2 seconds, which coincidentally is the minimum length between index 0 and 1 for the first track. Thus, a dual boot SegaCD/Duo game ;)

 If you keep the data track as the first, and make sure index is pointing to the correct sector, then you should have no problem.
Title: Re: Homebrew is alive and well on PCE
Post by: Necromancer on January 26, 2009, 05:34:55 AM
If you keep the data track as the first, and make sure index is pointing to the correct sector, then you should have no problem.

Woohoo!  Where's the que for ordering?  8)
Title: Re: Homebrew is alive and well on PCE
Post by: nodtveidt on January 28, 2009, 02:18:41 AM
The pressing house isn't the problem...the error lies with the mastering, which is usually done separately. The mastering process generally reorders the disc layout, rendering the whole process useless. It is assumed that the common content developer doesn't know jack shit, and since our format is not what is expected on modern equipment, the mastering software assumes it has to "correct" the layout and proceeds to "intelligently" f*ck it up. You can burn CDRs all day long that will work, but the minute your CDR hits the mastering software, it's deep-six city.
Title: Re: Homebrew is alive and well on PCE
Post by: Tom on January 28, 2009, 03:40:30 AM
 If the pressing house doesn't know how to properly change the index for the first track in the layout, then the default index 01 of 2:00 seconds would still work fine. And assuming, for some god forsaken reason, that the mastering software looks for the CD001 string in the cooked track (which I really highly doubt), then you can still use the 9660 format for PCE. In the ISO-9660 format, the 'CD001' doesn't start until like 16-17 sectors from relative 00 (a 150 sectors of index 00). You can easily fit the identification sector and the boot sector well before the start of the CDFS table and files. The SegaCD format does just this. Nothing special needs to be mentioned or stated to the company using the master software. I highly doubt they're going to take the files out of the ISO binary and rebuild it back in a different ISO binary, that's just so many unnecessary levels higher than what the master software even needs to touch or do. All it cares about is a cooked data track. Matter of fact they don't. BT data track had no such CDFS to rip and rebuild from. The point is, there *has* to be an index 01 for the first track. Take a look windows install CD that's bootable, index 01 is exactly where it should be at 2:00 seconds in.

 I could easily find what problem BT of MindRec was having for pressing his second game, but I couldn't convince him to send me one of the sample CD's they gave him to test. I do know that he used an offset of 3:00 seconds because that's what he thought the PCE CD needed for the first data track. If they changed that back to 2:00 but kept ISO starting spot in the same as if it were 3:00 offset, then the PCE would miss the identification sector. The only other thing I can think of is that they took the ISO file and put it into another CDFS arranged ISO file, as a file - but there's no way anyone can be that retarded in the professional pressing industry.

 When I pressed (no pun intended) BT on the matter further, he didn't seem to really care. And I don't have an extra grand or so to press an example CD. At least, not without any software to benefit from having it pressed on a CD that I could sell to at least recuperate my cost on. If I get to that point, I'll let you know how it goes. If you get to that point first and need some assistance, then I can represent the technical support on your side with the pressing house if you want.
Title: Re: Homebrew is alive and well on PCE
Post by: nodtveidt on January 28, 2009, 05:38:06 AM
Then what we'll do when it comes time to press MSR is have the disc ordered the way you know it works, burn it for mastering, and send it off. If they have any issues with it, I'll put them in contact with you. With any luck, the process will go smoothly.

Oh and erm...bt can be a little stubborn sometimes. :) I asked him if he could send me a press-ready disc of Meteor Blaster DX, but he ended up sending me a blank one. I did eventually get the ISO from him, but he didn't give me the audio tracks. I can't do anything with a set that isn't ready for pressing, so I just sort of forgot about the whole thing. I don't know if he was being defiant on purpose or if he send me the wrong disc accidentally, but I'm willing to give him the benefit of the doubt since he's always been so cool to me. :D It would have been better in the long run, for him and all else involved, to just go along with the plan...if everything worked out, maybe his game would have been pressed properly and that would have been the end of it.
Title: Re: Homebrew is alive and well on PCE
Post by: Arkhan on January 28, 2009, 06:54:03 AM
Well, if they give me a stack of games that don't work, helloooo uproar.

I don't go down quietly :-D  They will fix it.

I have two knowledgeable friends here that are going to be helping out as well, so rest assured once it is all done, we will have us a finished and playable game on CD!

in other news, I registered surrealsoft.net and I am putting together a website for it.

also, I am in the process of getting some new screen shots.  There is a new floor pattern that once I tweak it willl have an interesting and i hope not too seizure inducing pulse effect going.

and sound is coming along alright so far.
Title: Re: Homebrew is alive and well on PCE
Post by: Tatsujin on February 22, 2009, 02:24:15 PM
very nice and keep up the good work :)

and yes, some enhancement here and there would become it. who takes care about the BGMs and FXs? :)
Title: Re: Homebrew is alive and well on PCE
Post by: Arkhan on February 25, 2009, 11:28:54 AM
surrealsoftware.blogspot.com

Insanity is somewhat on the backburner while I take care of some other things, but in the mean time I am going to make the graphics look better where I can, and optimize it up!

School is going on now and I am working on some projects there too.  I hope and figure that insanity will be finished in the summer time!

I really do.
Title: Re: Homebrew is alive and well on PCE
Post by: Necromancer on February 26, 2009, 01:32:54 AM
surrealsoftware.blogspot.com

Blog not found
Sorry, the blog you were looking for does not exist.

I hope and figure that insanity will be finished in the summer time!

Yee-Haw!  :dance:
Title: Re: Homebrew is alive and well on PCE
Post by: Arkhan on February 26, 2009, 07:44:37 PM
my bad

surrealsoft.blogspot.com

lol

I registered the .net and am working on a site, and all that too.

:)
Title: Re: Homebrew is alive and well on PCE
Post by: Arkhan on March 04, 2009, 11:16:51 PM
*bump*

Like I said, a .net website is coming. (Just needs some images and then I host.  Itll have a phpbb forum)

also I am going to start revamping the graphics once a few school related things are set and finished.

Everything is going good good good. :-D

The game is going through some final design related things (scoring/levels/stuff), I am deciding what kind of sound effects I want...(shwooom vs. benernerp... etc. :-D)

I have some college related projects going on too so some of the PCE Stuff is slowed, but not halted!


here is my question: What do you guys think will look best for the hero color wise?

blue and green, orange? Red? ....

I am open to spaceman powersuit colorscheme suggestions.
Title: Re: Homebrew is alive and well on PCE
Post by: Necromancer on March 05, 2009, 02:56:29 AM
here is my question: What do you guys think will look best for the hero color wise?

You need multiple color schemes for multiplayer mayhem, don't you?  :pray:

Outside of my wishful thinking, I vote for green as an homage to the original.  Solid green would be boring, green and gold might look like a Power Ranger, and everyone (except heathens) thinks of Christmas whenever green is paired with red (its complimentary color), so they're all out.  Green and black, dark gray, or white would look good - just don't give him pink gloves and boots.
Title: Re: Homebrew is alive and well on PCE
Post by: Arkhan on March 05, 2009, 06:45:15 AM
My original color scheme was gray w/ red shoulders like the atari 2600, and then I switched to blue w/ green shoulders like the Berzerk cabinet...

and then I thought what about yellow w/ red shoulders?

Multiplayer would be very fun.  I have to get things organized and try to figure out how that would even work.

Green w/ whiteish could look nice.  I will see.

Any other suggestions? :) The more the merrier.

(my friend said: DO IT TRANSPARENT MINUS HIS EYES! ITLL BE LIKE A GHOST)

and... yeah.
Title: Re: Homebrew is alive and well on PCE
Post by: Arkhan on March 29, 2009, 08:11:59 PM
Well the site is up!

www.surrealsoft.net (http://www.surrealsoft.net/)

I hope everyone checks it moderately often and joins the forum there for more rambling :)

Title: Re: Homebrew is alive and well on PCE
Post by: Keranu on March 29, 2009, 09:06:34 PM
Congratulations! The site is looking nice and gives us more promise for a great future of independent development on the PCE! Let me know if you ever need graphical assistance (mostly for sprites and animation).
Title: Re: Homebrew is alive and well on PCE
Post by: touko on March 30, 2009, 08:25:58 AM
Hi, your site is looking nice .  :clap:

In bersek part i noticed that you are speaking to "Optimize the game routines to minimize slowdown" ..

Have you really  slowdown ???  :-s
Title: Re: Homebrew is alive and well on PCE
Post by: Tom on March 30, 2009, 01:14:53 PM
Quote from: touko
Hi, your site is looking nice .  :clap:

In bersek part i noticed that you are speaking to "Optimize the game routines to minimize slowdown" ..

Have you really  slowdown ???  :-s

 If he's using HuC, then slow down is a given ;)
Title: Re: Homebrew is alive and well on PCE
Post by: Arkhan on March 30, 2009, 01:22:58 PM
I coded sloppy collision check routines that don't account for dead enemies and stuff.

I am working on cleaning that all up.  It's not going to be too hard.  There are a few other things that I am cleaning up as well that should fix things perfectly.
Title: Re: Homebrew is alive and well on PCE
Post by: Tom on March 30, 2009, 02:20:09 PM
I coded sloppy collision check routines that don't account for dead enemies and stuff.

I am working on cleaning that all up.  It's not going to be too hard.  There are a few other things that I am cleaning up as well that should fix things perfectly.


 Are you using an array in ram for any of those routines? HuC charges like 100+ cycles per byte/word read or write to an array. There's a nice quick and easy way around it.

 Logical shifts are pretty expensive too, natively with HuC.
Title: Re: Homebrew is alive and well on PCE
Post by: Arkhan on March 30, 2009, 08:20:00 PM
using an array slows HuC down?  #-o

The point of arrays is speed, so if HuC loses speed from arrays, that sucks.

What is the work around?

I've had to find workarounds for a handful of other annoyances w/i HuC, so I might as well add to the list I guess.
Title: Re: Homebrew is alive and well on PCE
Post by: Tom on March 31, 2009, 03:58:56 AM
HuC treats all array access as far data, even though ram is near data (and so is the constant back). I mean, the far data access routine needs to be redone - but there's no reason why the compiler couldn't test to see if the array is near.

Here's some work arounds:
Code: [Select]
    for( x=0;x<90;x++)
    {
       var3++;   
       
       
       bg_clr_l[x]=var3;
       bg_clr_h[x]=var3>>8;
    }



    for( x=0;x<90;x++)
    {
       var3++;   

#asm
    ldx _x
    lda _var3
    sta _bg_clr_l,x
    lda _var3+1
    sta _bg_clr_h,x
#endasm
    }

 /* Or for a WORD size array were the array length is less than 128 words */

    some_array[x]=var3;

#asm
    lda _x
    asl a
    tax
    lda _var3
    sta _some_array,x
    lda _var3+1
    inx
    sta _some_array,x
#endasm

 /* Or for a WORD size array were the array length is less than 256 words */

    some_array[x]=var3;

#asm
    lda _x
    bmi LL01
    asl a
    tax
    lda _var3
    sta _some_array,x
    lda _var3+1
    inx
    sta _some_array,x
    bra .out01
LL01:
    asl a
    tax
    lda _var3
    sta _some_array+$100,x
    lda _var3+1
    inx
    sta _some_array+$100,x
out01:
#endasm



 You can setup ASM macros to make it look cleaner (and not have to worry about keep track of "labels"). Not only is the ASM examples like incredibly faster, they as much shorter too. The code HuC generates to access arrays is pretty bloated. Just make sure to keep those the INDEX variable as a global. If it's not, you can pass it to a global before using the ASM examples.
Title: Re: Homebrew is alive and well on PCE
Post by: Arkhan on March 31, 2009, 04:51:19 AM
wow.  that sucks.

 ](*,) ](*,) ](*,) ](*,) ](*,)
Title: Re: Homebrew is alive and well on PCE
Post by: touko on March 31, 2009, 07:32:29 AM
Glurps  ...

My ASM conversion will be fastest what i was thinking ..
HUC is not the saint graal ???  #-o

HUC has not been updated since 2005/04/09, it is lightly out of date  :-k. 
Title: Re: Homebrew is alive and well on PCE
Post by: Arkhan on March 31, 2009, 12:24:24 PM
HUC has not been updated since 2005/04/09, it is lightly out of date  :-k. 

Right. 

Quote
HUC is not the saint graal ???  #-o

Not really.  It has a lot of annoyances and issues that keep surfacing, among the ones already stated as part of it being "small-c" (no structs being one of the big suckers)

Unless you know some assembly already and are comfortable adding the missing pieces (sound!), you can't really complete a game with HuC.   There exists a sfx / music library but it is a bit limited and finnicky.

oh well.  Assembly is usually the best way to go for these kind of things even if it is rougher
 
Title: Re: Homebrew is alive and well on PCE
Post by: touko on March 31, 2009, 11:38:41 PM
Quote
Not really.  It has a lot of annoyances and issues that keep surfacing, among the ones already stated as part of it being "small-c" (no structs being one of the big suckers)

Unless you know some assembly already and are comfortable adding the missing pieces (sound!), you can't really complete a game with HuC.   There exists a sfx / music library but it is a bit limited and finnicky.

oh well.  Assembly is usually the best way to go for these kind of things even if it is rougher
 
C language is more efficient in time development,but i 'am not good enought for updating HUC  :( ..
We must find a good soul (i don't know if its the good term), to ask zeograd to do it ..
Title: Re: Homebrew is alive and well on PCE
Post by: Arkhan on April 01, 2009, 11:20:52 AM
There were updates mentioned back in July or so.  There hasn't been much.  I've just accepted it and stopped waiting/did it myself.

Title: Re: Homebrew is alive and well on PCE
Post by: Tom on April 01, 2009, 03:15:07 PM
Zeograd started doing some work on HuC a few months back, but you never come around the channel anymore to give any feed and such :wink:
Title: Re: Homebrew is alive and well on PCE
Post by: Arkhan on April 01, 2009, 03:54:13 PM
Zeograd started doing some work on HuC a few months back, but you never come around the channel anymore to give any feed and such :wink:

The advancement of HuC is dependent on me coming in the channel and giving feedback?  I stopped going to programming IRC channels.  They arent fun.

I check zeograds site occasionally and see no updates or mention of it.
Title: Re: Homebrew is alive and well on PCE
Post by: Keranu on April 01, 2009, 04:57:27 PM
Zeograd started doing some work on HuC a few months back, but you never come around the channel anymore to give any feed and such :wink:

The advancement of HuC is dependent on me coming in the channel and giving feedback?  I stopped going to programming IRC channels.  They arent fun.
#utopiasoft is definitely NOT your ordinary programming channel  :mrgreen: . And I mean that in a good way of course, it's probably the best channel on EFnet!
Title: Re: Homebrew is alive and well on PCE
Post by: Arkhan on April 01, 2009, 08:25:07 PM
I used to go in there.  It was ok I guess.
Title: Re: Homebrew is alive and well on PCE
Post by: Tom on April 02, 2009, 05:01:27 AM
Zeograd started doing some work on HuC a few months back, but you never come around the channel anymore to give any feed and such :wink:

The advancement of HuC is dependent on me coming in the channel and giving feedback?  I stopped going to programming IRC channels.  They arent fun.

I check zeograds site occasionally and see no updates or mention of it.

 Well, if there's user feedback on HuC - nothing's going to get changed. As far as #utopiasoft - your loss then.
Title: Re: Homebrew is alive and well on PCE
Post by: Arkhan on April 02, 2009, 03:37:25 PM
There are known shortcomings to HuC and things not yet finished.  I didn't think user feedback was required to let Zeograd and the rest of the coders know that the sound library is unfinished and that the mod parser that was coming in a few weeks back in July still isn't here....

that was the topic for #utopiasoft back on the first day I logged in there.  So it has nothing to do with my logging in and giving feedback.  It started before me, and should have continued after I stopped poking around.

 :-"

And then theres the array problem you've just shed light on, the lack of structs, and a few other pointer related things that aren't there.

Denki was released in 2005.  In 4 years time, I would imagine some things would be added, fixed, and improved by now and we would be seeing HuC 3.22, or maybe even 4.0 by now.

It just seems HuC hit a dead end and was abandoned to me.
Title: Re: Homebrew is alive and well on PCE
Post by: Tom on April 02, 2009, 04:49:22 PM
There are known shortcomings to HuC and things not yet finished.  I didn't think user feedback was required to let Zeograd and the rest of the coders know that the sound library is unfinished


 Zeograd was there in the channel asking for feed back. He added some of the ACD routines I did for huc. I didn't know about the array problem at the time. Only you and Nodt are HuC users in that channel and Nodt doesn't seem to have any problems (or even in the channel much). As for a sound lib, I've just finish remaking the Air Zonk engine (http://pcedev.blockos.org/viewtopic.php?f=5&t=35) into its own lib along with samples songs in pseudo mml format. MooZ is adapting it for some project too.

Quote
and that the mod parser that was coming in a few weeks back in July still isn't here....


 If you're referring to me, I dropped that project. MOD is not sufficient format for PCE. It lacks envelopes, ulaw sample format, format layout, and other stuff that's more PCE efficient and flexible. DM already has an almost finished version for HuC, if you'd ask him for it. PCE needs a wavetable synth tracker written from the ground up IMO.

 But I think it's more interesting generating sounds from the native waveform buffer format. There's so much potential there that hasn't been touched and not to mention less resource intensive (which makes is more HuC friendly).

Quote
It just seems HuC hit a dead end and was abandoned to me.


 All the more reason to go full asm ;)
Title: Re: Homebrew is alive and well on PCE
Post by: Arkhan on April 02, 2009, 04:56:43 PM
I'll mess around with azasel.  It goes with magickit 2.51's pceas, and not HuCs v3.21, right?

I prefer regular old 32 byte waveforms.

DM = David Michel right? And what is he doing for HuC?

I made a working set of libraries and a quick/dirty MML parser for HuC but I haven't tried to perfect it or anything since after Insanity I don't plan to use HuC anymore.  That demo I linked to in my other thread shows some MML and whatnot.  It needs some fine tuning and work but it's pretty good.  I mostly just want to use it for sound fx within my game.

Ill post source soon/eventually.  I'm technically not supposed to since some of this is a school project and part of the agreement with school is to not publicize any code until after the class session ends -_-


...but you can disassemble the .pce and check  that out! lol
Title: Re: Homebrew is alive and well on PCE
Post by: touko on April 02, 2009, 11:47:07 PM
It's a good idea to post a .pce of your project ..

I 'am curious to see in which part(s) the slow down are !!!
Title: Re: Homebrew is alive and well on PCE
Post by: Tom on April 03, 2009, 03:07:23 AM
I'll mess around with azasel.  It goes with magickit 2.51's pceas, and not HuCs v3.21, right?

 It uses PCEAS from HuC 3.21. I don't use any Mkit libs. I haven't put it into HuC yet.


Quote
DM = David Michel right? And what is he doing for HuC?

 What is he doing? I have no idea. The last thing he did do was the MOD player. He, Zeo, and Dave originally started/worked on HuC though.


Title: Re: Homebrew is alive and well on PCE
Post by: Arkhan on April 03, 2009, 05:31:15 AM
oh.. I read that wrong I guess.  I get you now.  Dave has that almost finished mod thing still if I want to bug him about getting it.

I thought you meant he had something else in the works.

for the record what is the dif. between Mkit and HuC's pceas?

I just know HuC's source files wont assemble on MagicKit