The Analogue Turbo Duo clone shipped in time for Christmas 2023. Are you happy with yours ?? Find firmware updates here.
IMG
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 - TurboXray

#1
Quote from: touko on 03/24/2018, 12:55 PMHi, a little late but i confirm that my PCM driver works not so bad on my SGX (but really bad on mednafen,and maybe PCE) .
The bad noise/distortion i experienced with mednafen, seems not present on the real thing,or it's really not audible,it's hard to tell.

I'll really use this driver for my next devs on SGX as it use 5x less of CPU power than the classic brute force method for the same frequency .
I think you need to set mednafen to use the alternate 6280A sound mode (I think it's default for anything that's a .sgx file). Otherwise mednafen tries to emulate the noise artifacts of turning the channels on/off of the original 6280.
#2
Quote from: esteban on 04/15/2018, 08:23 AM
Quote from: TurboXray on 03/19/2018, 11:04 AMHey all. Been a while. School is incredibly time consuming and it's easing up haha. I didn't have last summer off, but I plan to take this summer off (though work fulltime at my coding job). I'm planning on re-writing my utils and releasing them, but some of the code is really ugly (stuff from 2007!). It seems a waste not to release it publicly, and I also want to some stuff to put on github for my resume for when I graduate. Gonna re-write some of the utils in Java+fx (framework GUI) , and the others keep in C (my own GUI). I rather do this kinda work with PCE too.. been away too long haha.

 Anyway, good to see the scene is still active.
Wait! Did I just miss my only opportunity to ask you about machining a HuCARD out of platinum?

Comrade: quit school, move to NJ and make gritty films about suburbia with me. LOTS OF SQUIBS.

:)
Holy crap you know what is squib is??? That's hilarious haha. You must be making gritty films then.
#3
Quote from: gilbert on 03/17/2018, 01:11 PMHudson itself used an scripting language called IV in their PCE games, which was used extensively in especially games that speed is not the most concerned, like adventure games or RPGs (first or third party ones, doesn't matter, as it's in their official development kit AFAIK). With this they could easily design game events and data structures without using much assembly, just by using a parser/interpreter engine while executed. Without this, HUGE games such as Far East of Eden II simply couldn't be made.

I don't know whether they used IV in their Famicom (or even Super Famicom) games but it is a possibility, as they only need to have written parser engines on different systems so as to (re)use data formated similarly, especially most of the official development tools on the PCE were cross-platform supporting both Famicom and PCE (internal ones used by Hudson at least, the tools they provided 3rd party developers had the Famicom support removed so as not to confuse them).
That's pretty cool! I didn't know this. I messed around a few years ago where I made a simple scripting engine on the PCE side that allowed you to build a horizontal shmup. The script was interpreted in realtime. It was pretty fun. I could do low level stuff too, like load(tileset_label, length, vram_Address). I had slow versions, fast versions, etc. I could control speed across the level, linear, exponential, log, etc. Stop the scrolling, initialize events, etc. Set when an enemy would appear on the map either by time marker or by location marker (what point in the autoscrolled level you reached). It made tweaking and designing the levels much faster and easier. The script allowed for "parallel" commands via a queue, as well as priority level setting. I was going to introduce subscripts as well, say for when a dramatic scene was to happen in the background or foreground, but called simply by its label name -> basically run another instance of the interpreter to handle that sub-script for that scenario.
#4
Hey all. Been a while. School is incredibly time consuming and it's easing up haha. I didn't have last summer off, but I plan to take this summer off (though work fulltime at my coding job). I'm planning on re-writing my utils and releasing them, but some of the code is really ugly (stuff from 2007!). It seems a waste not to release it publicly, and I also want to some stuff to put on github for my resume for when I graduate. Gonna re-write some of the utils in Java+fx (framework GUI) , and the others keep in C (my own GUI). I rather do this kinda work with PCE too.. been away too long haha.

 Anyway, good to see the scene is still active.
