Search found 149 matches

by Count SymphoniC
Sun Sep 28, 2014 8:24 am
Forum: Demos
Topic: YMDj - A Native Sega Genesis/Megadrive Music Tracker.
Replies: 46
Views: 35667

YMDJ v 0.02 I lied. Only because the last demo was so lackluster. Now the pattern editor is complete, with the exception of future enhancements and code optimizations. But this is it. As you can see, YMDJ is still in a very early testing phase. The cursor can move x and y, all rows can be scrolled t...
by Count SymphoniC
Sun Sep 28, 2014 3:51 am
Forum: Demos
Topic: YMDj - A Native Sega Genesis/Megadrive Music Tracker.
Replies: 46
Views: 35667

I made some minor layout changes to the Pattern Editor. In addition, the rest of the pattern tables and cursor x movement is implemented now. Working on hardware horizontal scrolling so the PSG channels can also be displayed. It looks like the pattern editor is almost complete. The time to work on t...
by Count SymphoniC
Sat Sep 27, 2014 9:23 pm
Forum: Demos
Topic: YMDj - A Native Sega Genesis/Megadrive Music Tracker.
Replies: 46
Views: 35667

YMDj - A Native Sega Genesis/Megadrive Music Tracker.

Updated: 10/22/2014 https://www.youtube.com/watch?v=nTDiPqkoFnc Above is a link to a quick video I did showcasing the progress of YMDj. Playback Engine is working, FM channels 1-6 work well and playback. I even wrote a quick song for you guys. Still no DAC or PSG playback support yet. Lots of work t...
by Count SymphoniC
Fri Sep 26, 2014 6:51 pm
Forum: Blabla
Topic: Nested subroutines nightmare.
Replies: 13
Views: 12216

Yeah I've already ran into my stack corrupting my Ram last night, with jmp's and jsr's... trying to solve a ridiculous problem. But still, what a learning experience this is! As complex as it can be, asm is actually really fun for me. So far things are still making sense, which is a good sign. You g...
by Count SymphoniC
Fri Sep 26, 2014 5:00 pm
Forum: Megadrive/Genesis
Topic: Timers.
Replies: 10
Views: 7336

I guess understanding how it works is just as important as implementing it. I can get a better understanding by asking around, where reading source can raise some questions. I definitely don't doubt the usefulness of SGDK, I was originally going to use that for this music tracker 2 years ago, until ...
by Count SymphoniC
Fri Sep 26, 2014 4:48 pm
Forum: Megadrive/Genesis
Topic: Cursor movement problems.
Replies: 7
Views: 5207

Yeah, I should definitely start doing that. I already have a function for cleaning all the registers in one sweep. A couple of other forum members here explained pushing and popping the stack too, I just need to be careful I don't corrupt what's on my ram when doing that! I found that if you do enou...
by Count SymphoniC
Fri Sep 26, 2014 12:49 pm
Forum: Megadrive/Genesis
Topic: Cursor movement problems.
Replies: 7
Views: 5207

I solved it, I missed one tiny important detail. You have to go to the main loop to see it, and it sure was hard to notice. I was using the same data register that was being used for gamepad checking (d0). I moved it to d7 and everything works so beautifully. Although I was already being mindful of ...
by Count SymphoniC
Fri Sep 26, 2014 3:21 am
Forum: Blabla
Topic: Nested subroutines nightmare.
Replies: 13
Views: 12216

I found both replies to be very informative. So one thing I'm a bit worried about, is the stack overwriting important variables I have stored in RAM. Wasn't there somewhere in the init code that specified the stack starting location? On another note, I tried playing with move.l d0,(-sp) move.l (sp+)...
by Count SymphoniC
Fri Sep 26, 2014 2:24 am
Forum: Megadrive/Genesis
Topic: Cursor movement problems.
Replies: 7
Views: 5207

Cursor movement problems.

I have an issue that's been infuriating. This is code I have for determining whether the user has pressed up or down on the gamepad (this subroutine is being called from the main loop), and doing the appropriate maths to move the cursor on screen vertically up or down. The problem is, no matter how ...
by Count SymphoniC
Thu Sep 25, 2014 4:55 pm
Forum: Megadrive/Genesis
Topic: Timers.
Replies: 10
Views: 7336

Timers.

Although it's not neccessary yet, it's occurred to me that I'll need to implement a timer for seconds, minutes, etc. I'll need to it in order to calculate BPM (beats per minute) for the music tracker. I'm pretty sure I can figure out how to do BPM myself, once I have a timer. So, on a general level,...
by Count SymphoniC
Wed Sep 24, 2014 9:06 pm
Forum: Blabla
Topic: Nested subroutines nightmare.
Replies: 13
Views: 12216

Nested subroutines nightmare.

So far so good guys. But I have a question. I'm using a lot of nested subroutines, and I'm at the point to where my code is starting to become very messy, and stressful to wade through. So how does one go about turning a set of nested subroutines into a more all purpose subroutine??? Alot of my grap...
by Count SymphoniC
Tue Sep 23, 2014 4:40 am
Forum: Video Display Processor
Topic: 0xC000 VRAM stuff, and efficiency question.
Replies: 4
Views: 7805

If you look at the source, VDP_init() sets PLANE A to $C000, PLANE B to $E000, and the map mode to 64x64. That's why the "magic" number is 128 - each entry in the map is a word, so 64x2 = 128. When in doubt, look at the source code. :D WHAT!?!?!?!?!?! I've been figuring all this out in pure assembl...
by Count SymphoniC
Mon Sep 22, 2014 11:40 pm
Forum: Video Display Processor
Topic: 0xC000 VRAM stuff, and efficiency question.
Replies: 4
Views: 7805

0xC000 VRAM stuff, and efficiency question.

Well I finally managed to get the first layout for the YMDJ tracker interface loaded and to display correctly... but it took some work on my part. Here was the problem. I would load my 40x30 cell layout, and it would skew beyond the boundaries of the x coords... It looked bad. After spending all day...
by Count SymphoniC
Mon Sep 22, 2014 6:55 pm
Forum: Video Display Processor
Topic: Hex values for VDP registers...
Replies: 5
Views: 8537

Haha thanks. I have this document but I didn't fully understand that setting the r0-r4 bits as well as the first two bits being 1 and 0 is the way to get the value I'm looking for. I get it now. Thanks again, that was really confusing at first. Working with binary is still a bit awkward for me.
by Count SymphoniC
Mon Sep 22, 2014 5:51 pm
Forum: Video Display Processor
Topic: Hex values for VDP registers...
Replies: 5
Views: 8537

Hex values for VDP registers...

I have a general question about the usage of VDP registers. Where do I find more information about the hex values? Are they in the Sega Manual? For example, move.w #$80xx,($C00004) for register 0... I'm curious about the 80 part of the hex value. I found in the YaVDP the hex values all the way up to...