10/31/2023: Localization News - Dead of the Brain 1!

No, NOT a trick, a Halloween treat! Presenting the Dead of the Brain 1 English patch by David Shadoff for the DEAD last official PC Engine CD game published by NEC before exiting the console biz in 1999! I helped edit/betatest and it's also a game I actually finished in 2023, yaaay! Shubibiman also did a French localization. github.com/dshadoff/DeadoftheBrain
twitter.com/NightWolve/PCENews
Main Menu
Menu

Show posts

This section allows you to view all posts made by this member. Note that you can only see posts made in areas you currently have access to.

Show posts Menu

Messages - hcf

#1
Hehehe, I see that I have told you about the limits of 64 defined sprites, 256x224 standard resolution, 16 palettes for BG and 16 palettes for sprites, VRAM amount, 16 colors per palette... but I didn't tell you about my original example of the sprites-per-scanline limit.  :mrgreen:

Let´s wait that someone with more experience explain it. I know it, but I cannot justify the cause of this limit. I'm sure that there is people that can explain that better than me  :)   Basically, there is a limit of sprites that cannot be drawn in the same scanline (a line of 1 pixel-size). If you are near the limit, the sprites flicker. If you go above the limit, some sprites will dissappear.

Tom explained very interesting things in this forums about methods used to avoid this situations (I cannot find the thread now). For example, in beat-em-up games, the enemies tend to NOT be positioned in the same row  :)
#2
There are some documents that explain very well the limits of the PC Engine. One of them is the HTML file that comes with the HuC compiler (I began with that document). Another document is one text file made by BT Garner years ago; it is very well written and it's very good for beginers! Also, studying the source code of some examples that you can find in the Zeograd page is a good idea too (for example the Pong game by Zeograd, or the Echo game by Trilinear are very self-explaining).

I can tell you some of the details of the PC Engine hardware now, but my memory is not good, so seeing those documents is a better idea than read me  :wink:

In any case, I will try to tell you some basic things: the standard resolution of the screen is 256x224. I strongly recommend you that you begin programming with that resolution. When you gain experience, you can use bigger horizontal resolutions until 512x224 (the vertical resolution cannot be expanded in the same way) but this requires more skill in programming and in drawing.

Keeping in mind that the resolution is 256x224, you can define the background and the sprites. At first you can use a static background of 256x224 pixels: a simple picture that does not change (see the Pong example). You can use a real picture if you want, converted to 16 colors. In the future, if you want to make a scrolling background, it will be mandatory to use TILES, and this is a bit more advanced concept, so let´s begin with a static background and practice to move sprites in it.

As far as sprites is related, you can define sprites of 16 or 32 pixels width, and 16, 32 or even 64 pixels height. For example, the bigger sprites in PC Engine are 32x64 pixels. If you need to draw a big monster, you can draw two sprites together to build that big monster :)  In theory you have a limit of 64 sprites that you can have defined at a time, but in practice you will use a smaller number.

You must know the difference between SPRITE and PATTERN. This is very important. Let´s see an example: one SPRITE in Double Dragon is the guy that you control (Billy Lee). And you must load in VRAM memory all the PATTERNS related to Billy: all the images related to all the movements that Billy can do (Billy punching, Billy walking, Billy jumping...). So, the limit of 64 SPRITES is the limit of "characters moving on screen". It is not the limit of "different poses" that you can have in the game: those are the PATTERNS, and they are loaded in VRAM. So, one limit that you must know is that VRAM is very limited, and you must load in this VRAM memory all the data related to sprites, tiles and so on. So, let's use the VRAM with caution.

You must know that you can rotate a sprite. So, if you load a pattern of "Billy punching to the left", it is not needed that you load "Billy punching to the right". You can simply rotate the first sprite. In this way, you save a lot of VRAM!!

Another important thing is that sprites have a TRANSPARENT color. it is the color that surrounds the silouette of Billy in that 32x64 rectangle. The transparent color is not drawn, so you can see the background. And of course, all the sprites and tiles must be converted to 16 colors. I recommend you that you use a single PCX to draw all the poses of Billy, and convert that PCX to 16 colors. In this way, all the patterns of the sprite "Billy" share the same palette.

There is also a limit of the number of palettes that you can use: 16 palettes for sprites and 16 palettes for the background. I recommend that you begin using 1 palette for the background, and 1 different palette for each sprite. In the thread "full-color backgrounds" we discused about using several background palettes, but this is an advanced concept.

Finally, think that if you have something loaded in VRAM and drawn in the screen, and you MODIFY the data loaded there, you will see the changes in the screen. So be carefull with this. For example, if you change the color of a palette, all the sprites that use this palette will be affected.

I forgot to say that the screen is "refreshed" several times per second. I recommend you that you make a loop in your game, and you call at the end of this bucle the functions satb_update and vsync. The first (satb_update) updates the table of sprites with the changes that you have made (position of each sprite, pattern used, rotation...) and the second one "draws" all in the screen at the correct moment.

