Re: MSX slot interfaced to PC

2001-11-14 Thread Laurens Holst

 The device you described actually already exists. It is called the
 MSX card for PC, designed by PTC. Back when it was created, cpu's
 were much less powerfull, so they basically had to build an entire
 MSX on an ISA card to be able to use MSX hardware/software. The host
 PC is only used for its keyboard, other i/o and powersupply...

Hmm... yes, maybe any of those people have some interesting design schematics in
their archives??? Or would those be terribly outdated???


~Grauw



--
For info, see http://www.stack.nl/~wynke/MSX/listinfo.html



Re: MSX slot interfaced to PC

2001-10-17 Thread M. J. Bethlehem


It think it _should_ be possible. However I'd be much more interested in
an interface that allows you to connect a MSX cartridge (ROM or otherwise)
to a PC. The most likely candidate for that is a PC card (ISA/PCI) that
translates MSX signals to PC compatible signals. Unfortunately my
knowledge of electronics is very rudimentary, so I'm not really in the
oppurtunity to design such an interface myself.

However, the fun part comes here: suppose one of us did indeed design and
build such an interface, the real challenge would lie in designing the
software around your favourite emulator, you know, drivers and such. 

The MSX knows about the following things:

- I/O ports 0x00-0xff (though the Z80 is cabable of addressing more)
- Memory 0x-0x (unmapped that is)
- Various signals on the CPU (NMI, INT etc.)

The PC knows about the same things (and more), however the I/O ports and
memory would have to be mapped to other locations, for the obvious reason
that the PC uses the same I/O and memory space for its own purposes. The
I/O addresses for the memory mapper (0xf0-0xff) e.g. are used by the x86
processors for communication with the MPU (math processor).  The ideal way
to deal with that would be to find I/O and memory space that is not
already in use, and PCI cards are always configured in such a way that
this is the case. There may be technical difficulties, but I'm not the one
to judge that, given my limited knowledge of electronics. I could sketch
the crude schematics of it, but that's all.

Okay. Back to the emulator and the imaginary PC card driver. At boot time
the PCI card is directed to use 0xE000 as its base address and 0xe000
for its I/O space. To complete things up, it gets IRQ 10 for any potential
interrupts it might want to generate (note: the cartridge connected to the
PCI card won't know about these things, since the workings of the PCI card
are in such a way that everything is translated transparently, many PCI
cards work that way). The system boots up with your favourite OS, and the
emulator driver either communicates to the hardware directly or uses an OS
dependant driver, but that doesn't really matter right now. 

What can the emulator do, now that it's hard-wired to a real cartridge?
It can access ROMS, I/O channels, everything you can think of. The
emulator can map the cartridge memory to its Z80 virtual addressing space
(a thing that can be easily done in C). It can also make use e.g. of the
features of the Music Module, and you could actully play music on it. All
these things are just a small part of what can actually be done with it
IMHO. 

That is, if one of us really gets enough inspiration to create the device
:P 

Greetz,

Martin.


--
For info, see http://www.stack.nl/~wynke/MSX/listinfo.html



Re: MSX slot interfaced to PC

2001-10-17 Thread Tristan

 However, the fun part comes here: suppose one of us did indeed design
 and build such an interface, the real challenge would lie in designing
 the software around your favourite emulator, you know, drivers and
 such. 

I fail to see the point of doing that. If you want to use real 
hardware like cartridges use a real MSX, dont make huge efforts to 
turn your PC into an MSX. If you don't or can't use an emulator :)

What would be the advantage of letting the emulator read a real 
cartridge? Using ROM images and emulated hardware gives much more 
advantages imho. 

 processor).  The ideal way to deal with that would be to find I/O and
 memory space that is not already in use, and PCI cards are always
 configured in such a way that this is the case. There may be technical
 difficulties, but I'm not the one to judge that, given my limited
 knowledge of electronics. I could sketch the crude schematics of it,
 but that's all.

