Sega Lord X reviews the Street Fighter II Champion Edition PC Engine port.
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 - Mednafen

#1
Quote from: guest on 05/10/2017, 10:53 AMOh, I thought it was a natural evolution of mednafen-rr and PCEjin. Do you happen to know what core they are using?
AFAIK, it's original.
#2
Quote from: guest on 05/09/2017, 11:56 AMBizHawk is the emulator I'm watching for the future. It uses the Mednafen core for PCE emulation
It does not.
#3
Try writing 0xDF, then 0x9F, to $804, after at least the first stw to $0802.  Like:

.do_saw:
stz $0800
stw <Copy_Freq,$0802
lda #$DF
ldx #$9F
sta $0804
stx $0804
TIN wave_saw,$0806,32
stw #DEF_FREQ,$0802 ;Write default frequency
rts
The demo I linked to is supposed to be quiet(another problem with it :p).
#4
mednafen . fobby . net/junk/pcmplay-neo-noheader.zip

Old demo from 2008 that uses a 6-cycles-per-sample+TIN trick to try to get > 5-bit PCM resolution from one channel by using dithering.  Sounds ok in Mednafen, not so great on a real HuC6280, as I recall(think it sounded like data was being ANDed with other data)...

Don't think we ever tested to see if the corruption was occurring in the latched 5-bit sample, or in the sample memory.
#6
Some of the software that use the 7MHz VDC pixel clock mode:

Angelique Special 2
Angelique Tenkuu no Requim
BIOS CD-DA Player
Doukyusei II
Kokuu Hyouryuu Nirgends
Pia Carrot He Youkoso
Tekipaki Workin Love FX
#7
KING/RAINBOW @ /4 (~5MHz): AAAABBBBCCCC
         VDC @ /3 (~7MHz): NNNOOOPPPQQQ
      Possible VCE output: AAAOOOBBCQQQ
      Possible VCE output: NNNABBPPPCCC
      (etc)
#8
RAINBOW and KING pixel clocks are fixed at /4.  VDCs pixel clock can be set to /4 or /3.

wertz:  The Mednafen setting you're fiddling with is meant to allow for emulation to be faster on old, slow systems, and shouldn't normally be modified.
#9
Quote from: MotherGunner on 11/10/2016, 09:19 PMWhat we're really saying is, "The EC ONLY needs to go when my candidate loses.  When my candidate wins, however, I love the EC!" *rolls eyes*
When was the last time a Democratic Party Presidential candidate won the electoral college vote but lost the popular vote? ;)
#10
Something(chilly air? :p)'s very, very wrong when people feel the need to vote for a blatant psychopath like Trump for President.  There's calculated contortion of the narrative that many politicians are guilty of, and then there's shameless straight-faced repeated lying Trump has engaged in.  Hopefully people understand the sort of person they elected, and we don't find out the hard way how easily the gap between truth and the perception of truth can become gargantuan.
#11
FWIW, the HES rip is making popping noises with that music in (latestish) Mednafen.
#12
Quote from: TurboXray on 06/02/2016, 04:12 PMJust wanted to say that I started real system tests, since ironing out the problems with the emulator, and everything seems to work as it should (the custom bram lib). And as expected, the real CD unit doesn't care what's written to port $1807; only the last byte being $80. So that's totally a mednafen thing.
I can fix a bug if you provide a test program with accompanying source code.
#13
Should probably mention these libraries in case anyone wants to make an all-in-one encoder and isn't already familiar with them:

https://uazu.net/fidlib/
http://www.mega-nerd.com/libsndfile/
http://www.mega-nerd.com/SRC/
#14
Quick and dirty code that proooobably(:p) works right(just pack nybbles low to high, little-endian):

static const int step_sizes[49] =
{
 16, 17, 19, 21, 23, 25, 28, 31, 34, 37, 41, 45, 50,
 55, 60, 66, 73, 80, 88, 97, 107, 118, 130, 143, 157,
 173, 190, 209, 230, 253, 279, 307, 337, 371, 408, 449,
 494, 544, 598, 658, 724, 796, 876, 963, 1060, 1166, 1282, 1411, 1552
};