Good luck, and feel free to ask questions. There is a lot of nice people between the PC Engine developers, as you have seen yet.  :D
#3
In my opinion, it is NOT a good idea to make all the sprites before programming, as you said. In my opinion, it is best to program the game with basic sprites first, and enhancing these sprites in the last step. Why? Imagine that you draw all your sprites without knowledge about the PC Engine. Maybe when you program the game, you will face some limitations of the hardware that you didn't know, and you have to re-draw all the sprites!!

For example, imagine that you don't know limitations as the maximum number of sprites per row, and you design your sprites withouth having this point in mind. Maybe when you program the game, it will not work properly, and all your graphics will not be usefull. This is the reason why I recommend you to create basic sprites, program the game with them... and in the last instance enhance the graphics and sounds  :)

By the way, Arkhan is right: if you are going to "borrow" sprites from other games or webs, keep in mind that this can be a bad action. I suggested to do this because if you are going to make demos only to learn to program, it is very nice (and easy) to have these graphics (and it really encourages to see that your demo has good graphics). But of course, if you are planning to make a commercial game, this is not correct. Arkhan, thanks for the point! :wink:
#4
Quote from: Keranu on 05/25/2010, 07:10 PMYou could even take photos of your dog and edit them to be used in game! (Infact, HCF has already done so!)
Wow, it is a big honour for me that a great pixel artist like Keranu uses my name as an example of creating graphics :)

Yes, I have used real pictures and converted them to a lower resolution (16x64 pixels for example) and 16 colors with Ultimate Paint, and the results were decent. But, as everybody is posting, the best choice is drawing pixel-to-pixel by yourself. The results will be much better, so I encourage you to do it too. :)  In any case, the way of converting pictures (or taking sprites of other games from webs like spriters-resource and modifying by yourself) is open too
#5
What a pity!  :cry:
#6
Quote from: touko on 05/06/2010, 04:10 AMGracias man  :wink:

I'll try "oRipa Video Recorder" .
Aaaaaarhg, this program is free,but it has 60 seconds recording time limited   :(
Oh, sooooorry!! :(  Yes, the trial version is limited to 60 seconds and also it draws a watermark in the video. The full version (not free) does not have these limits. I forgot about that, I used this months ago in my job. Sorry!!
#7
Quote from: touko on 05/05/2010, 03:14 PMEh hcf, i'am interested by your program ..  8)

If you remember his name ..
Well, I see that I tested lots of programs to do this, and I remember that some of them recorded all your screen, and the other programs recorded one Window (or area) that you selected, but I don't remember exactly which program makes what.

In any case, I will tell you the names of the best programs that I found. I liked "oRipa Video Recorder" very much and it's free (although maybe it records all the screen instead of a single window, I don't remember...). Finally I chose that one, but my work was related to record all the screen, so I don't know if it can be usefull for us now.

I liked "BSR Screen Recorder" too, although this was not free (I am sure that this one can select an area in the screen to record). Maybe you can try these programs :)
#8
Quote from: OldRover on 04/27/2010, 01:13 PMI just haven't gotten to it yet. Mednafen doesn't record video files I can make use of and, apparently, neither does ootake. Oh well. :( But regardless, I have a way of making videos already, so no worries. :D
If you finally are not able to record videos from ootake or mednafen, I have tested some free Windows programs that record all that happens in a window that you select. So, playing with Mednafen to your game and selecting this window, maybe is an easy way to record that video. If you are interested let me know and I will search which programs I used (it was months ago, so I must search a bit in the hard disk of my office, but I hope to find them quickly).
#9
Quote from: guest on 05/03/2010, 10:43 AMBetween a Viscount and Ritter = Baron
Sheeps go Baa = Baron Baa
=Barunba
Marvelous!! :D
#10
In fact, before doing "my" method of splitting the image, I was trying to create a program like that, but it is very difficult...  ](*,)

As the Old Rover said, the program that converts the image to the PCE colors is not enough. Besides doing that, the program must build also the map of palettes that we must import in our program. For example, something like:

const char pal_map[NUM_TILES] = { PAL0<<4, PAL0<<4, PAL1<<4, PAL2<<4 ...};

This map will say which palette will be used in each tile.

As I was saying, it was very difficult to create a program that divides the image in sections and optimizes the use of palettes automatically in every picture. For that reason I searched generic methods (splitting by rows, by columns...) and I found that splitting by squares was a decent method, because the similar colors usually are near (inside the same square), so using a different palette for a square (said for example 64x64 pixels) was the best result that I found. Of course, an optimization made automatically by a program would be awesome  :D
#11
I am curious about the game Dragon Half. A translation of this game would be nice too.
#12
Localizations, Games, Apps, Docs / Movies
04/30/2010, 09:17 AM
I have been wondering a thing. I have seen a bunch of PCE games that have videos: Sherlock Holmes, Sherlock Holmes II... (maybe "It came from the desert" too?). I have read some documents related to PCE development, but I have not found information about this.

