Dual display (MSX, Virtual Reality ready?) using the two VDP's of the MSX computers. (Hardware MSX Forum)MSX Resource Center PassionMSX MSX2 contest              
              
English Nederlands Español Português Russian         
 News
   Frontpage
  News archive
  News topics

 Resources
   MSX Forum
  Articles
  Reviews
  Fair reports
  Photo shoots
  Fairs and meetings
  Polls
  Links
  Search

 Software
   Downloads
  Webshop

 MRC
   Who we are
  Join our team
  Donate
  Policies
  Contact us
  Link to Us
  Statistics

 Search
 
  

  

 Login
 

Username

Password




Don't you have an account yet? Become an MSX-friend and register an account now!.


 Statistics
 

There are 97 guests and 3 MSX friends online

You are an anonymous user.
 

MSX Forum


MSX Forum

Hardware - Dual display (MSX, Virtual Reality ready?) using the two VDP's of the MSX computers.

Goto page ( Previous Page 1 | 2 | 3 )
Author

Dual display (MSX, Virtual Reality ready?) using the two VDP's of the MSX computers.

NYYRIKKI
msx master
Posts: 1503
Posted: December 06 2007, 20:54   
Yes, this feature is called DRAM mode. Originally it is meant to speed up bios calls in R800 mode, but it can be used also to patch BIOS. The program works like this: Check what CPU mode we are running. Switch to R800 ROM mode, patch CHCPU routine so that Z80 ROM = Z80 DRAM and R800 ROM = R800 DRAM, put 3D glass support to unused space left by cassette routines, patch the int routine so, that it will leave the joystic port2 alone, switch to R800 DRAM mode, switch to saved CPU mode.

This is pretty good way as after running the patch you can start game for example by software reseting the computer. If you want to experiment with this feature, use OpenMSX. BlueMSX unfortunately does not support DRAM mode at all.

ARTRAG
msx master
Posts: 1592
Posted: December 06 2007, 21:03   

newer used this feature!

TR offers more than I was thinking
Any docs on this DRAM mode ?
NYYRIKKI
msx master
Posts: 1503
Posted: December 07 2007, 17:40   
No, not really, but this should get you going... You can use CHCPU routine like this:

LD A,L00000MM
JP #180

L=1 Update CPU LED
L=0 Don't update CPU LED

MM=0 Z80 ROM
MM=1 R800 ROM
MM=2 R800 DRAM

If you need to access Z80 DRAM mode, use CHCPU to switch to Z80 ROM and then do:

OUT &HE4,6: OUT &HE5,32

ROM:s are in last memory mapper pages:
#FC = BIOS (0-0 #0000-#3FFF)
#FD = BASIC (0-0 #4000-#7FFF)
#FE = SUBROM (3-1 #0000-#3FFF)
#FF = Kanji ROM (3-1 #4000-#7FFF)


ARTRAG
msx master
Posts: 1592
Posted: December 08 2007, 13:46   
could you use this feature in order to include a small segment
of code that echoes the psg on the scc in a given slot?

WYZ showed that the effect can be great

main ideas are here
http://karoshi.msxgamesbox.com/index.php?topic=562.0

In this way we can have scc support in any psg only game!!!!!!

Just read the AY registers and copy them adjusting a bit
in the scc registers

this is the code to add to the interrupt:

SCCOUT:     ;FRECUENCIA

            ld  a,0x3fh
            ld  (Bank3),a

            LD  HL,(AYREGS+0)       ;REPRODUCE SONIDO EN SCC
            LD  (SCC_REG+0),HL
            DEC HL                  ;CHORUS EN CANAL 4 OPCIONAL
            LD  (SCC_REG+6),HL      ;*
            LD  HL,(AYREGS+2)
            LD  (SCC_REG+2),HL
            DEC HL                  ;CHORUS EN CANAL 5 OPCIONAL
            DEC HL
            LD  (SCC_REG+8),HL      ;*
            LD  HL,(AYREGS+4)
            LD  (SCC_REG+4),HL

            ;VOLUMEN

            LD      A,(AYREGS+8)
            LD      (SCC_REG+0x0A),A
            LD      (SCC_REG+0x0D),A
            LD      A,(AYREGS+9)
            LD      (SCC_REG+0x0B),A
            LD      (SCC_REG+0x0E),A
            LD      A,(AYREGS+10)
            LD      (SCC_REG+0x0C),A
            

            ;MIXER
            ld a,(AYREGS+AR_Mixer)
            ld  b,a
            xor a
            bit 0,b
            jp nz,noA
            or  00001001B       ; A-> ch 1 & 4
noA:        bit 1,b
            jp  nz,noB
            or  00010010B       ; B-> ch 2 & 5
noB:        bit 2,b
            jp  nz,noC
            or  00000100B       ; C-> ch 3
noC:        ld (SCC_REG+0x0F),a
            
            RET


the sole problem is the scc init, but it can be solved
NYYRIKKI
msx master
Posts: 1503
Posted: December 08 2007, 21:32   
Quote:

could you use this feature in order to include a small segment
of code that echoes the psg on the scc in a given slot?



Yes, go to http://www.msx.fi/nyyrikki/software.html and search for "PSG emulator for SCC Ver: 1.0"

Although this only patches BIOS routines it could be made to read PSG as well... How ever I'm not sure I can find the sources anymore... 10 years is a long time...

ARTRAG
msx master
Posts: 1592
Posted: December 08 2007, 22:43   
actually the difference are the CHORUS effects
that make the music a lot better
And if you read the psg you are sure that any
game will work.

moreover we could have the instruments vary
using a key....


NYYRIKKI
msx master
Posts: 1503
Posted: December 08 2007, 23:13   
So with "CHORUS" you mean detuning the voice and playing it one other channel, or do you mean something more complex?

ARTRAG
msx master
Posts: 1592
Posted: December 08 2007, 23:20   
that is chorus! even nicer when the two channels have also different waves
 
Goto page ( Previous Page 1 | 2 | 3 )
 







(c) 1994 - 2008 MSX Resource Center Foundation. MSX is a trademark of MSX Licensing Corporation.