Welcome, Guest. Please login or register.


Author Topic: ZX Spectrum Emulator Card (Read 39401 times)

Offline pear

  • EP lover
  • *
  • Posts: 707
  • Country: pl
  • Z80 only
  • OS:
  • Unknown Unknown
  • Browser:
  • Firefox 43.0 Firefox 43.0
    • View Profile
Re: ZX Spectrum Emulator Card
« Reply #75 on: 2015.December.23. 14:51:51 »
The question what Dave was doing, when it use 16-bit addressing I/O ?

Offline Zozosoft

  • EP addict
  • *
  • Posts: 13187
  • Country: hu
  • OS:
  • Windows XP Windows XP
  • Browser:
  • Firefox 43.0 Firefox 43.0
    • View Profile
    • http://enterprise.iko.hu/
Re: ZX Spectrum Emulator Card
« Reply #76 on: 2015.December.23. 14:56:07 »
The question what Dave was doing, when it use 16-bit addressing I/O ?
It is go through the page registers, then the results depending from the current page in segments.

Online gflorez

  • EP addict
  • *
  • Posts: 2459
  • Country: es
  • OS:
  • Windows XP Windows XP
  • Browser:
  • Firefox 43.0 Firefox 43.0
    • View Profile
Re: ZX Spectrum Emulator Card
« Reply #77 on: 2015.December.23. 15:03:33 »
Can a port be redirected to other one?

If not, a Spectrum emulator can do a first pass over the code to change the calls.

Offline lgb

  • EP addict
  • *
  • Posts: 3496
  • Country: hu
  • æðsta yfirmaður
  • OS:
  • Linux (Ubuntu) Linux (Ubuntu)
  • Browser:
  • Firefox 43.0 Firefox 43.0
    • View Profile
    • http://lgb.hu/
Re: ZX Spectrum Emulator Card
« Reply #78 on: 2015.December.23. 15:09:47 »
Can a port be redirected to other one?

How do you mean this? If I understand well enough, Dave has a "bug" (or at least it's a "don't care" situation as EP was not designed to handle 16 bit I/O too much) that both on memory and I/O request, the address is translated according to the value of the given B0..B3 ports. That is, if I/O address is - let's say - 0x7FFF, Dave interprets this as some address on page 1, thus the I/O address will be then the lower 14 bits of the original address, and for the two high bits, it's the two lowest bits of port B1, as 0x7FFF would be page 1, port 0xB1. On the EP bus, the address is still 6 bit wider so the actual address on the motherboard address bus will be 22 bit wide constructed from the lower 14 bits of the original CPU address and the given B0...B3 port (14+8=22). This is really the same as BOTH for I/O and memory addresses! But Zozo will correct me hopefully if I was wrong somewhere ....

The other problem: since devices usually decodes only the lower 8 bits of I/O address, it would be problematic (in addition of the behaviour of Dave described above!) to use an address where the lower 8 bit of the address corresponds to any device assigned to that I/O port ...

Offline Zozosoft

  • EP addict
  • *
  • Posts: 13187
  • Country: hu
  • OS:
  • Windows XP Windows XP
  • Browser:
  • Firefox 43.0 Firefox 43.0
    • View Profile
    • http://enterprise.iko.hu/
Re: ZX Spectrum Emulator Card
« Reply #79 on: 2015.December.23. 15:18:12 »
the actual address on the motherboard address bus will be 22 bit wide constructed from the lower 14 bits of the original CPU address and the given B0...B3 port (14+8=22). This is really the same as BOTH for I/O and memory addresses!
Yes.
This is the one of the big failures of the original version of the Spectrum Emulator. In my fixed ROM version, page in four segments, each have a different lower 2 bits at segment number. Then possible calculate back the original 16 bit port address.

Online gflorez

  • EP addict
  • *
  • Posts: 2459
  • Country: es
  • OS:
  • Windows XP Windows XP
  • Browser:
  • Firefox 43.0 Firefox 43.0
    • View Profile
Re: ZX Spectrum Emulator Card
« Reply #80 on: 2015.December.23. 15:31:30 »
In this document it is said that Timex-Sinclair use ports 245 and 246. There must be a few or none Spectrum games accessing the AY at that direction ports, but are free for use on the EP.

Online gflorez

  • EP addict
  • *
  • Posts: 2459
  • Country: es
  • OS:
  • Windows XP Windows XP
  • Browser:
  • Firefox 43.0 Firefox 43.0
    • View Profile
Re: ZX Spectrum Emulator Card
« Reply #81 on: 2015.December.23. 16:06:19 »
And, what about the one or two 8 bit I/O ports? On the MSX computers they are involved on joysticks(and mouse....) reading tasks, but on the EP can be used to implement some form of sound digitiser-player....

Only dreaming again....

Offline lgb

  • EP addict
  • *
  • Posts: 3496
  • Country: hu
  • æðsta yfirmaður
  • OS:
  • Linux (Ubuntu) Linux (Ubuntu)
  • Browser:
  • Firefox 43.0 Firefox 43.0
    • View Profile
    • http://lgb.hu/
Re: ZX Spectrum Emulator Card
« Reply #82 on: 2015.December.23. 20:27:41 »
Yes.
This is the one of the big failures of the original version of the Spectrum Emulator. In my fixed ROM version, page in four segments, each have a different lower 2 bits at segment number. Then possible calculate back the original 16 bit port address.

Funny enough, but in fact, EP would make it possible to use not 16 but 22 bit I/O addressing with the help of Dave :) :) Only the conflict on the lower 8 bits can be problematic.