I have tried to make a video only with sprites. Although the result is surprisingly decent, it's clear that this is not the correct way: in order to show video with sprites, I must be reading from CD almost all the time... and this makes impossible to play an audio track at the same time. So, unless I use the ADPCM buffer, I cannot play audio at the same time (Arkhan, don't be angry: I am talking about playing voices, not about MML music which of course CAN be played, hehehe).

Maybe the PCE has an special hardware to play videos? Anyone has worked with it?

If anyone wants to test my method of "making video with sprites", I will give an advice: it is important that the frames that we read from CD are the frames that we are NOT using at the moment. This is important to avoid flicker effects...  :)
#13
Mmm, Sierra method looks nice!! But I think that there are cases where dither gives good results, and other cases where results are not as good, but it is just my opinion. For example, in the sample that you posted of "Shadow of the beast" I don't like dithering, I think like Touko: the picture appears to be dirty. But for example, the picture of the mountain is beautifull!!!  :D   In general, I am not using dither in my conversions, but maybe it is better to do the two options in every picture, and choose the best.

By the way, which program did you use to make that Sierra algorithm? And... what does your "change of avatar" mean?  :wink:

Hey Touko, you did not post at the same time of me today. Were you sleeping?  :mrgreen:
#14
In fact I tested to do Dithering too, but I didn't get good results. I must try that Sierra method...

It's important to keep in mind that "my" method is not an alternative to dither: my method and dithering have diferent goals and you can use both methods. My method simply splits the original image in 16 sections and converts each section to 16 colors. At this time (when you convert images to 16 colors) you can use dithering or not. I tested it, and I get some good results but also some bad results. Now I'm going to post here one example of a bad result when dithering:

IMG

The first two images where made using two methods of dithering (FloydSteinberg and Riemersma) and the third does not use dithering. In the two images with ditheirng, the result is a bit fuzzy and IN MY OPINION does not give any positive points, and the image without dithering is very clear. But this is only my opinion, and maybe someone can like more the results with dithering. Also, I have get other examples where dithering gives good results. Besides, dithering seems very very good if you see the image from a far distance, but this is not our case  :wink:

@TheOldMan: that application for conversion would be interesting, although there are some programs that do image conversions yet. Maybe you would like to test them before starting to do that program on your own.  In fact, almost every image program can convert a picture to few colors (for example, to 16 colors or 256 colors). I have used the free Ultimate Paint, and it converts to 16-color PCX well (don't forget to check the "Transparent" checkbox if you are making sprites). Also, it has another checkbox for "dither", although it doesn't have several dithering methods, it only has one). Of course ImageMagick can convert and dither too (the fragments of the images of above were converted with ImageMagick).

In case that you are still interested in making that program, well... in fact the idea that you proposed is one of the main methods to make color reduction (counting the frequency of every color). At this point, the key is choose which are the representative colors. If you search in Google for "Color reduction" you will find lots of these methods.

@GobanToba: Yes!! If there is a big part of the image where you can use only one palette, then you will have the other 15 palettes for the rest of the picture. In this case, you will probably have to do the split manually. The method that I proposed in my first post was an automatic way to do it (dividing the image in 16 square sections) but of course the results can be enhanced with your idea.
#15
In fact, using all the 256 different colors (or 241) is not realistic. As NecroPhile said, in almost every picture there are repeated colors. It is very difficult to split an image in 16 sections, using a different palette in each section, and achieve that every section uses 16 DIFFERENT colors. It's very easy that some colors are repeated between different sections.

As far as the "common color", now I am astonished. Why is my method working? I convert the original picture to 16 different pictures of 16 colors, but I am not ensuring in any way that all the palettes have a common color. It's strange... I guess that the common color is the first of every palette, that is the "transparent" color, isn't it? As far as I know, the transparent color in tiles IS displayed (whereas in sprites it is not displayed).

Hehehe, Touko, I have seen that in this thread we are allways posting almost at the same time  :mrgreen:
#16
It's strange... I am not able to count the colors used. I executed the demo with Mednafen, and I captured the screenshot (Print Page key). I pasted it in several programs (Paint, Photoshop, Ultimate Paint...) but the number of colors allways is enormous ( >1,000 ). And I try to count the colors before saving the picture!! (in order to prevent errors in the conversion). Anyone has used a method to count colors in a PCE game, with good results? Maybe the output of Mednafen is not exact, and I must use another emulator?

In any case, I would like to post here another thing that I have been thinking of: besides the limitation of the number of colors that we can use (which is the point that I am trying to solve now) we must keep in mind that we have another limitation: the total spectrum of colors in the PC Engine is 512. See the following example:

IMG