#5
How are you going to approach this? Are you going to have core code that's executable on both machines? I.e. shared source files. How are going to approach this compiler wise? Using CC65?

Honestly, depending on the size of this project, I would write a simple pre-processor that builds assets defines for the corresponding package (header for NES rom, tile format in bin, etc). Maybe even forces optimizations for PCE size (like force ZP addressing for certain labels if it's PCE option to compile). Write the pre-processor in whatever language you're comfortable with -> spits out a modified source code file(s) to be compiled.
#6
Quote from: Dicer on 01/27/2017, 01:56 AMWhatever happened to the rom hack attempt to just kill the awful scrolling all together? That fix alone would be monumental to improving the game.
Too much else that I didn't like of the PCE game, that fixing the background wasn't enough for me. That's what happened. When you have super limited time, and there are a lot of things you want to do - some things have to get cut. I would have liked to have completed the hack, but the ratio of enjoyment/fulfillment to time spent from a limited pool, pretty much made it a no-go for me. Someone else is free to take up the task, though.
#7
Quote from: Psycho Arkhan on 01/27/2017, 06:03 PMstuff
Doesn't change the fact that it's a hand-me down PCE "port" (version, whatever you want to call it). If you don't want to see it like that, cool. And if you're gonna do it justice and make it badass, totally cool (seriously). I mean, I'm allowed to have an opinion and I'm expressing it (to this thread, so it's relevant). I don't care if you think it's elitism or not, but know that it wasn't directed towards you - just the project in general. So yeah, I'm not a fan of the series or whatever this show is, but I'm interested in stuff for the PCE (regardless of the source). I think that's how most home-brew communities work.. or feel.. whatever. But as-is, I just expressed my opinion on it. Take or leave it; it's cool. I'm not involved in the rest of this drama.
#8
Quote from: Fire-WSP on 01/27/2017, 09:44 AMAlso as soon as the content is ready we will hand over the material to the PC Engine Guys because the PC Engine version will be the only version which will be standalone and from scratch again.
The fact that this wasn't primarily for PCE, from day one, is why I just couldn't get excited about it. And now PCE being dead ass last, well, kind of re-arrims my initial feelings of it. Sorry, but from reading the current posts and stuff, I get the feeling the PCE port is going to be half ass-ish. I'd love to be wrong, definitely, but the odds of reality are against it.

 Somewhat related, but this whole "port to a bunch of systems" for home-brew type stuff - is kind of a lame idea. Stick with one platform and make it shine. Even if that has to be PC/steam. Nothing says I don't give a shit about your platform, in the homebrew scene, like multi-plat ports. I mean, home-brew is supposed to embrace a certain idea about the essence of a system and its community. (everyone else is ranting in here, might as well throw my two cents in).
#9
... raw nerve there, Arkhan lol.

#10
Quote from: EvilEvoIX on 01/23/2017, 03:19 PMMedia sure has a hard on for President Trump, I think all this negativity and constant attacks by the media may help him win again in 4 years.
If the opposition can keep their energy and angst level of their base to where it's at now, next election will be fierce. That is, if the dems can find a suitable candidate as powerful to the dem core as much as Trump was as an upstart to the status quo. But then again, I watched in disbelief as George Dubyah got re-elected. So nothing's a given, no matter how much of the out cry is a ringing indication at the moment.
#11
Quote from: Johnpv on 01/23/2017, 08:15 AMI'll say this it's metric tons better than Ark of Napishtim (least the PS2 version I played). 
I found Ys 6 on PS2 to be tons of fun, so I take your statement about Ys 5 with a dubious squint.
#12
Welcome. Everyone needs a backstory, and yours is pretty decent.
#13
Off-Topic / Re: So, Trump eh?
01/22/2017, 11:53 AM
I'm way to busy laughing to be hate'n. The stuff I read about this moron; his disillusioned narcism is entertaining (the inaugural stuff/rants were great. The CIA speech too). He's basically rich white trash - lol. I really do have to the thank the morons that voted him into office (you guys seriously are fucking morons - to the core. You simply cannot defend a choice like that haha) - I'm going to enjoy watching all the fucked up shit this guy does, while everyone looks on in disbelief. And all the while the dolts who put him there cheer him on. It's like some 80's british sitcom come to life. Our first lady is his third wife, and posed for nudes. This shit is awesome! Entropy *is* entertaining.
#14
Quote from: Mighty on 01/20/2017, 07:32 PMY's Books I & II why do people love this game so much on the on TG16? it sucks.

1. The graphics look like a Sega Master System game.

2. You do this stupid attack where you just run into enemies, there's no skill or tactics involved.

3. The mazes are long and boring.
It's where your Mom learned her moves.
#15
I like that the PCE version fixes a lot of stuff, but it also feels like an off-sync clone (a really close one, though) rather than a port. SMB games ported to All-Stars *feel* like the originals, with upgrades. The PCE doesn't. It feels like an approximation. And that's in quite a few departments (including art style). If you don't have a fondness of the original, then I guess you won't notice these nuances and differences. It's why I'll keep going back to the NES game, over the PCE one.

 For the record, I also think Ninja Gaiden on the SMS is a fine game - just not a Ninja Gaiden in the classic sense. It's a skinned over shinobi GG port of.. something (feels more in common with those in its design). I also find that people who like the SMS game, also tend not be fans of the NES originals as well.

 But yeah, the music is big part of the NES series. It really does add something to the game. Without it, it feels less.. more meh.
#16
Quote from: elmer on 01/15/2017, 03:49 PM
Quote from: TurboXray on 01/15/2017, 02:23 PMVolume (channel, pan, global) for all channels is log, but waveform data is linear. The 10bit waveform data for paired channels for 10bit is linear as well; the second channel volume is set to be 1/32 that of channel 1, so it all lines up. You can do 12 or 13bit with three channels I believe, but it's not really worth it.
Thanks!  :D

That's cool ... so just subtract 10 from the channel volume (for 1/32 with a 1.5bdB step), and then do some bit-shifting.

That doesn't sound too nasty.  :-k


QuoteI just ordered an Owon SDS1702 scope, so I can retest test stuff if you need. Probably gonna pickup a 100mhz 16 channel logic analyzer soon too.
Fun toys! Are you planning to do some hardware design work in the future to justify those?  :wink:

I'm still hoping for a full SuperGrafx/SuperCDROM/ACD with HDMI in an FPGA, one day!
Nah, can't really justify the cost of it (but it wasn't too bad). Just some things I wanted to test out on the PCE, for clarity. Plus, I plan to do some micro controller stuffs in the near-ish future.
#17
Quote from: guest on 01/16/2017, 09:43 AMlol, that facebook thread got to you, didn't it.
Haha yeah.. that checker board floor though
#18
Obviously it's missing the checker board floor from the arcade version (which the MD "version" also has). Can the PCE do it?

 I would say yes, and with less vram memory than what was required on the MD. How? Simple compression. While the PCE lacks tile flipping (horizontal in this case), the PCE does have an advantage; planar tiles. The checkered floor is essentially 1bit graphics with a h-interrupt changing one color to produce the movement effect. On the PCE, you can store four sets of 1bit tiles in a single tile and use four sub palettes to display each one as its own graphics (you won't see the other overlaid tiles). And with the PCE having 16 background palettes, this is no sweat.

 So now begs the question.. who's going to hack this into the game? Haha. I don't have time ( serious C programming class this semester is going to dominate my time. It's the last "elimination" class for the major). I nominate elmer  :mrgreen:
#20
Quote from: ParanoiaDragon on 01/15/2017, 05:29 PMDang, I thought as long as I provided, anyone could open the link, but it wouldn't be searchable normally.  It's public now....so the link should...in theory....work! :D
Nice!
#21
Just got a MacBook Air for school, so I'll start working on porting stuffs over.
#22
Quote from: elmer on 01/15/2017, 01:55 PMBut ... do we know if the waveform data is in linear-space, or in logarithmic-space?  :-k

The amplitude levels in R1, R4 & R5 are all logarithmic, and I was finally curious-enough to look at the volume level number in excel.

Wow! I didn't realize that we were compressing down an approx 15-bit linear audio range into only 5-bits!  :shock:

If the waveform data uses a similar logarithmic-space ... then the simple bit-truncation method isn't going to give great results.

I think that you and ccovell and mednafen have already checked this kind of stuff with oscilliscopes.

Do you know whether it is linear or logarithmic?
Volume (channel, pan, global) for all channels is log, but waveform data is linear. The 10bit waveform data for paired channels for 10bit is linear as well; the second channel volume is set to be 1/32 that of channel 1, so it all lines up. You can do 12 or 13bit with three channels I believe, but it's not really worth it.

 I just ordered an Owon SDS1702 scope, so I can retest test stuff if you need. Probably gonna pickup a 100mhz 16 channel logic analyzer soon too.
#23
IIRC there are actually two versions of Ys 4 on the PCE CD. Probably a bug a fix.. dunno.
#24
This song doesn't get enough love..
#25
My XM player is just quick and dirty - it doesn't support finetune per instrument and doesn't support mapping multiple samples in a back to different notes (JCAKF instrument). The player was just something quick and dirty to test and show off the PCM driver. The driver does support fine tune, but I didn't implement it in the XM reader/parser for the player. It doesn't support the volume envelope format either. I literally wrote it in ~3 hours.

 In other words, if I converted these they'd probably sound like ass without that support.


 If you need an app to do bit depth reduction on wave files, I can adapt something I already have for that. Simple turnication of bits (shifting) - nothing fancy. (Edit) Also, Cool Edit Pro 2.1 does bitdepth reduction (though the results are still stored in 8bit or whatever format).
#26
Quote from: Joe Redifer on 01/14/2017, 07:38 PMIs it only for CD games? Because the PC Engine does not (but could) make sounds low and loud enough to be benefitted by a subwoofer. A high-fidelity sound chip it is not. Pretty much mostly midrange.
Corrected for you ;)
#27
Quote from: Michirin9801 on 01/14/2017, 10:15 AMOr at least that's what I imagine, but then again what do I know? I have yet to hear them playing on the actual PCE...
Make me a quick XM with just the bass or whatever type sampler instrument and I'll use my XM player to test it out and record it from the real console.
#28
All this discussion about samples and soft drivers, reminds me of Nintendo's Sappy engine for GBA.
You can find the doc on RHDN; search for "sappy" in documents section.

 The driver is mixing 8bit PCM streams into a single 8bit DAC. But the driver doesn't support saturation, so too much amplitude (which translates into bit depth on a fixed system like this) causes wrap around. That means if you wanted something like 4 sampler channels, you'd have to use 6bit samples (or samples with amplitude that doesn't expand beyond 6bit levels). There are custom mixers for GBA, but a lot of games used this default Sappy engine.

 I also think I might investigate using the 10.5khz mode for 10bit DAC output. 44% cpu resource on even Timer calls and ~9% on odd calls. averaging overall 26% cpu for the driver. And what, 10% for the mixer? I could use that kind of setup.
#29
Quote from: elmer on 01/14/2017, 01:03 AMA 7KHz sample rate should be fine for bass frequency samples, but getting a good result is going to require the 8-bit or 10-bit output that his driver provides. 8-bit should be plenty if it's reasonably linear instead of logarithmic.

The granularity of the volume stepping in the channel's regular 5-bit output is just too harsh for a good low-frequency waveform output (IMHO).
I can do a few driver versions (mixers). 4 channels at 7bit mixed to 9bit, scaled to 10bit is fastest. Or four channels at 8bit steams but saturation on paired streams, mixed to 9bit -> scaled 10bit. Actually, you could probably modify the mixer however you want once you see them. I did 16 steps of volume, linear, and it sounded pretty decent. You can do more, but the LUT will be bigger. 7bit streams makes the volume table twice as small as one for 8bit streams.

 The idea is pretty simple: 7bit unsigned samples -> volume LUT -> becomes 8bit 2's complement value -> add all four channels -> some flag checking and branch to 10bit decode LUT -> two 5bit values (in byte form) in two different buffers for the playback driver.

 I mean, I can write it - but something tells me you probably don't need me to ;)
#30
Quote from: guest on 01/13/2017, 01:23 PMLA Synthesis sounds like a gym for musicians.
Ahhahahaha it does :D
#31
Quote from: guest on 01/13/2017, 02:25 AMTechnically, Batman's soundtrack is better on PCE, but the mixing could use some work, I think.   The rhythm tracks shouldn't drown out the lead.  That's not a good time.
Yeah, the mixing on some tracks needs some work, but the bass instrument sounds great. But that's not what's special about it; it's the fact that they did attack phase samples and sustain phase samples (with looping). Because of the looping, the whole 28 note range sample pack is pretty small. This should have been exploited more on the PCE. It's sensible and doable for programmer back then, and definitely within the means of the PCE's resource capability.




 But I wanted to mention thing related to Batman: attack phase. Supposedly the most advance and complicated part of any instrument is the attack phase (I don't mean the volume, but replicating an instrument). LA synths use samples mixed in with other parts of waveform generation just for the attack phase of an instrument. That's a clever idea. Something that could be exploited on the PCE; sample attack phase and normal PSG for the rest. Why PSG for the rest and not samples? Because if you've played around with samples on the PCE, at lower rate and lower bit depth, you've come the realization that some samples just get too crushed by the reduction - especially stuff with important high frequency meat to the sample.  In this respect, you don't even need soft sampler support; attack phases are short so you can have lots of presampled ranges for them with little storage space needed.
#32
Quote from: fragmare on 01/11/2017, 11:32 AMOh I see.  Well, then you're going to get crackle no matter what, since the waveform mismatch basically likely creates a small saw wave wherever/whenever it occurs.  I can't help but wonder, though, with some math and careful planning (or just plain trial and error), if if one had the exact frequency the first waveform was being played if you could diddle around with where DC offset=0 points were placed within the 32byte waveform to sort of "dodge" or avoid the crackle... essentially, wrap the waveform left/right within the 32byte grid until you find a "sweet spot" where there is no crackle.  assuming there is at least one occurence of DC offset=0 somewhere within each of the waveforms you're trying to match up.

Or are you saying that even if the two waveforms happen to meet cleanly at DC=0, there will still be crackle ?
Yeah, you get get better precision in calculating where the pointer will be, but introduce stuff like vibrato into the mix or pitch slides, and it's pretty much a no. When it's a yes, though, it'll be a race condition with all sorts of "jitter". So it won't be exact. And from my experience, even off by one sample can make the sample sound 'dirty' or clicky. That doesn't mean you can't use it, and it doesn't mean ALL waveform phase sounds bad. It just depends on the shape and the frequency of the channel. Square waves tend to be completely immune to the clicking. Low frequency stuff also tends to be immune to it (I was able to get voice like sounds from morphing 32byte samples in real time without clicking; I got a link to it somewhere.. I posted it later).

 All this didn't stop Bloody Wolf from doing waveform phasing (updating) for it's trumpet sounds. Bloody Wolf already has a gritty sound, so the clicky artifact isn't really noticeable.

 There other ways to do waveform shaping (hard sync on the PCE! I've done it!) and using timer or H-int to do different waveform shaping (Casio synth style - aka non linear pointer through the waveform). Here's a chart showing waveform morphing without updating the channel's waveform memory..

pcedev . net/audio/pce/pce_sound_modeling.png

Plus. There's also this on PCE:Ryphecha also figured out how to walk a channel waveform pointer from 0, without turning the channel on or re-writing the waveform to the channel with an offset other than 0. Nice for syncing two or more channels from the start, with an offset parameter (0 to 31).
#33
Quote from: fragmare on 01/11/2017, 11:46 AMI gotta ask, though... why?  Just gotta have that slightly muffled Devil's Crush drum sample sound?  ;)
You got an extra channel - do some phasing effects.
#34
Quote from: guest on 01/10/2017, 10:28 PMjust because you, Bonknuts, don't care about it, doesn't mean it's taboo.

We're talking about sound sampling, while comparing and contrasting stuff.   Seems OK to me.
Dude. I'm just giving you some shit. No worries. It's like, every time MSX is mentioned - it's always by arkhan lol. It's more weird to mention it here on PCE forums because its user base seems to have a pretty big disconnect from PCE (and everything else; it's its own thing).
#35
Well, screw you haters haha. There's potential in the "sampler" driver. I'm just going to refer to it as that, because I'm sick of typing out sample based synth. "Samplers" is the word used to describe sample based standalone synths in the 90s. So it works for me.


 I don't get this whole "for title screens and menus" mentality. If it was that bad, I would even bother (maybe..lol). What NES did with 25% (actually closer to 20% because of the sprite metatile decoding the NES has to do for smaller sprites) is pretty damn good. SMB3 totally plays like a 16bit game. The current driver with all 6 channel eating 36% is nothing! Leaving 64% for game stuffs. Tile screen my ass ;>_> Even if it got fancy or whatever -> went up to 60% cpu resource. That still has potential way beyond "title screens". Maybe not for HuC, but assembly (and for games, not demos) - it's doable. RPGs with SNES sampler style string leads on the PCE? Not interested? I am. 

 What's with all this MSX stuff? I thought this was a PCE forum. I like MSX as much as I like Speccy - from a distance. It's great fun to watch all the achievements on the systems, but beyond that I don't care. It's a curiosity to me and nothing more.
#36
Just to add to the discussion:

 There is 14khz mode too. You use the timer interrupt, but you have a timed loop to write the second cycle before exit. Normally, this would instantly put a restraint on cpu resource at 50% (because of the timed loop), but you could do something like 40% with a shorter loop. In that timed loop, you could also support additional sample to other channels for FREE. Or you can do 10.5khz with every other timer call being timed loop to two samples .. for roughly ~31% cpu resource. All using the timer interrupt (not hysnc).

 But honestly.. not a whole lot of samples really benefit from 16khz vs 7khz with 5bit resolution. 7khz @ 8bit sounds much better than 14khz @ 5bit.
#37
#38
Quote from: elmer on 01/08/2017, 07:49 PMand then we don't have to worry about delicate developer-egos.  :wink:
*looks up as he's laying out eggshells....* Hahaha
#39
Quote from: ccovell on 01/08/2017, 10:50 PMYeah, that works pretty well, except for the odd couple of times where it starts up after reset and alternating writes don't work.
Are you initializing EVERY psg reg? I had issues with some PCE tests with a few channel regs were uninitialized. Drove me crazy until I wrote $00 to ever damn port of every channel select! Lol. It would get weird behaviors on resets/power up states until I did that. It fixed it.
#40
Off-Topic / Re: Game Sack
01/08/2017, 03:46 PM
Hah. Watching the review coverage of Red Dead Redemption... I kept thinking of West World (HBO show, not the 70's movie).
#41
Quote from: ccovell on 01/07/2017, 08:12 PMThanks for the comments.  Yeah, someone commented in YouTube to just get on with the programming, already, and I agree.  But I also wanted to point complete beginners towards where they could actually find and set up the assembler & documentation, because there isn't a single resource AFAIK on the web for this.

Heh, yeah, I could also have told people how to edit their path string.  :-)

I did mention the good programs like Grafx2, and I'm sure the Gimp is serviceable too. Maybe.  I am aghast at how people just do pixel art in MSPaint (and Photoshop to a degree)...
I thought the video was fine. Some tutorials tend to race through things, and it can be frustrating for beginners IMO. I think the pacing in your videos is fine.
#43
Quote from: Michirin9801 on 01/08/2017, 12:17 PMOh I see... Being 5 bit explains why the samples sound so delightfully scratchy, kinda like they came from the GBA or something, (which is something I've been wanting actually)
And honestly, I'd rather have Mono than the Amiga-style hard-panning... (Btw, was that a limitation or was it intentional?)
Honestly, it was kind of an experiment to see what kind of samples sounded fine in 5bit. Some sound great, and some not so great. The hard panning was just from the songs I pulled; 5bit sample mode has full stereo space as normal PCE channels. There's a trick that can clean up some "lead" style samples in 5bit mode though - pairing the sample with a normal PCE channel helps mask the lower resolution artifacts. The human ear can't hear "noise" artifacts in loud sounds like it can in lower amplitude waveforms (one of the reasons why old telephone systems would use non linear compression for audio over lines; analog versions a-law and u-law). Blazing Lazers samples for voices on power ups sound horrible by themselves (4bit audio), but in game while the music is playing - they sound more clear. Loudness is key.



QuoteI'd want the music to take as little CPU time as possible so that more of it would be available to cram as much parallax scrolling on the backgrounds as humanly possible! ;3
Who's doing the programming? Parallax tricks, in assembly, aren't very cpu resource hungry if done right. I could see maybe if you're going to extreme ends for parallax (wasting 50% cpu or more for insane stuffs), but I doubt it'd have much impact on a typical PCE game, in assembly, with samples. The HuPCM driver is customizable: if you only need 1 or 2 channels with "frequency scaling" (aka sample-based synth), then the rest as fixed frequency (1 or 2) won't eat up as much as doing all 4 using software sample-based synth. Stuff like that.

 I just want an expansion of the PCE sound. I don't want to necessarily replace the PCE sound, but something that works with it. 8bit mixing allows some bass to the PCE (thump/bump), and software samplebased synth gives it much more range with bass style instruments - as well as others (imagine using that orch hit in batman, but at any note/octave).

 To give an idea on the 5bit sample-based synth one:
QuoteThe original one, if you played all 4 XM channels AND 2 regular sample channels (6 total) all at the same time - it would take 35.7% cpu resource.
Air Zonk sound engine takes up 30% and that's just one sample. So 6% more, and you have all 6 channels playing samples (4 with frequency scaling!). The less channels you want to do for sample-based synth, the less cpu resource you would need.
#44
Quote from: blueraven on 01/04/2017, 04:25 AMThe image converter is really cool. Is it available to download anywhere? And for risk of blasphemy can you run it on a mac?
Actually, yes. Well.. I need to get a Mac first, but yeah Win, Mac, Linux. The GUI is completely internal (my own code) and the interface is SDL. I'm on the hunt for a cheap but capable mac book.

QuoteGood converter tom, but i see you have the same issue than pce image converter when multiple palettes are used .
Some tiles look wrong .
Those artifacts are from other conversion apps (promotion or image2pce - I forget which).

QuoteIt is *really* hard (IMHO) to do good palette reduction (with/without dithering) and simultaneous tile-palette (or sub-palette, or whatever you choose to call things) conversion.

What algorithm have you chosen to use for your base-conversion?


The best palette reduction & dithering that I've personally played with was the Neuquant neural-net algorithm as used by ...

http://pngnq.sourceforge.net/
The app isn't a lossy conversion app like Image2pce, Promotion, Quither, or NitroCharacter Studio. The focus here is lossless sorting of palettes; it's a tool for different types of image conversions. Automated tools are nice, but they only get you so far. For still pics, conversions by hand are better. The lossy reduction programs are a great starting point when doing stuff by hand too. But this tool allows you to work directly with tiles and palettes for editing out errors of above programs. It also tends to do a reduction sort (lossless) into fewer palettes than the other lossy programs output (usually by 1 or 2.. depending), so it's a nice way to use it to fix more apparent errors in those conversions (again, by hand using this app).

 It has a bunch of other purposes and features/outputs, but I'm too lazy to write what they are right now - haha. It's pretty close to a public release.

Here's a pic conversion I did by hand with photoshop (80%) and finished it off with my app:
/bitmap_test2f.png
With my app, I was able to squeeze in some more color than I had done in photoshop simply because working directly with palettes in a more direct way, and having the palette sorting algo create a few alternate choices for me. It's at 120 colors currently with all 16 palettes (and 100% pce legal output).
#45
The rom link that shows XM and milkytracker; that's playing modified XM files. In those files, you have full note range from octave 0 to octave 6, and fine-stepping of 32 units in between each note (XM files only do 16 IIRC). The fine-steps are linear, not period base, so they are the same "weight" regardless of the octave (the opposite case is something that always bothered me with period based systems; nes, pce (native), amiga, etc).

 So yeah. It's doing frequency scaling in software, and not a set of prescaled notes. Think SNES, but nearest neighbor instead of filtered. And at 7kz (or 14khz, or 16khz.. depending on the driver). The demo roms that show "xm", are not 8bit samples mixed in 10bit mode. They are just normal 5bit samples. I haven't made a public mixture for the 10bit mode one that does realtime frequency scaling. heh - I worked on this stuff at my leisure because I know the probably of people using the PCM driver, in support of their own music engine or homebrew stuff.. is about null. 

 The "driver" just gives a programmer an interface/capability to a pseudo hardware function. It's not the music engine itself. The example roms with music, is just a quick hack job to play XM files (it only supports a few FX) - to demo the driver.

 What you were trying to do with wave-form phasing, you could just do normally like in an XM file, on the PCE with this driver. But like I stated earlier in the thread; there are different flavors and versions of the driver. The fastest version is the 5bit version @7khz. The 5bit @ 14khz didn't really improve much at all over the 7khz version. So I'm working on setting up a 8bit @ 7khz version (4 channels mixed into 10bit output.. but all those channels will be mono).
#46
Quote from: ccovell on 01/07/2017, 07:41 PMToo bad you can't have the PCE HW play in DDA mode while simultaneously filling the waveform memory with new data...  :(
You can. (leave the channel in waveform mode -> write to the DDA port, DDA sample gets both output and written to the waveform memory. Not sure what you'd want to do with it though)
#47
Quote from: elmer on 01/07/2017, 07:44 PM...which would provide another (but different) audible glitch, wouldn't it?
Yup. But might not be so harsh. Dunno.
#48
Leave the channel waveform on, set the channel frequency to a specific matched state and TIN to it while it's playing?
#49
Quote from: elmer on 01/06/2017, 03:30 PMFor real-world game-style playback on a HuCard, we're going to be limited to 7KHz, 8KHz and 16KHz playback, and the 16KHz comes with a pretty-high CPU cost that would (IMHO) practically limit its use to things like title screens or high-score screens.
Title screens??? :D I can do multiple 16khz channels at 50% cpu resource. I can do a lot more than a title screen with 50% cpu resource. Hell, NES games do a lot with only 25% of PCE cpu resource.
#50
Quote from: elmer on 01/07/2017, 03:51 PMThey should set the register to $1F, then upload the waveform, then set it back to $9F (or whatever the current volume is).
Pretty sure that's not going to fix it. I did a bunch of tests, and putting the channel into waveform update mode is the same as silencing the channel (zero volume).