But seriosly: I am a bit unsure if it's really a bug of Dave. If only 8 bit I/O addressing is planned, this situation is simple "don't care" so it cannot be called a "bug" too much ...
« Last Edit: 2015.December.23. 20:38:10 by lgb »

Offline Zozosoft

  • EP addict
  • *
  • Posts: 13187
  • Country: hu
  • OS:
  • Windows 7/Server 2008 R2 Windows 7/Server 2008 R2
  • Browser:
  • Firefox 43.0 Firefox 43.0
    • View Profile
    • http://enterprise.iko.hu/
Re: ZX Spectrum Emulator Card
« Reply #83 on: 2015.December.23. 21:09:54 »
But seriosly: I am a bit unsure if it's really a bug of Dave. If only 8 bit I/O addressing is planned, this situation is simple "don't care"
And probably intentional? The continous working of paging registers make less delays on the high address lines. If it is wait for the MREQ signal, then can't be a ready when the MREQ will active.

Online gflorez

  • EP addict
  • *
  • Posts: 2459
  • Country: es
  • OS:
  • Unknown Unknown
  • Browser:
  • Firefox 43.0 Firefox 43.0
    • View Profile
Re: ZX Spectrum Emulator Card
« Reply #84 on: 2015.December.27. 00:59:50 »
An AY chip connected to an EP can be a must, but.... Why not fit an AY compatible chip with more options?

Based on the AY's General Instrument series of sound chips, Yamaha released its own series of chips oriented to the Arcade and PCs markets.

First they launched the YM2149, a forty pin exactly clone with the option of working with selectable single/double frequency, putting pin 26 free or to ground.

Secondly they released the YM2203, YM2610 and YM2608, adding 3, 4 and 6 FM channels to the AY architecture. But, in order to play analogue that digital sound, the adition of a companion external DAC chip(YM3014) was needed.

The YM2203 is exactly an AY 40 pin clone(YM2149) with the added mono FM synthesis. YM2610 and YM2608 are still signal compatible(TTL), but have 64 pin packages because they add ADPCM mono synthesis and stereo output on the FM side.

Sadly, further development of the Yamaha sound chip series lacks the AY compatibility.
« Last Edit: 2015.December.27. 01:25:43 by gflorez »

Online gflorez

  • EP addict
  • *
  • Posts: 2459
  • Country: es
  • OS:
  • Unknown Unknown
  • Browser:
  • Firefox 43.0 Firefox 43.0
    • View Profile
Re: ZX Spectrum Emulator Card
« Reply #85 on: 2015.December.27. 10:26:25 »
Another nice MSX project that could be ported to Enterprise: Mp3 player on a cartridge.


http://www.pa4den.nl/MP3opMSX.html

It is supported by Prodatron SymbOS:

https://www.youtube.com/watch?v=HaY4zL7WR7k
« Last Edit: 2015.December.27. 10:29:57 by gflorez »

Offline pear

  • EP lover
  • *
  • Posts: 707
  • Country: pl
  • Z80 only
  • OS:
  • Windows 7/Server 2008 R2 Windows 7/Server 2008 R2
  • Browser:
  • Firefox 43.0 Firefox 43.0
    • View Profile
Re: ZX Spectrum Emulator Card
« Reply #86 on: 2015.December.27. 10:33:05 »
For ZX Spectrum already exists card that uses two chips YM2203. It's called Turbosound FM. If necessary, it can be customized.
Pictured here is the card version with additional chip SAA1099 from Sam Coupe.
« Last Edit: 2015.December.27. 10:42:30 by pear »

Offline pear

  • EP lover
  • *
  • Posts: 707
  • Country: pl
  • Z80 only
  • OS:
  • Windows 7/Server 2008 R2 Windows 7/Server 2008 R2
  • Browser:
  • Firefox 43.0 Firefox 43.0
    • View Profile
Re: ZX Spectrum Emulator Card
« Reply #87 on: 2015.December.27. 11:25:19 »
Maybe it's better in the new version of the ZX Emulator Card to make the edge connector compatible with the original ZX Spectrum ?
Why duplicate existing ZX interfaces ? These are not the cheap stuff.
Just give them proper connection. It can even buffer for full 16-bit I/O address ?

Online gflorez

  • EP addict
  • *
  • Posts: 2459
  • Country: es
  • OS:
  • Unknown Unknown
  • Browser:
  • Firefox 43.0 Firefox 43.0
    • View Profile
Re: ZX Spectrum Emulator Card
« Reply #88 on: 2015.December.27. 13:23:40 »
Maybe putting one extra z80, only for the emulation. Then it can freely address all the I/O range and the ZX port....

 I'm good at  wondering...

Offline pear

  • EP lover
  • *
  • Posts: 707
  • Country: pl
  • Z80 only
  • OS:
  • Windows 7/Server 2008 R2 Windows 7/Server 2008 R2
  • Browser:
  • Firefox 43.0 Firefox 43.0
    • View Profile
Re: ZX Spectrum Emulator Card
« Reply #89 on: 2015.December.27. 13:52:43 »
Now that you fancy bear :) So that you can build the evil twin ;)
I think that you strive for full symmetry and ultimately get a 2-in-1.
Depending on how you turn, you get a ZX Spectrum Emulator on the Enterprise or an Enterprise Emulator on the ZX Spectrum ;)