Search found 478 matches

by r57shell
Sun Oct 09, 2016 1:03 pm
Forum: SGDK
Topic: Sound effects
Replies: 12
Views: 7514

Re: Sound effects

Stef wrote:and honestly FM SFX are generally crappy, better to stand with PSG or PCM.
:shock:
For example all sfx in RRR is FM! (except larry)
Sonic using FM/PSG too (I'm not sure about PSG)
All I can say: if sfx is crappy -> then it's just poor made.
by r57shell
Sun Oct 09, 2016 12:54 pm
Forum: Tools
Topic: 68000 instruction timing from source?
Replies: 14
Views: 16652

Re: 68000 instruction timing from source?

Any timing of transfer-DMA will be in same func that starts it. In other words, it's not spread around.
So, I don't see any reason to take off account DMA, except if you want to do some DMA copy/fill.
by r57shell
Fri Oct 07, 2016 5:25 pm
Forum: Tools
Topic: 68000 instruction timing from source?
Replies: 14
Views: 16652

Re: 68000 instruction timing from source?

You can grab opcode lengths & opcode timings from any emulator source,
then get gens r57shell mod and put timings into lua, then setup break on PC on whole ROM, and count each opcode timing.
by r57shell
Tue Apr 26, 2016 5:51 pm
Forum: Megadrive/Genesis
Topic: Alright dudes, I need your help! (soft-reset bug)
Replies: 37
Views: 28389

Re: Alright dudes, I need your help! (soft-reset bug)

btw joypad & dma should be in same gemsdmastart() gemsdmaend() block.
You don't need to stop z80 for joypad. All you need is guarantee no access to m68k bus. That is done by this funcs.
by r57shell
Sun Apr 24, 2016 6:35 pm
Forum: Sound
Topic: New Documentation: An authoritative reference on the YM2612
Replies: 865
Views: 2334352

Re: New Documentation: An authoritative reference on the YM2612

I'm not sure why you're trying to figure out the pipeline stages, I've already finished that, the information is in my VHDL operator unit at https://github.com/sauraen/YM2612/blob/master/Source/operator.vhd . There are five stages that actually do work, one that just stores the value, and an additi...
by r57shell
Sat Apr 23, 2016 3:54 pm
Forum: Sound
Topic: New Documentation: An authoritative reference on the YM2612
Replies: 865
Views: 2334352

Re: New Documentation: An authoritative reference on the YM2612

Is there in fact an internal /6 divider on the clock line Yup, this has been known for a while. It takes 24 INTERNAL clock cycles to evaluate everything, which is 144 external clock cycles. Hmm, if /6 then 24 cycles for whole processing? We have 6 channels 4 operators = 24 operators in total. Also,...
by r57shell
Thu Apr 21, 2016 11:59 pm
Forum: SGDK
Topic: BCD computations ?
Replies: 14
Views: 8350

Re: BCD computations ?

From this thread . Here it is: // abcd d0, d1 static u8 abcd(u8 d0, u8 d1, u8 flags_in, u8* flags_out) { u8 res; asm volatile ("move %4,%%cc\n" "abcd %3,%0\n" "move %%sr,%1\n" : "=d" (res), "=d" (*flags_out) : "0" (d1), "d" (d0), "d" (flags_in) : "cc" ); return res; } Somewhere online is good docs a...
by r57shell
Thu Apr 21, 2016 11:48 pm
Forum: Sound
Topic: New Documentation: An authoritative reference on the YM2612
Replies: 865
Views: 2334352

Re: New Documentation: An authoritative reference on the YM2612

It does make a difference to my VHDL code, though--otherwise the channels will all work, but which channel's registers and values are being used by which units on what cycles will be all mixed up. (E.g. I might have ch3 op4 getting its envelope attenuation value from ch6 op4 or from ch3 op3.) But i...
by r57shell
Thu Apr 21, 2016 1:32 pm
Forum: Sound
Topic: New Documentation: An authoritative reference on the YM2612
Replies: 865
Views: 2334352

Re: New Documentation: An authoritative reference on the YM2612

Anyway you overcomplicating things. Sorry if I'm being captian obvious :D Let say 1) We have 3 workers. 2) Each has different profession. So, he can do only single type of job. 3) They can't do several jobs at once. 4) They do only single type product. 5) Time to make any kind of job are equal betwe...
by r57shell
Thu Mar 24, 2016 9:29 am
Forum: Megadrive/Genesis
Topic: Strategies for collisions with background
Replies: 7
Views: 6325

Re: Strategies for collisions with background

I'm not sure to understand... What to precalculate ? Let say we have function T getPlayerCollision(int x, int y) It returns value of type T, representing collision type/data. It answers to question: "what kind of collision is for player if player located at position x, y?" It may use loops inside, ...
by r57shell
Mon Mar 21, 2016 3:15 pm
Forum: Megadrive/Genesis
Topic: Strategies for collisions with background
Replies: 7
Views: 6325

Re: Strategies for collisions with background

It's not slow. Just count in cycles of M68k
Maximum that you can do is... precalculate all that data into single array.
by r57shell
Tue Mar 08, 2016 2:06 pm
Forum: Megadrive/Genesis
Topic: Gunstar Heros disassembly?
Replies: 37
Views: 35905

Re: Gunstar Heros disassembly?

I just wanna warn you. If you wanna make full disassembly of some game, it will took for you several years. (solo) I'd say months is closer to accurate, depending on the size of the ROM and complexity of the code. Of course, the skills of the user also factors on the speed they can resolve code. Ye...
by r57shell
Fri Feb 26, 2016 10:21 am
Forum: Megadrive/Genesis
Topic: Gunstar Heros disassembly?
Replies: 37
Views: 35905

Re: Gunstar Heros disassembly?

I just wanna warn you.
If you wanna make full disassembly of some game, it will took for you several years. (solo)
by r57shell
Thu Feb 25, 2016 3:49 pm
Forum: SGDK
Topic: two dimension char array
Replies: 13
Views: 8478

Re: two dimension char array

if it's unchangable array (with const modifier), then it will be inside of ROM, so up to 4 megabytes in size (subtract your code size (size of assembly)) ROM limit is 4 megabytes. if it's changable array (without const modifier), then it will be inside of RAM, so up to 64 kilobytes. 0x10000 bytes. B...
by r57shell
Sat Feb 13, 2016 7:59 pm
Forum: SGDK
Topic: Issue with scrolling that I just can't fix
Replies: 3
Views: 3452

Re: Issue with scrolling that I just can't fix

write equations, how much should be scroll on top of road.
and you'll see your bug.
reason is because you're calculating from bottom.