static const int step_index_deltas[16] =
{
 -1, -1, -1, -1, 2, 4, 6, 8,
 -1, -1, -1, -1, 2, 4, 6, 8
};

typedef struct
{
 int predictor;
 int step_size_index;
 int delta_mask;

 long long error_sum;
} encoder_ctx_t;

void encoder_reset(encoder_ctx_t* ctx)
{
 ctx->predictor = 0;
 ctx->step_size_index = 0;
}

void encoder_init(encoder_ctx_t* ctx, int linear_ip, unsigned char raw_rate)
{
 if(linear_ip)
  ctx->delta_mask = ~((1 << raw_rate) - 1);
 else
  ctx->delta_mask = ~0;

 ctx->error_sum = 0;

 encoder_reset(ctx);
}

unsigned char encoder_encode(encoder_ctx_t* ctx, int16_t samp)
{
 const int32_t delta = (samp >> 1) - ctx->predictor;
 const int32_t abs_delta = abs(delta);
 const int32_t cur_ss = step_sizes[ctx->step_size_index];
 int32_t m;
 uint8_t nyb;

 m = (abs_delta / cur_ss) - 1;

 if(m < 0)
  m = 0;
 if(m > 7)
  m = 7;

 nyb = m | ((delta < 0) ? 8 : 0);

 //
 //
 //
 ctx->predictor += ((step_sizes[ctx->step_size_index] * ((nyb & 7) + 1)) & ctx->delta_mask) * ((nyb & 8) ? -1 : 1);
 if(ctx->predictor < -16384)
  ctx->predictor = -16384;

 if(ctx->predictor > 16383)
  ctx->predictor = 16383;

 ctx->step_size_index += step_index_deltas[nyb];
 if(ctx->step_size_index < 0)
  ctx->step_size_index = 0;

 if(ctx->step_size_index > 48)
  ctx->step_size_index = 48;

 ctx->error_sum += abs(samp - (int32_t)((uint32_t)ctx->predictor << 1));

#if 0
 {
  int16_t tmp = ctx->predictor << 1;
  fwrite(&tmp, 2, 1, stderr);
 }
#endif

 return nyb;
}
#15
PC-FX uses a slight modification of the OKI ADPCM algorithm, so if you were to encode audio as OKI ADPCM, it'll sound noisy and have weird clipping when played back on the PC-FX.  And IIRC, the ADPCM encoder in MPCONV2 is buggy and uses a slightly different encoding algorithm(including a typo'd LUT value) than the PC-FX, so even it will tend to produce noisy ADPCM, particularly on source audio that uses full dynamic range.
#16
Quote from: guest on 04/01/2016, 03:01 PMSo the lesson is, only use a SuperGrafx for SuperGrafx games and keep a dedicated PC Engine setup that is either a white PCE or CGXII CD combo or a Duo system to play PC Engine games?
That sounds...sound. :p
It really comes down to taste, and if you want to play the games as the designers' intended...but it's possible that later PCE games were developed with a HuC6280A, so...I don't know, it's good to have options and know that games will sound subtly and sometimes not-so-subtly different at least.
#17
"Best potential sound" for what, homebrew?  The HuC6280A takes the punch out of some of Air Zonk's sound effects, and there's at least one game whose name I can't recall off-hand where the music is a clicky mess with the HuC6280A.

Edit: "Kaizou Choujin Shubibinman" is the game with the clicking problems on HuC6280A.  Though reconsidering after testing a number of games, it's likely there are many more games that sound subjectively "better" on the HuC6280A than sound worse.
#18
You can even change the pixel clock mid-scanline to something else and back, if you're careful with the timing, to get a wavy effect:

sarsie.fobby.net/junk/wavy1.png

I wasn't careful enough with the timing in that proof-of-concept demo I wrote 8 years ago, as the glitching can attest to. ;)
#19
IIRC, the VDC behaves strangely(output image is positioned inconsistently horizontally compared to 5MHz and 7MHz modes, and wait-stating is inconsistent too) when running with the 10MHz pixel clock from the VCE.  I think it's probably because the lines(hsync to hsync) are "too" long, although I never got around to digging into it.