The first picture is the original, the second is the conversion to 16 colors, and the third uses my method (16 palettes of 16 colors, by squares). You can see in the face of the kid that the increment between adjacent colors is very high, whereas in the original picture it is very smooth. The reason, in my opinion, is that the PC Engine does not have colors in the middle of the ones that is using. In other words: the number of "blue" colors that we have is limited, so even if we can choose 256 different colors, there is not a high amount of "usefull" colors for each image.

In this sample, we can see that our method gives better results than using only 16 colors, but we are very far of that theoretical limit of 256.
#17
My previous response was directed to Arkhan. Touko, I didn't read your post when I was writing mine, because we were writing almost at the same time  :mrgreen:

So, the application that I said that exists yet (ImageMagick) is the one that says Arkhan (a program that splits the image and converts it to 16 PCX images). I was not talking about the application that Touko is making, that obviously DOESN'T exist yet. By the way, Touko, I would love to see your results when you finish it!! And... these 512 colors are 256 in background and 256 in sprites, or are you preparing us another surprise?  =P~

As far as the number of colors that NecroPhile and Touko asked for, tomorrow I will try to get a program to count them. I have tried to analize the JPG that I have uploaded, but it seems that the JPG format has changed a bit the image, so it is not totally reliable. I hope to tell you tomorrow how many colors are using those enhanced backgrounds, as NecroPhile is right: some of the palettes repeat colors, so the total is not 256 at all... but I hope that it's much more than 16.
#18
In fact I was writing that application... but then I saw that it exists yet!! It is ImageMagick, it's free, and it's awesome because it can do first all the split and then transform to PCX format. The bad thing is that it is 256-color PCX, so finally I must open all those PCX fragments with another program and convert them to 16-color PCX, but it is worth the time (maybe 10 minutes, and I have converted all the backgrounds of the game). If you decide to use Imagemagick, I can help you because I have fought versus that program a bit yet  :D
#19
I am going to post here something that I have been working on. In case someone is interested and/or wants more information, let me know.

During my (short) life as an amateur PCE developer, when I programmed non-srolling games, I used to draw 16-color backgrounds (and invoke them with the infamous load_background method). But after many time I was thinking... "the PC Engine can manage 16 background palettes, and each palette can manage 16 colors... so why THE F*CK I am only using 16 colors in my backgrounds?".

So, I have tested methods to split a picture in several fragments, and use a different 16-color palette in each fragment. If we divide the screen in 16 sections, we can have a theoretical limit of 256 background colors on screen (16 palettes x 16 colors each one). I tried several methods to split the background image (by rows, by columns...) but my primary methods did not give good results, as there were nasty effects in the limits of every row or column. But finally I have seen that splitting the image by SQUARES, and converting each square to 16 colors, gives very decent results.

I tried to apply this in one of my past games (my old Vampire Story Demo) and here are the results: for example, in the third background the differences are clear. In the two backgrounds of the left, the differences are not as good. Also, I have seen that this methods is usefull in realistic backgrounds (like these ones) but not in cartoon-like backgrounds.

IMG
#20
Thank you to everybody who posted here. It seems clear now. I didn't think about that standard size of the cards (as I know that there are cards bigger than that), and of course I was not informed about that comment in the 80s. So, our console is really 2000 times more powerfull!! Long life to the TG-16!!! :D
#21
Yes, I did some calculations in that direction... maybe comparing a cartridge of 256k versus a CD of 512 MB, but I didn't find what console used that 256k limit. I think that Arkhan said a great true: that was a commercial, so it is not very important if the comparison is totally "exact". And yes, it seems that they are talking about the CD massive storage capacity, as you are saying. The word "memory" that they used is confusing...
#22
Thank you! I was begining to be disperated in my calculations, trying to get that "2000"...  ](*,)  :mrgreen:
#23
Yesterday I saw (once again) that famous commercial about the TurbografX-16... My English is very bad, but I understand something like "First, there was Atari... Then, there was Nintendo... NOOOW, the next generation in videogames, TurbografX-16, AAAAH, TurboGrafX-CD... Wide-wide videogames..." and then it says something like "two thousand times more memory"??

I know that the TurbografX-16 was revolutionary, and the CD add-on was impressive, but... what does that "2000 times more memory" mean? Is it speaking about RAM memory? Is it speaking about the MB capacity of the CD-ROM add-on? Comparing to which console? I have make some calculations comparing with the previous consoles (even the Atari 2600) and I don't understand that sentence. Maybe it is a hype? Or maybe I am misunderstanding this?

If anyone is interested, I ask this question because I am trying to expand the Turbografx scene in my country (Spain) where it is not very known... and I am trying to document myself to explain my friends the points in which our console was revolutionary in its time  :D
#24
Quoteso instead of hearing "doooo doo" you just hear "doooooo"
LOL!! I have counted the number of "o" letters, and I understand exactly what you mean... I think that it is a perfect explanation  :D

QuoteCool hcf, this was an easy way to make mml ..
Yes, this is the reason why I tried to search a method to convert MID to MML: people without the capabilities to compose music (like me) can now use the amazing Squirrel tool to insert PSG music in our games, because internet is full of MID files.