There are a number of reasons why you *dont* want the x86 CPU to be 
*directly* connected to MSX hardware. 

- It cannot understand Z80 instructions anyway.. 
- PC busses and I/O are thousands times faster than MSX hardware so 
would needed to be slowed down, buffered etc. 
- You simply dont need the speed of being directly connected to the 
PC busses for accessing MSX hardware.

 What can the emulator do, now that it's hard-wired to a real
 cartridge? It can access ROMS, I/O channels, everything you can think
 of. 

It could also do that when the MSX cartridge was interfaced using a 
USB, firewire or even parallel port.

 make use e.g. of the features of the Music Module, and you could
 actully play music on it. All these things are just a small part of
 what can actually be done with it IMHO. 

I have some news: you can do all of that when you switch on your real 
MSX ;)

 That is, if one of us really gets enough inspiration to create the
 device :P 

The device you described actually already exists. It is called the 
MSX card for PC, designed by PTC. Back when it was created, cpu's 
were much less powerfull, so they basically had to build an entire 
MSX on an ISA card to be able to use MSX hardware/software. The host 
PC is only used for its keyboard, other i/o and powersupply...


Tristan 

+ Omega + join #msx on undernet + [EMAIL PROTECTED]  +
|   |  FUNET MSX maintainer | ftp://ftp.funet.fi/pub/msx|
+ irc: OmegaMSX +Techno composer+ http://members1.chello.nl/~t.zondag01 +
--
For info, see http://www.stack.nl/~wynke/MSX/listinfo.html



Re: MSX slot interfaced to PC

2001-10-16 Thread Bas Wijnen

On Mon, 15 Oct 2001, Maarten ter Huurne wrote:

  If the new one chip msx comes out you can connect the hardware tru usb maby
  that wil work also on usb from a pc ro ?

 In an emulator, it is possible to freeze the MSX until whatever acts like a
 cartridge responds. On a real MSX, there are strict timings and I don't think
 USB can make those deadlines.

 USB 2.0 is said to be a lot faster, but this higher speed can only be
 delivered under certain conditions. I think USB 2.0 will have enough
 bandwidth to act as an MSX cartridge, although you might need a dedicated
 cable with no other devices attached. However, I guess the latency will still
 be too large to allow this solution to work on a real MSX.

All this sounds like you guys are really afraid of electronics. If you put
in a PIC and a flash rom between the computers, I think it should easily
be possible. A PIC costs about US$3. A flash rom I don't know, but I think
it should be at most us$10, depending on the size, of course. Only a PIC
can work as well, but it should make excessive use of the WAIT signal,
slowing the msx down to sync with the data (as in the emulator). This
would obviously not be nice for playing games. imo it could only be used
for debugging.

Bye,
shevek

-- 
/** mastermind. input 4 numbers 0-5. output right.in the right place **/

 main(){int  c[4]   ,x=3  ,l=getpid()  ,i;;   for(  srand(l);c[  x]=-   rand
()%6 ,x--   ;);;  for( ;44   x;){  char a[9] ,*p=
 %.1f\n,   b[9];x=i=0;  gets(a);for   (l=4 ;l--   ;)x+=-(a[l]  -=48)==
   (b[l  ]=c[   l]);  ;for   (l=0;16i;l =++i %4)x
+=(b[i/4]+   a[l]   ?0:(  a[l]=b[i/4] =10)) ;printf(p,x  *.1)   ;};}

--
For info, see http://www.stack.nl/~wynke/MSX/listinfo.html



Re: MSX slot interfaced to PC

2001-10-15 Thread Maarten ter Huurne

 If the new one chip msx comes out you can connect the hardware tru usb maby
 that wil work also on usb from a pc ro ?

In an emulator, it is possible to freeze the MSX until whatever acts like a 
cartridge responds. On a real MSX, there are strict timings and I don't think 
USB can make those deadlines.