FWIW, Mednafen doesn't emulate this properly.
#20
Quote from: elmer on 03/17/2016, 11:16 PMWhile you're "on-the-line" ... can I ask if you've seen anything in the PC-FX BIOS or libraries that uses the R2 and R5 registers?

AFAIK, they're not used except temporarily-during-startup, and I'd like to use them for the Frame Pointer and the Thread Local variables pointer.
No, but I haven't really dug into the BIOS and official dev libraries that much.
#21
eris_tetsu_get_raster() may occasionally return a garbage value on real hardware as it doesn't appear to follow the hardware programming manual's advice.  You can call the function multiple times to work around it, but that's not as efficient as having the workaround for the hardware bug in the function itself...
#22
RS-170/RS-170A(approximate calculation, some uncertainty in numbers and implementations):
256 * (4 / 3) / ((5369318.18 * ((63.556 - 10.89) / 1000 / 1000)) / (485/2)) ~= 292.7

"Industry standard", 12 3/11 MHz rate for sampling square pixels from interlaced NTSC video:
256 * (12272727.27 / 2) / 5369318.18 ~= 292.6
#23
Hint: Set PC breakpoint at $992F, and trigger dialog with someone in the classroom.  Dialog text number is in the Y register.
#24
Can you offer assurances that the foam won't cause any damage due to unreacted monomers/plasticizers/leftover solvents or degradation byproducts over time?
#25
Off-Topic / Re: fast food
08/10/2015, 11:27 AM
McDonald's standardized imitation food products figuratively kill me whenever I irregularly make the mistake of eating them.
#26
The memory editor's view of VRAM is bytewise, but the breakpoints are specified in 16-bit units(i.e. divide the address in the memory editor by 2 to get the address to put as the VRAM breakpoint).
#28
Probably, being cryptic is fun because it warps the other person's thoughts to match your own, but that's assuming they can figure out one's nonsense in the first place!

I was wondering if 16bitgium had encountered a loose copy of "Same Game FX", and not a full PC-FXGA.
#29
Missing capitalization?
#31
Just tested to reconfirm it, SET does not appear to have any effect on SBC when paired with it, on a HuC6280(in my PC Engine Duo).  So at the very least, if you're making programs targeting the PC Engine, it's erroneous to use SET with SBC and expect it to work as it would with ADC.
#32
There are three hidden stages leftover from an (apparently) earlier revision.

Example of stage 3 (hidden old stage on left, normal on right):
https://tcrf.net/Akumajou_Dracula_X:_Chi_no_Rondo#Unused_Stages
IMG IMG
IMG IMG
IMG IMG
#33
The only method I know to activate the debug mode without hacking the game(or its RAM) requires that you have expansion ROM/RAM with specific values at bank $FC, and that you hold I+RUN during startup until you get this screen:

sarsie.fobby.net/junk/ys4/ys4-datething.png

Here's a cheat code that very-partially simulates the presence of this (presumed) development device, if you're curious:
[6350e1c06f4d5be0a27eb0ae31c604fb] Ys IV - The Dawn of Ys {HCD3051-4-1108-R1F} (SCD)(JPN)
S A 8 L 0 001F9200 e7366d6f72204244 Simulate ROM necessary to allow for debug mode.

...though doing it this way seems to prevent you from accessing the dev/staff room from the menu under "Continue" like you can with the updated simple cheat code; if you try to select it, you'll be sent to the NPC debug village instead.

