Search found 2985 matches

by Chilly Willy
Mon Jul 06, 2009 2:26 pm
Forum: Demos
Topic: CVSD Compressed audio example
Replies: 74
Views: 71317

I'm interested in playing compressed sample by Z80, actually i'm searching the best solution between compression ratio and sound quality. I tried your CVSD example and imo the quality loss is a bit heavy. I guess it works better with 22 khz playback, did you tested it ? I've developped an ADPCM pla...
by Chilly Willy
Mon Jul 06, 2009 5:23 am
Forum: Demos
Topic: CVSD Compressed audio example
Replies: 74
Views: 71317

Nope! CVSD works by comparing the current wave value with a derived sample value. If the wave is larger, it outputs a 1 and adds a delta to the derived sample value; if it's smaller, it outputs a 0 and subtracts a delta from the derived sample value. The key to improving the sound quality is how you...
by Chilly Willy
Sun Jul 05, 2009 3:13 am
Forum: Super 32X
Topic: CVSD Compression of Sounds
Replies: 2
Views: 3134

Okay, following up on the initial post, I've written a Z80 driver to play back CVSD compressed audio. It turns out the Z80 code handles 22050 Hz almost perfectly without waits... which means that with the Z80, that's the maximum frequency for playback. I could make it go slower with a delay after ea...
by Chilly Willy
Sun Jul 05, 2009 2:51 am
Forum: Demos
Topic: CVSD Compressed audio example
Replies: 74
Views: 71317

CVSD Compressed audio example

I know my post on CVSD compression was a bit esoteric for many folks, so I put together a practical example. This uses my new Z80 code discussed in the latest post in that thread to play back music. The main program is the particle fountain example that comes with Steff's Mini-DevKit. I loaded my cv...
by Chilly Willy
Fri Jun 26, 2009 8:32 pm
Forum: Super 32X
Topic: CVSD Compression of Sounds
Replies: 2
Views: 3134

CVSD Compression of Sounds

As part of my work of Wolf32X, I've been experimenting with various ways to handle the music. One thing would be to simply sample or synthesize the music to raw data, then compress it for storage in the rom. It could then be played back later by decompressing the data on the fly. The trick is to fin...
by Chilly Willy
Sat Jun 13, 2009 1:20 am
Forum: Mega/SegaCD
Topic: Huh? Are there TWO Int2 entries on the jumptable?
Replies: 8
Views: 8371

An exception handler is code the processor jumps to when an error or external event occurs. It usually pushes extra info on the stack that requires a different return opcode than the normal return from subroutine opcode. That opcode for the 68000 is rte, or return from exception. A typical exception...
by Chilly Willy
Fri Jun 12, 2009 7:18 pm
Forum: Mega/SegaCD
Topic: Huh? Are there TWO Int2 entries on the jumptable?
Replies: 8
Views: 8371

Remember that the handler set by 0xFFFD08 is an exception handler. You must save and restore any registers you use, and exit using rte. It's also the Main-CPU's responsibility to assert INT02 to the Sub-CPU in its vertical blank handler. bset #0,0xA12000 /* assert sub 68000 INT02 */
by Chilly Willy
Fri Jun 12, 2009 8:22 am
Forum: Megadrive/Genesis
Topic: Hello world syntax problems
Replies: 36
Views: 23515

I use ReSource for the Amiga to disassemble anything 680x0. It's really a great disassembler. Of course, I run it under UAE these days instead of a real Amiga. :D
by Chilly Willy
Fri Jun 12, 2009 8:19 am
Forum: Mega/SegaCD
Topic: Huh? Are there TWO Int2 entries on the jumptable?
Replies: 8
Views: 8371

It also saves all registers so you can trash all registers in your V-INT subroutine if you want. Good. One less thing to worry about with the int routine. In any case, it's probably not worth replacing it unless you have a really good reason. Yeah, best to play by the rules unless you have good rea...
by Chilly Willy
Fri Jun 12, 2009 3:18 am
Forum: Mega/SegaCD
Topic: Huh? Are there TWO Int2 entries on the jumptable?
Replies: 8
Views: 8371

If you mean on the Main-CPU side (Genesis), you only want to change the vectors at 0xFFFD00. If you mean the Sub-CPU side (CD), then you want to use the Sub-Processor Int2 entry in the Sub-Processor header table. The Sub-Processor init code starts with a couple headers. .org 0x6000 | Standard MegaCD...
by Chilly Willy
Thu Jun 11, 2009 8:41 pm
Forum: Controls
Topic: SEGA Mouse
Replies: 2
Views: 15168

Just some more info on how I use the mouse with the 32X... it should be fairly easy to modify this for use by the Genesis alone if you wanted that. First, I detect the mouse shortly after initializing the Genesis VDP. move.w #0,0xA15128 /* controller 1 */ move.w #0,0xA1512A /* controller 2 */ | look...
by Chilly Willy
Tue Jun 09, 2009 2:24 am
Forum: Blabla
Topic: I cannot access some of this forum ?
Replies: 12
Views: 9153

You have to give Kaneda enough posts to determine if you're worthy of access. :lol:

Uh... now that I think about it, my SEGA Mouse thread should probably be in hardware. Could some with mod powers please move it?
by Chilly Willy
Sun Jun 07, 2009 6:08 am
Forum: Demos
Topic: Wolf32X - finally in beta!
Replies: 40
Views: 34380

Beta 5 up! Mouse supported is the main feature here.
by Chilly Willy
Sat Jun 06, 2009 9:07 pm
Forum: Blabla
Topic: Capturing SMS/Genesis video
Replies: 9
Views: 7918

Looks kinda like my TV when I've got the PAL/NTSC set wrong.
by Chilly Willy
Sat Jun 06, 2009 3:23 am
Forum: Megadrive/Genesis
Topic: Hello world syntax problems
Replies: 36
Views: 23515

HardWareMan: Have a question for you. Why do you include the font as hex/text instead as a binary? I've seen a few other demos do this too. Is it just habit? If you're used to using C instead for data arrays, you get in the habit of using hex as you don't have binary with most C compilers. I unders...