Search found 149 matches
- 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...
- 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...
- 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...
- 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...
- 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 ...
- 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...
- 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 ...
- 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+)...
- 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 ...
- 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,...
- 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...
- 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...
- 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...
- Mon Sep 22, 2014 6:55 pm
- Forum: Video Display Processor
- Topic: Hex values for VDP registers...
- Replies: 5
- Views: 8537
- 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...