...but of course I can't ever rule out the possibility of there being a more player-friendly way to activate the debug mode, as I've only examined a tiny fraction of Ys 4's code.
#34
I took the time to look into Ys 4's code some more, and came up with this better, simpler cheat code to enable the game's own proper debug mode(though some debugging stuff still isn't enabled, as it requires a special ROM/RAM mapped at bank $FC).

To get into the debug menu, hold I while pressing II.

[6350e1c06f4d5be0a27eb0ae31c604fb] Ys IV - The Dawn of Ys {HCD3051-4-1108-R1F} (SCD)(JPN)
R A 1 L 0 000d1cba 01 Debug mode enable

[37e37a56eaae6eaa5f3550d995b6168a] Ys IV - The Dawn of Ys {HCD3051-5-1116-R1P} (SCD)(JPN)
R A 1 L 0 000d1cba 01 Debug mode enable

#35
I don't want to create a new topic for this because I'm not sure if it's already known, but the debug password for the USA version of "Ys Book I&II" is:

AAllffaaSSyySStteemm##

aaand a few other codes that do...something?

HASEGAWA

1WASAK1
#36
I went through the entrance that was blocked, by approaching it from "above" via the walk-through-walls bit, as illustrated in the first couple of screenshots(hopefully).
#37
It was trivial to find, since the menu was near the normal menu in RAM and had a similar structure, took about 20 minutes to figure out what to do, and a little longer than that trying to remember how Mednafen's cheat system works. >_>


Just now I was playing around with the walk-through-walls "STAT" bit near the beginning of the game:
[img]http://sarsie.fobby.net/junk/ys4/Ys%20IV%20-%20The%20Dawn%20of%20Ys%20%7BHCD3051-4-1108-R1F%7D%20%28SCD%29%28JPN%29-0001.png[/img]
[img]http://sarsie.fobby.net/junk/ys4/Ys%20IV%20-%20The%20Dawn%20of%20Ys%20%7BHCD3051-4-1108-R1F%7D%20%28SCD%29%28JPN%29-0002.png[/img]
[img]http://sarsie.fobby.net/junk/ys4/Ys%20IV%20-%20The%20Dawn%20of%20Ys%20%7BHCD3051-4-1108-R1F%7D%20%28SCD%29%28JPN%29-0003.png[/img]
[img]http://sarsie.fobby.net/junk/ys4/Ys%20IV%20-%20The%20Dawn%20of%20Ys%20%7BHCD3051-4-1108-R1F%7D%20%28SCD%29%28JPN%29-0004.png[/img]
[img]http://sarsie.fobby.net/junk/ys4/Ys%20IV%20-%20The%20Dawn%20of%20Ys%20%7BHCD3051-4-1108-R1F%7D%20%28SCD%29%28JPN%29-0005.png[/img]
[img]http://sarsie.fobby.net/junk/ys4/Ys%20IV%20-%20The%20Dawn%20of%20Ys%20%7BHCD3051-4-1108-R1F%7D%20%28SCD%29%28JPN%29-0006.png[/img]
[img]http://sarsie.fobby.net/junk/ys4/Ys%20IV%20-%20The%20Dawn%20of%20Ys%20%7BHCD3051-4-1108-R1F%7D%20%28SCD%29%28JPN%29-0007.png[/img]
[img]http://sarsie.fobby.net/junk/ys4/Ys%20IV%20-%20The%20Dawn%20of%20Ys%20%7BHCD3051-4-1108-R1F%7D%20%28SCD%29%28JPN%29-0008.png[/img]
[img]http://sarsie.fobby.net/junk/ys4/Ys%20IV%20-%20The%20Dawn%20of%20Ys%20%7BHCD3051-4-1108-R1F%7D%20%28SCD%29%28JPN%29-0009.png[/img]
[img]http://sarsie.fobby.net/junk/ys4/Ys%20IV%20-%20The%20Dawn%20of%20Ys%20%7BHCD3051-4-1108-R1F%7D%20%28SCD%29%28JPN%29-0010.png[/img]
[img]http://sarsie.fobby.net/junk/ys4/Ys%20IV%20-%20The%20Dawn%20of%20Ys%20%7BHCD3051-4-1108-R1F%7D%20%28SCD%29%28JPN%29-0011.png[/img]
[img]http://sarsie.fobby.net/junk/ys4/Ys%20IV%20-%20The%20Dawn%20of%20Ys%20%7BHCD3051-4-1108-R1F%7D%20%28SCD%29%28JPN%29-0012.png[/img]
[img]http://sarsie.fobby.net/junk/ys4/Ys%20IV%20-%20The%20Dawn%20of%20Ys%20%7BHCD3051-4-1108-R1F%7D%20%28SCD%29%28JPN%29-0013.png[/img]
[img]http://sarsie.fobby.net/junk/ys4/Ys%20IV%20-%20The%20Dawn%20of%20Ys%20%7BHCD3051-4-1108-R1F%7D%20%28SCD%29%28JPN%29-0014.png[/img]
[img]http://sarsie.fobby.net/junk/ys4/Ys%20IV%20-%20The%20Dawn%20of%20Ys%20%7BHCD3051-4-1108-R1F%7D%20%28SCD%29%28JPN%29-0015.png[/img]
[img]http://sarsie.fobby.net/junk/ys4/Ys%20IV%20-%20The%20Dawn%20of%20Ys%20%7BHCD3051-4-1108-R1F%7D%20%28SCD%29%28JPN%29-0016.png[/img]
[img]http://sarsie.fobby.net/junk/ys4/Ys%20IV%20-%20The%20Dawn%20of%20Ys%20%7BHCD3051-4-1108-R1F%7D%20%28SCD%29%28JPN%29-0017.png[/img]
[img]http://sarsie.fobby.net/junk/ys4/Ys%20IV%20-%20The%20Dawn%20of%20Ys%20%7BHCD3051-4-1108-R1F%7D%20%28SCD%29%28JPN%29-0018.png[/img]
[img]http://sarsie.fobby.net/junk/ys4/Ys%20IV%20-%20The%20Dawn%20of%20Ys%20%7BHCD3051-4-1108-R1F%7D%20%28SCD%29%28JPN%29-0019.png[/img]
[img]http://sarsie.fobby.net/junk/ys4/Ys%20IV%20-%20The%20Dawn%20of%20Ys%20%7BHCD3051-4-1108-R1F%7D%20%28SCD%29%28JPN%29-0020.png[/img]
[img]http://sarsie.fobby.net/junk/ys4/Ys%20IV%20-%20The%20Dawn%20of%20Ys%20%7BHCD3051-4-1108-R1F%7D%20%28SCD%29%28JPN%29-0021.png[/img]
[img]http://sarsie.fobby.net/junk/ys4/Ys%20IV%20-%20The%20Dawn%20of%20Ys%20%7BHCD3051-4-1108-R1F%7D%20%28SCD%29%28JPN%29-0022.png[/img]
[img]http://sarsie.fobby.net/junk/ys4/Ys%20IV%20-%20The%20Dawn%20of%20Ys%20%7BHCD3051-4-1108-R1F%7D%20%28SCD%29%28JPN%29-0023.png[/img]
[img]http://sarsie.fobby.net/junk/ys4/Ys%20IV%20-%20The%20Dawn%20of%20Ys%20%7BHCD3051-4-1108-R1F%7D%20%28SCD%29%28JPN%29-0024.png[/img]
[img]http://sarsie.fobby.net/junk/ys4/Ys%20IV%20-%20The%20Dawn%20of%20Ys%20%7BHCD3051-4-1108-R1F%7D%20%28SCD%29%28JPN%29-0025.png[/img]
[img]http://sarsie.fobby.net/junk/ys4/Ys%20IV%20-%20The%20Dawn%20of%20Ys%20%7BHCD3051-4-1108-R1F%7D%20%28SCD%29%28JPN%29-0026.png[/img]
[img]http://sarsie.fobby.net/junk/ys4/Ys%20IV%20-%20The%20Dawn%20of%20Ys%20%7BHCD3051-4-1108-R1F%7D%20%28SCD%29%28JPN%29-0027.png[/img]
[img]http://sarsie.fobby.net/junk/ys4/Ys%20IV%20-%20The%20Dawn%20of%20Ys%20%7BHCD3051-4-1108-R1F%7D%20%28SCD%29%28JPN%29-0028.png[/img]
[img]http://sarsie.fobby.net/junk/ys4/Ys%20IV%20-%20The%20Dawn%20of%20Ys%20%7BHCD3051-4-1108-R1F%7D%20%28SCD%29%28JPN%29-0029.png[/img]
[img]http://sarsie.fobby.net/junk/ys4/Ys%20IV%20-%20The%20Dawn%20of%20Ys%20%7BHCD3051-4-1108-R1F%7D%20%28SCD%29%28JPN%29-0030.png[/img]
[img]http://sarsie.fobby.net/junk/ys4/Ys%20IV%20-%20The%20Dawn%20of%20Ys%20%7BHCD3051-4-1108-R1F%7D%20%28SCD%29%28JPN%29-0031.png[/img]
[img]http://sarsie.fobby.net/junk/ys4/Ys%20IV%20-%20The%20Dawn%20of%20Ys%20%7BHCD3051-4-1108-R1F%7D%20%28SCD%29%28JPN%29-0032.png[/img]
[img]http://sarsie.fobby.net/junk/ys4/Ys%20IV%20-%20The%20Dawn%20of%20Ys%20%7BHCD3051-4-1108-R1F%7D%20%28SCD%29%28JPN%29-0033.png[/img]
[img]http://sarsie.fobby.net/junk/ys4/Ys%20IV%20-%20The%20Dawn%20of%20Ys%20%7BHCD3051-4-1108-R1F%7D%20%28SCD%29%28JPN%29-0034.png[/img]
[img]http://sarsie.fobby.net/junk/ys4/Ys%20IV%20-%20The%20Dawn%20of%20Ys%20%7BHCD3051-4-1108-R1F%7D%20%28SCD%29%28JPN%29-0035.png[/img]
[img]http://sarsie.fobby.net/junk/ys4/Ys%20IV%20-%20The%20Dawn%20of%20Ys%20%7BHCD3051-4-1108-R1F%7D%20%28SCD%29%28JPN%29-0036.png[/img]
[img]http://sarsie.fobby.net/junk/ys4/Ys%20IV%20-%20The%20Dawn%20of%20Ys%20%7BHCD3051-4-1108-R1F%7D%20%28SCD%29%28JPN%29-0037.png[/img]
[img]http://sarsie.fobby.net/junk/ys4/Ys%20IV%20-%20The%20Dawn%20of%20Ys%20%7BHCD3051-4-1108-R1F%7D%20%28SCD%29%28JPN%29-0038.png[/img]
[img]http://sarsie.fobby.net/junk/ys4/Ys%20IV%20-%20The%20Dawn%20of%20Ys%20%7BHCD3051-4-1108-R1F%7D%20%28SCD%29%28JPN%29-0039.png[/img]
[img]http://sarsie.fobby.net/junk/ys4/Ys%20IV%20-%20The%20Dawn%20of%20Ys%20%7BHCD3051-4-1108-R1F%7D%20%28SCD%29%28JPN%29-0040.png[/img]
[img]http://sarsie.fobby.net/junk/ys4/Ys%20IV%20-%20The%20Dawn%20of%20Ys%20%7BHCD3051-4-1108-R1F%7D%20%28SCD%29%28JPN%29-0041.png[/img]
[img]http://sarsie.fobby.net/junk/ys4/Ys%20IV%20-%20The%20Dawn%20of%20Ys%20%7BHCD3051-4-1108-R1F%7D%20%28SCD%29%28JPN%29-0042.png[/img]
#38
Make a file named "pce.cht" under the "cheats" subdirectory of Mednafen(0.9.38.3)'s base directory, with the following text contents:

[6350e1c06f4d5be0a27eb0ae31c604fb] Ys IV - The Dawn of Ys {HCD3051-4-1108-R1F} (SCD)(JPN)
C A 8 B 0 00D6EB8 A95B855DA992855E A90B855DA98F855E Debug menu instead of normal menu


[37e37a56eaae6eaa5f3550d995b6168a] Ys IV - The Dawn of Ys {HCD3051-5-1116-R1P} (SCD)(JPN)
C A 8 B 0 00D6EB8 A95B855DA992855E A90B855DA98F855E Debug menu instead of normal menu

Edit: Modified it so it's not permanent, and can be toggled on/off with ALT+T, and added another entry for the other version of Ys 4.
#39
https://www.opus-codec.org/

Opus is an open audio codec standardized around 2012.  It has higher quality at lower bitrates than alternatives, and it actually has a realistic chance of eventually being supported natively in Microsoft's web browsers, which is sadly more than I can say for Vorbis...
#40
I found the old Farland Story FX ADPCM music dumper I made while digging around in an old hard drive.  Now I remember why I didn't ever upload it, the music is really meh....but if you still want to listen: 

http://sarsie.fobby.net/pcfx/farland/

PS: 10 and 11 are lies and do not exist, death to the binary-clad ones, long live 12.
#41
Arkhan and his acerbic words don't speak for me, and I've little doubt others here feel the same way.

Just do whatever you want or is is enjoyable, even if "enjoyable" turns out to be a simple Tyrian port. ;)
#42
I *think*(things get jumbled around a bit as you get older :p) I still need to go back and fix the Miraculum music dumper to use the proper algorithm.