Arkhan, now I will suggest a task for Squirrel 3.0, hehehe :mrgreen:  The manual that you made is impressive, but maybe you can write another little README file, explaining the basic functions of your library. For example, I think that I understand functions like psgOn(), psgInit(), sngInit() or psgPlay( ), but maybe you can explain what is the purpose of the rest of the functions, what is the correct way to stop music ( I think that it's psgAllStop ), how to use a list of several songs, how to loop a song...

In fact, I think that I know how to do almost all those things (I have tested your library a lot in these days, hehehe) but I think that it will be positive for everybody to have that explanation (again, "for dumbs") written by you, the legitimate author of the library.  :)
#25
Quote from: TheOldMan on 03/30/2010, 12:10 PMhcf. Going by what you posted earlier, yeah, you do need to change some stuff. the ^ is actually a tie, so something like c4^16 needs to be changed to c4&c16. note that you have to put the note name in for squirrel. I didn't see any ~'s, so I have no idea what they mean...possibly a slur?
It works!! Thank you TheOldMan, your suggestion is correct!!

In order that everybody can use this method, I am going to write an explanation FOR DUMBS, explaining my experience and which is the best method that I have found (without musical knowledge): I pick a MID file from internet, and I use the program TinyMM. This program produces a MML file.

We must do two things with this MML file: the first thing is copy the information of every channel, and paste that information in the channels of a working MML sample (for example, I used Cathedral.mml). The rest of the channels of Cathedral.mml must be empty. I used Cathedral.mml and not Skeleton.mml because Cathedral already has the information of the headers of the channels. In this headers info, you must change the Waveform (aka "musical instrument") which is the number following the "@" symbol, and in channel 0 you must change the Tempo (the number following the "T") which is the speed of the song.

Finally, as TheOldMan said, you must change every ^ symbol in this way: convert b4^8 in b4&b8 (is something like repeating a note). This is the key!!! My previous tests were not well synchronized because Squirrel ignored the notes after the ^ symbol. When these notes are not ignored, the musci plays well :)

Well, after all my tests I only can say... thank you, Arkhan and TheOldMan! Now I am going to test the power of Squirrel ;)
#26
Yes, it's Honey on the road!!! Very well for all the answers, they were very creative!!  :D
#27
LOL!! The answers are not correct, although I was tempted to accept them, because they are hylarious  :mrgreen:

Tip: you have to guess what is that golden and sticky substance that caused the accident (I am not good at drawing).
#28
I am a bit busy now, so here is a quick one:

/guessme.jpg
#29
Damn!! I saw that people was writing new answers, so I was thinking that my answer was wrong!!  :mrgreen:
Please, let me a bit of time   :D
#31
Please, don't misunderstand my words in my other post: Squirrel works greatly, in fact I have compiled some of your samples and the sound is impressive!!

Obviously, the errors appear when I try to convert MID files to MML, because as you said, all the converters add special characters which are not standard, so Squirrel doesn't know what to do with that stuff. But this is not a fail of Squirrel at all!!

I am going to do several tests with some MID files, and I will try to remove all the special characters. Then, I will post here my results. And maybe, then I will need your advice :)

Thanks again!
#32
I have tested both methods, and the results are a bit discouraging. They DO work indeed (both TinyMM and 3MLE with MabiMML style) but as you said, there is a lot of crap that we must remove (Squirrel dislikes it). After removing all that stuff and replacing the CHANNEL sections, the MML compiles and in fact the game PLAYS music!!! But it is not well synchronized (the tempo is not good, and the voices are not synchronized one with the others). Maybe all that crap is not entirely unusefull  :mrgreen:

For example, I see that there are some characters like ^ or ~ that generate errors. I must try it a bit more, because maybe there is a way to work if we guess the equivalence between this MML styles and the standard one from Squirrel...  :D
#33
Thank you! I will try TinyMM and 3MLE with MabiMML style again, and I will report my results.

It's curious: I found this 3MLE program, but I didn't know that Mabinogi was in fact a game  :mrgreen:
#34
Thanks for the answers. I'm going to post the results of the 5 programs that I have to convert MID to MML. Also, I have tried to replace the CHANNEL section of the "Cathedral.MML" sample with these results, and I was not lucky. Maybe if you see these conversions you can tell us which one is closer to the standard MML required by Squirrel, and what are the things that we must erase (and paste them in the CHANNEL section). As TheOldMan said, this is easier than making the MML from scratch (even more for people without musical knowledge). These are the results:

Tinymm:

{ Ch 01 ===================================== }
r1
o3c4^8g4^16^32o4c4^32
o3f4^8^32o4c4^16^32o3f4
c4^8e4^16^32g8<c2^4^8
>g4^32
c4^8g4^8<c4
>f4^16^32r32<c4^16^32o3f4c4^32
g+4^16^32r32a+4^16^32o4c4^8^32
>g16r16g4c8^16r16
c4^8g4^8<c4
o3f4^8<c4^16^32o3f4^32
c4^8e4^16^32g8<c2^4^8
o3g4c4^8^32
g4^16^32r32o4c4
>f4^8<c4^16^32r32o3f8^16^32c4^32
g+4^8a+4^16^32<c2^4^16^32
;
{ Ch 02 ===================================== }
r1^4^32
<g32r16f+16r16f16r16d+8r8e8
r8>g+16^32r32a8o6c4^32o5a16^32<c16^32r32d8^32
r8^16^32g16^32r32f+16r16f16r16d+8^16^32r32e8^32
r16<c8^16r16c16^32r32c2r4^32
>g16r32f+16r16f16^32r32d+16^32r8^16e16^32r8^32
o5g+8a16^32r32o6c4o5a8<c16^32d4^16
r16^32d+4^16r16d4^16r32c2^32
r2^8^16^32
g16^32r32f+16r16f16r16d+4^32e4^32
o5g+16^32a8o6c4o5a8<c16^32d4
r8^32g16r16f+32r16^32f16^32r32d+4e8^16
r16<c8^16r32c16^32r32c2^32
r8^16^32o6g8f+16^32r32f16r16d+4e4^16
>g+8a8<c8^16^32>a8<c16^32d4^8
r32d+4^16^32d4^8>g1^16
;


3MLE Mabinogi:

MML@r1rv11l8>gv12f+v11fv13d+4v11e4v10<g+v12av13>c4.v12cd4.v11gv12f+v11fd+4v12e.&e32>c4v11cc2.&c32v12<g16.f+fv11d+4&d+32e4v9<g+v11av12b+4v11av12>c16.v13l4.d&d32d+d4&d16.v12c1&c4v11g8v12f+8v11f8v12d+4&d+32v11ev12<av11a8.&a32l32>d4.&dg16.v12f+8v11f8&fv12d+4v10e4v11>c8.&cc8c2.v10l4<gf8v12d+v9e&e16l8<g+v6av10>c.&c32v9<av10l16.>cv7d4.&d32v13d+4&d+v12d4.<g1&g16,r1v11o2c.v10g&g16.>c&c32<f2.f2&f8e.&e16.v9>c2.&c8v10<g&g32c.g.b+f&f16.b+.fc&c32v12g+.a+2.v11g8v10gv11cv10c.g.b+v9f.>c&c16.<f&f32v10c.e.&e16.>c2.&c8<gc.&c32g&g16.>c&c32v9l4.<fv10b+v7l16.f4.&fv12g+4.&g+32v13a+4&a+v11>c2.&c,t167;

3MLE Thread:

y‹È–¼z
yo"Tz
yì‹È‰Â"\ƒ‰ƒ"ƒNzD (352/220/4)

MML@
r1rv11l8>gv12f+v11fv13d+4v11e4v10<g+v12av13>c4.v12cd4.v11gv12f+v11fd+4v12e.&e32>c4v11cc2.&c32v12<g16.f+fv11d+4&d+32e4v9<g+v11av12b+4v11av12>c16.v13l4.d&d32d+d4&d16.v12c1&c4v11g8v12f+8v11f8v12d+4&d+32v11ev12<av11a8.&a32l32>d4.&dg16.v12f+8v11f8&fv12d+4v10e4v11>c8.&cc8c2.v10l4<gf8v12d+v9e&e16l8<g+v6av10>c.&c32v9<av10l16.>cv7d4.&d32v13d+4&d+v12d4.<g1&g16
,
r1v11o2c.v10g&g16.>c&c32<f2.f2&f8e.&e16.v9>c2.&c8v10<g&g32c.g.b+f&f16.b+.fc&c32v12g+.a+2.v11g8v10gv11cv10c.g.b+v9f.>c&c16.<f&f32v10c.e.&e16.>c2.&c8<gc.&c32g&g16.>c&c32v9l4.<fv10b+v7l16.f4.&fv12g+4.&g+32v13a+4&a+v11>c2.&c
,
t167
;


3MLE MabiMML:

[Settings]
Title=
Source=
Memo=
TimeBase=32
TimeSignatureNN=4
TimeSignatureDD=4
Instrument1=128
Instrument2=128
Instrument3=128
Instrument4=128
TrackName1=Track1
TrackName2=Track2
TrackName3=Track3
TrackName4=Track4

[Channel1]
//#using_extension
//#using_channel = 0


/*M 0  */  t167
[Channel2]
//#using_extension
//#using_channel = 1

// Bass