By the way, even disregarding latency and only looking at bandwidth, I think 
USB 1.0 is not fast enough. When executing code from a cartridge (running a 
game ROM), there will be a merory read about once in 7 cycles (rough 
estimate). At 3.5 MHz that is 500 kilobyte per second. USB 1.0 has a 
bandwidth of 2 megabit per second (correct me if I'm wrong), which is 250 
kilobyte per second. This is disgarding any overhead of the USB protocol and 
disregarding the fact that the address being fetched should also be 
communicated, so the actual number will be even lower.

USB 2.0 is said to be a lot faster, but this higher speed can only be 
delivered under certain conditions. I think USB 2.0 will have enough 
bandwidth to act as an MSX cartridge, although you might need a dedicated 
cable with no other devices attached. However, I guess the latency will still 
be too large to allow this solution to work on a real MSX.

Bye,
Maarten
--
For info, see http://www.stack.nl/~wynke/MSX/listinfo.html



MSX slot interfaced to PC

2001-10-14 Thread JP Grobler



HI

This topic was mentioned a few times with no 
serious input. I think it will be possible to connect a msx slot to a pc and 
emmulate a ROM cartdridge (etc.) on the pc. The msx will think it is talking to 
a normal rom.

2 Parallel port woul possibly be enough to do this. 
In a Bi directional port 17 inputs is possible x2 =34 input lines.

Buffering the adresbus will free 8 bits.I/O 
lines 8I lines: 8 (buffered adress) + 12O Lines: 3

TOTAL: 31 lines

I think it would be possible to emulate ram and 
other hardware as well. Most hardware is already emulated in emulators so to 
adapt is would not be such a big problem. 

First up think it would be best to try and 
emulate a 'unmapped' rom game to see if it can work. Then go on to emulate 
'unmapped' ram and work on from there.

Like to see your comments

JP

I/O LINES NEEDED ON PC1. 8 data lines: I/O· 
Databus2. 8 /16: Input· Address bus (8 bit port buffered input)3. 
10/12: Input· /CS1· /CS2· /CS12 (Can be dropped by connecting this 
to both /CS1 and /CS2 ?)· /IORQ· /M1· /MERQ· /RD· 
/RESET:· /RFSH (OPTIONAL ?)· /SLTSL· /CLOCK· /WR4. 3: 
Out:· /BUSDIR· /INT· /WAIT


Re: MSX slot interfaced to PC

2001-10-14 Thread Jon De Schrijder


 JP Grobler wrote:
 
 HI
 
 This topic was mentioned a few times with no serious input. I think it
 will be possible to connect a msx slot to a pc and emmulate a ROM
 cartdridge (etc.) on the pc. The msx will think it is talking to a
 normal rom.

not possible...
The MSX executes buscycli in the range of a few hundred nanoseconds; the
PC has to react to these signals *in real time*. With a simple interface
this is not possible. And probably you can't use an OS on the pc, you
will need full control in assembler of the x86 CPU to poll for the
incoming MSX signals...

 
 2 Parallel port woul possibly be enough to do this. In a Bi

PC Parallel port is way too slow... forget it

Regards,
Jon
--
For info, see http://www.stack.nl/~wynke/MSX/listinfo.html



Re: MSX slot interfaced to PC

2001-10-14 Thread Pedro Giebels


- Original Message -
From: Jon De Schrijder [EMAIL PROTECTED]
To: [EMAIL PROTECTED]
Sent: Sunday, October 14, 2001 10:56 PM
Subject: Re: MSX slot interfaced to PC




 not possible...
 The MSX executes buscycli in the range of a few hundred nanoseconds; the
 PC has to react to these signals *in real time*. With a simple interface
 this is not possible. And probably you can't use an OS on the pc, you
 will need full control in assembler of the x86 CPU to poll for the
 incoming MSX signals...

If the new one chip msx comes out you can connect the hardware tru usb maby
that wil work also on usb from a pc ro ?



--
For info, see http://www.stack.nl/~wynke/MSX/listinfo.html