I updated the Der Langrisser FX dumping program(and music file encodes) a few years back: http://sarsie.fobby.net/Music/der-langrisser-fx/

At one point I had written an (unreleased) program to extract the ADPCM music from Farland Story FX, but I seem to have lost the source code...
#43
Updated.
#44
PCE CD BIOS will only boot from the first data track(assuming it has the magic), while the PC-FX BIOS searches for and uses the first data track that has the PC-FX magic.  If that's still not clear, just look at "Battle Heat", it's dual-boot PCE CD and PC-FX.
#45
Quote from: elmer on 02/19/2015, 10:34 AMYes, it was pretty lame by that time as a music synthesizer ... but from my memory, everyone was expecting CD soundtracks at the time, and it can certainly do that. So the sound processor would be just sitting there doing sound effects. If you limit the CD's ADPCM to mono, you've even got another ADPCM channel for digitized sound effects.
I seem to recall that Zeroigar decodes and re-encodes streaming stereo ADPCM in software to mix in sound effects, but it was a long ago that I messed around with the game so I may be misremembering.
#46
If I were to design a special mapping chip for a HuCard, it would have a 64x8-bit FIFO(writeable via HuC6280), with its output clocked at a semi-programmable rate(say 32KHz / (2**n), where n is 0-2) connected to an adder that adds(at a fixed rate of 32KHz) the 8-bit value(sign-extended, and shifted left by "2 - n") to a 10 bit latched value, and latches the 10-bit result, and the upper 8-bits of the 10-bit result latch are fed to an 8-bit DAC, which is routed to the audio pin of the HuCard.

