|
Post by Mairtrus on Nov 27, 2012 18:07:04 GMT -5
Tested the 8MB version in my Mega-ED on a MD1 VA6, and works like a charm. I don't know why some people have troubles with their MD1 and the 10MB mapper on the Mega Everdrive (or probably I'm just lucky, I haven't tried the UMK3 hack yet). BTW, I'm pretty impressed of hearing the quality of audio that can be achieved trough a 8-bit DAC
|
|
|
Post by Mairtrus on Oct 1, 2012 9:24:30 GMT -5
I got in now, sorry, I was the confused one Yeah, you're right, in BEX is almost impossible to do something in every one of the 224 lines. The time you have between each interrupt is really short.
|
|
|
Post by Mairtrus on Oct 1, 2012 8:55:26 GMT -5
Guys, you are confusing the hblank command with sleep2. HBLANK is used for setting the number+1 of scanlines drawed before an horizontal interrupt occurs.
|
|
|
Post by Mairtrus on Sept 27, 2012 8:28:55 GMT -5
Cool. Too bad you have to choose between DMA with crappy sound, and manual transfers with awesome sound.
|
|
|
Post by Mairtrus on Sept 27, 2012 8:11:04 GMT -5
Hello dude, and welcome to the forums!
The problem with your code is in this line:
move.l $E000, (a1) ;start of PLANE_B Unfortunately, is not that easy to set the write address on the VDP, since it's made to be managed with commands. I will not go in detail in this because it's large and boring (you can find more details in the old-but-still-awesome collection of documents called "gen_tech"), but to convert a "write address" into a command you can do this:
move.l $E000,d0 ; start of PLANE_B lsl.l #2,d0 lsr.w #2,d0 swap d0 addi.l #$40000000,d0 move.l d0,4(a6)
|
|
|
Post by Mairtrus on Aug 7, 2012 10:43:03 GMT -5
I tested it on MD1 VA6, and sounds terrific. However, the space saved worth the slightly loss of performance (I mean, by running it completely in the M68K)? I tried to do a record, but the cable I plugged from the headphone jack to the microphone entrance in my computer sucks dig bick, and put a hum in the background
|
|
|
Post by Mairtrus on Jun 11, 2012 11:32:05 GMT -5
Both are easy to make, except an straight 8MB cart will cause malfunction in real hardware if you have attached a SEGA-CD. The simplest mapper I can think now only needs a couple of OR gates, a 2-bit register (a dual flip-flop), and the mask rom, of course. The first bank (000000 to 1FFFFF) is fixed, and with the 2-bit register you can select which bank in physical ROM (0-1, 2-3, 4-5 or 6-7 MB) is visible in the second bank.
|
|
|
Post by Mairtrus on Jun 11, 2012 9:30:50 GMT -5
I wonder if there is a schematics about a simple mapper for the mega drive... Using like 8 megabytes of rom area would be a great thing. Do you mean 8MB inline, or separated in banks?
|
|
|
Post by Mairtrus on May 30, 2012 8:12:38 GMT -5
I don't think so. Probably, the best disassembler rolling around is the Sega Genesis Disassembler (segadasm), but it puts the "INVALID" opcode each time it doesn't understand an instruction (aka, is data) which ASMX doesn't support. Probably, your best option is The Interactive Disassembler, but isn't free
|
|
|
Post by Mairtrus on May 20, 2012 11:04:46 GMT -5
Actually, each SCD program can't pass over the boundary of 256 kb, since it's the maximum size of the WRAM (where the SCD programs reside).
|
|
|
Post by Mairtrus on Mar 5, 2012 7:46:10 GMT -5
Not sure if it goes here but, when i try to load .txt tiles into sgtd, it tells me that it has runtime error 9, i have no idea what could be wrong, please help! What sgtd's version are you using? Because the v0.46 gave me that error a lot of times. If you have the v0.51 beta, try opening the txt file in Notepad, and change the values in TileSelect and TileScroll by 0.
|
|
|
Post by Mairtrus on Jan 1, 2012 18:34:28 GMT -5
Happy new year, mates!!
I didn't buy too much this year, except for: - a super-cheap PSP - a SegaCD (soon to arrive)
Thanks god 2K11 is gone. It was probably the worst year of my life...
|
|
|
Post by Mairtrus on Sept 19, 2011 9:23:56 GMT -5
That's because this routine plays the whole PCM at once, without waiting the rest of the code for being executed. You can solve it by playing a few waves each frame:
... If PCMLongitude>0 then for I=1 to 8 while peek(&hA04000).7 'wait for busy wend read Wave poke &hA04001, Wave ' put the data into the YMH2612 halt ' small delay next I end if or something like that. The problem is that, usually, there will be no enough free time to make the pcm sounds 'continuous'. That's the reason why some games (i.e.: Sonic 1) uses the Z80 for the pcm playback...
|
|
|
Post by Mairtrus on Aug 31, 2011 19:36:40 GMT -5
Don't worry, as far I know it SHOULD not crash. But when reading, probably you will get garbage in the upper byte. When writing, the content of the upper byte will be lost.
|
|
|
Post by Mairtrus on Aug 31, 2011 18:14:09 GMT -5
Actually, you CAN access to the SRAM as an array. I know because I have done it in real hardware (with some cache chips trough the EXP port, but the principle is the same...). Just define it like:
Dim SRAM(8191) as Integer at &h200000 The only problem is that most official carts had only one memory tied to the low byte of the bus, that's why everyone says the SRAM is 8-bit. However, I'm not sure if Tototek and similar carts has this limitation. Physically, you can add as many SRAM as you want, but most emulators define a maximum of 64kb, which makes it really difficult to debug correctly.
|
|