/*M 0  */  V97@35r1
/*M 1  */  v11o2c4.v10g4&g16.>c4&c32
/*M 2  */  <f2.f2&
/*M 3  */  f8e4.&e16.v9>c2.&
/*M 4  */  c8v10<g4&g32
/*M 5  */  c4.g4.>c4
/*M 6  */  <f4&f16.>c4.<f4c4&
/*M 7  */  c32v12g+4.a+2.
/*M 8  */  v11g8v10g4v11c4
/*M 9  */  v10c4.g4.>c4
/*M 10 */  v9<f4.>c4&c16.<f4&f32
/*M 11 */  v10c4.e4.&e16.>c2.&
/*M 12 */  c8<g4c4.&
/*M 13 */  c32g4&g16.>c4&c32
/*M 14 */  v9<f4.v10>c4.v7<f4.&
/*M 15 */  f16.v12g+4.&g+32v13a+4&a+16.v11>c2.&
/*M 16 */  c16.
[Channel3]
//#using_extension
//#using_channel = 2

// Melody

/*M 0  */  V127@25r1
/*M 1  */  r4v11>g8v12f+8v11f8v13d+4v11e4
/*M 2  */  v10<g+8v12a8v13>c4.v12c8d4.
/*M 3  */  v11g8v12f+8v11f8d+4v12e8.&
/*M 4  */  e32>c4v11c8c2.&
/*M 5  */  c32
/*M 5  */  v12<g16.f+8f8v11d+4&d+32e4
/*M 6  */  v9<g+8v11a8v12>c4v11<a8v12>c16.v13d4.&
/*M 7  */  d32d+4.d4&d16.v12c1&
/*M 8  */  c4
/*M 9  */  v11g8v12f+8v11f8v12d+4&d+32v11e4.
/*M 10 */  v12<a4.v11a8.&a32>d4.&
/*M 11 */  d32g16.v12f+8v11f8&f32v12d+4v10e4
/*M 12 */  v11>c8.&c32c8c2.
/*M 13 */  v10<g4f8v12d+4v9e4&
/*M 14 */  e16<g+8v6a8v10>c8.&c32v9<a8v10>c16.v7d4.&
/*M 15 */  d32
/*M 15 */  v13d+4&d+16.v12d4.<g1&
/*M 16 */  g16
[Channel4]
//#using_extension
//#using_channel = 8

// Sequenced by Mike Martel

/*M 0  */  V100@0

Finally, midimml is a bit buggy and their results are clearly wrong, so I am not going to paste them here.

Thank you very much!!

#35
This new version of Squirrel seems to be awesome. It's very nice to see all the people in this forum that are sharing very usefull libraries. In my opinion, this is the best way to make our scene grow.

As far as Squirrel is related, I have been able to create ISOs with the example MML files, and they work perfect. This is amazing :) 

The bad thing is that I am trying to go one step beyond. I have a lot of MID files, and I am trying to convert them to MML and use them with Squirrel. I have used several programs: midimml2.2, tinymml, and even the wonderfull 3MLE (it can convert MID files to 3 different styles of MML: Mabinogi, Thread and MabiMML). So, I got 5 different MML files (one for each method of conversion) but none of them worked with Squirrel. Even I tried to edit the Cathedral.MML sample and replace the inner part of the channels with the one generated by these programs, and it doesn't work :(

And this is a pity, because people WITHOUT a deep musical knowledge would be very happy if we can convert MID files to MML and import them with Squirrel later. We are not able to compose our own MML music, but in Internet there are tons of MID files to import. So, I would like to ask you... have you ever tried one of this MID to MML programs, and do you know if there are any of them which generates code compatible with Squirrel? If that tool does exist, the combo "Squirrel+That Tool" would be the perfect way to create music for PC Engine!! :D

In any case, even if this tool doesn't exist, your work is very nice. Congratulations! :)
#36
I loved the howl of the werewolf in Akumajo Dracula X the first time that I heard it  :shock:
#37
Wow!!! ENORMOUS thanks, Tom!!!  :D   =D&gt;

Of course I will try it as soon as possible, and I will let you know   :)
#38
ShapeShifter?

Necro, your pictures are the hardest... and the funniest!!!  :mrgreen:
#39
Quote from: guest on 01/28/2010, 06:10 AMMore statistics:
Assuming that anyone who visits the site more than 25 times can be classed as a fan, or at least pretty interested in the system, that makes 6,253 unique visitors since the beginning of this year.

The top ten visiting countries are:

1. United States
2. United Kingdom
3. France
4. Germany
5. Italy
6. Japan
7. Canada
8. Brazil
9. Spain
10. Sweden

However, when you look at the stats by city, London is the clear winner.
Wow... Can you write the number of visitors of each country? I was surprised by the fact that Spain was in the top ten... How many countries do appear in your list?
#40
As Esteban talked about Switzerland, I will speak about my country (Spain). Sadly, in Spain the PC Engine is not very known. In fact in those years we had only Sega and Nintendo (and previously Atari). In those years Spain was not updated as far as videogames is concerned. Now things have changed a lot and we are updated, but in those days people didn't know the PC Engine, nor the Jaguar, 3d0, Philips CD-I... we only knew Sega and Nintendo  :cry:

Nowadays, internet has made that many people can know these old systems, and the PC Engine was known in first instance by the fantastic Akumajo Dracula X... but luckily there is people that have began to love the system too.

My personal case is different: my brother had a Sega Saturn, and in the game Saturn Bomberman (in the battle mode) the characters that you can pick were... characters from the PC Engine games!! There were Bonk, Manjimaru, M. Higgins... I began to investigate who were those cool characters and I knew the PC Engine then... so maybe I am the first spaniard who knew that system ;-)

How much people in Spain does know the system now? Well, many people but... how much of them really LOVE/OBEY the system? It's hard to say, but I guess that we are very few. Anyone there? ;-)
#41
Besides the Pixel Warehouse web that has been mentioned previously, there are other webs with several ripped sprites of many systems (although the PCE is m¡noritary). For example you can try:

https://www.spriters-resource.com/   
https://spritedatabase.net/

The last link has the sprites of Dragon curse or Neutopia II of the PCE.
#42
I think that Akumajo Dracula X can be the basis of a very good action movie, with a great variety of monsters.

On the other side, I was thinking what games would be IMPOSSIBLE to make a movie of. For example Tricky Kick or Splash Lake ;P
#43
World circuit?
Energy?

I am not good at electronics...  :oops:
#44
Old Rover, that is incredible!!

Quote from: guest on 12/09/2009, 03:30 PMWas ist CHIP-8?  :-s
You can see it here:
http://en.wikipedia.org/wiki/CHIP-8

CHIP-8 is a language that was designed to program games like Pong in the past. When you develop a program in this language, you need a "CHIP-8 virtual machine" to run it.

Well, I think that The Old Rover is programming a "CHIP-8 virtual machine" to be executed in the PC Engine, so that you will be able to run "CHIP-8" games in a PC Engine. And it is impressive, because... well, we know that there are consoles with a large scene of emulators (you can run emulators of other systems in a Dreamcast, a Xbox, a PSP... but I don't know if anyone has made previously anything similar in the PC Engine :)
#45
QuoteArf is a mix with french and english lol.
To say, is not a real team  :wink:
Yes... in fact I did understand it (in Spanish the word "pseudo" also exists)... but I didn't undertand what were you meaning. Maybe a team of imaginary friends?  :mrgreen:
#46
We will love to see your creation!!

By the way, some day you must explain us what is a "pseudo team"...   :mrgreen:
#47
Hehehe, touko... I was NOT meaning that you were a beginner with HuC  :wink:  In fact, I remember your wonderful Galaxian demo, and that cascade effect!!

I told that thing about the "-scd" option because in my beginnings I used the "-cd" option and I got a Bank overflow error too. You know: hucards, cds and super-cds have different memory managements, and I wanted to ensure that your error was not caused by that thing. In my example, compiling a ".pce" went correctly, compiling a super-cd went properly too, but compiling with the "-cd" option gave me that error, because I surpased that 8K limit and I had a bank overflow. Finding that "-scd" option was a great discovering for me  :D

Now that we have seen that this is not your problem, I will disappear. Tom is a much better person for giving you an advice about this  :wink:

By the way... that iso that you are creating... has anything to do with Galaxian? We would love to see that game released!!  =P~
#48
I don't know where your problem can be AT ALL, but I would like to make a little suggestion: are you compiling with the "-cd" option? Did you make an attempt compiling with the "-scd" option instead? I say that because it was a mistake that I was making when I started to program with HuC  :wink:
#49
Wow, those screenshots are amazing!!  :D

Thanks for the info. It is encouraging to know that a big part of Mysterious Song is made in HuC. It is a proof that HuC is powerful indeed, and you can do lots of things with this compiler. Of course, I understand Tom's explanation too, because there will be parts of the game where optimization is mandatory, so it's necessary to use assembly there... and also to make some special effects, I guess.
#50
Tom, thank you very much for taking the time to write that fantastic explanation!! I think that I understood it well, and I have learnt a lot of things  =D&gt;

I think that I can answer your last question "why even use C at all?". From my point of view... because there are people (like me) who are total boneheads as far as assembly programming is related, but we are decent C programmers. C is easy to learn for almost everybody, and assembly... is easy only for some people.

I am not able to create a game in ASM, but I am able to create a game in HuC using C (and I create it very quickly!!). You are right: these will be very basic games, but sometimes this is enough (like the "Monkey Catcher" game that I made for my little daughter). In fact, when I discovered (thanks to a very nice person from the Frozenutopia team) the option of making overlays in the CD games, I saw a huge potential that I was not using in HuC before that.

So, my opinion is that HuC is usefull indeed if you are not trying to create an "Akumajo Dracula X: Rondo of blood 2", and you have enough with creating a more basic game, and you need to do it quickly. Of course, using ASM is mandatory in a professional game like Mysterious Song  :D

Thank you again for your fantastic explanation!!