Additionally, it would have a feature that allows for ROM data to only appear at odd addresses, and a value alternating between 0x13 and 0x23 to appear at even addresses, such
that a data block like: 0xDE 0xAD 0xBE 0xEF
would become: 0x13 0xDE 0x23 0xAD 0x13 0xBE 0x23 0xEF

Oh, and of course it would have ROM bankswitching abilities, too. ;)


I think this is all reasonably simple functionality, and something that would have been technically feasible and cost effective during the PC Engine/TG16's heyday.


Edit: Fixing issues with my description of the audio playback functionality, I shouldn't post technical descriptions while still half-asleep.
#48
0.8.x setting: dfmd5
0.9.x setting: filesys.fname_sav and filesys.fname_state
#49
Search the Mednafen 0.9.19-WIP documentation for all instances of qtrecord
#50
The possible PC-FX ADPCM playback rates are ~31468 Hz, ~15734 Hz, ~7867 Hz, ~3934 Hz.  (Of the pattern 31468 / (2 ** n), which allows for very computationally-inexpensive linear interpolation at the < 31468 playback rates, by right-shifting the delta step by 1 to 3, while still adding the shifted delta step value to the predictor at 31468 Hz).

The ADPCM encoder that (most?) commercial games used is buggy(the GMAKER one is buggy too IIRC); it uses an algorithm that is mismatched to how the PC-FX actually decodes, which results in the audio being noisier than it should be.

For practical purposes, the JPEGish decoder chip can only display at 256x240 maximum.

The decoding is semi-real-time, with a 256x16 automatic double-buffer setup(decodes into 256x16 buffer A while displaying buffer B, then displays buffer A while decoding into buffer B, etc).  Kind of overkill as far as computational power required goes, but makes more efficient use of RAM I guess.  This means that 60FPS FMV is no problem as far as the decoder chip is concerned, at least.