Topic: Suggested starting point

Mike Stirling's core looks like a good one to port to replay.

http://www.mike-stirling.com/retro-fpga … n-an-fpga/

Cheers.

Re: Suggested starting point

I have my own implementation of ULA based on ULA book. I will port it as soon as my board will arrive.
Another T-state compatible ULA implementation is at http://opencores.org/project,zx_ula

Re: Suggested starting point

I was curious and I got the code. I just did some browsing, looking at the config modes it seems quite complete...
    -- 0 = 48 K
    -- 1 = 128 K
    -- 2 = +2A/+3
And he set up other useful stuff like ZXMMC as well, very interesting!  wink

/WoS

Re: Suggested starting point

So, I'm going to have a go at porting this myself.  Going to use Mike Stirling's as it contains a lot of important features that should run nicely on the Replay board.  I've got the code and have been browsing it for a number of hours, now, breaking it down and looking at where I'm likely to have to make changes (pin assignments and what-have-you). I don't have my Replay board, yet, so can't do a lot, but I'm up for the challenge.

Lee

Re: Suggested starting point

Right, I've got Mike Stirling's code and I have the replay pin out.  This is going to be a long journey, but it begins. :-)  I'll post when I have thoughts, concerns or status updates.

Re: Suggested starting point

Super. Suggest you start with either the loader or one of the other designs as a template - aim to just drop in a new "core" and reuse as much of the existing wrapper as possible.
Cheers,
Mike

Re: Suggested starting point

Sounds like a plan

Re: Suggested starting point

I have my own ZX core developed at Nexys 2 board, it has timing compliant with the ZX ULA Book. I plan to port it soon, as I'll get my pre-ordered Replay with S-Video from Amedia shop.

Re: Suggested starting point

MikeJ wrote:

Super. Suggest you start with either the loader or one of the other designs as a template - aim to just drop in a new "core" and reuse as much of the existing wrapper as possible.
Cheers,
Mike

Quite a while ago I put the zx48k core from my setup with the "old" (~ 2011) replay configuration. Just the Replay_Top / Core_Top missing (and connect at least video + keyboard) and the actual build script. This can be taken from the loader or C64 core. Maybe I have a minute left today and I can provide an initial setup...

Of course no big deal to replace the core by any other setup as well.

/WoS

10

Re: Suggested starting point

I had a look at this core and started writing some glue, but I see there is work to move ps2 emul to replay type. Before I go on I wanted to ask if there are uncommitted work done here? Are there any doc/sch on the current speccy glue? Again, I must admit little knowledge of the original hw.

11

Re: Suggested starting point

Not from my side.

Reason I didn't continue to work as I also did want to check what's out there first before continuing on this. One big topic is how to get actually files from sdcard to the core. In my first run I wrote a small TAP file reader and tape waveform emulator on the ARM side and mis-used one of the SPI pins as TAPE pin to the FPGA. tongue  But thus I have not checked in this "old" toplevel, does not fit at all to the new setup (I set up a completely different and incompatible ARM firmware for this, at least it helped me to understand the hardware fairly well). But I can have a look how I did the interpretation of the TAP files and to generate the tape waveforms, this might be useful?

I bought my first speccy a few years ago for a few bucks with a defect Z80 and used it to learn a little before I did the initial replay port. So I am by far no expert either, not even a real beginner hmm ...  To do a proper file format support, it is probably worth to take a look how the various sdcard interfaces on the speccy work and rework one of these for the Replay...

I also did not work further as Mike mentioned someone who is an Speccy expert and tried to discuss with him to support us here. But basically it is a very good idea to have the glue stuff done first, as starting point for further developments in general wink

/WoS

12

Re: Suggested starting point

Ok, I will try the glue-mix and at lest get it booted, then loading and saving will be next level.

13

Re: Suggested starting point

I made a doc directory on SVN and put a text file in there. It contains the main  (ARM/FPGA) parts for the TAP loader.

I forgot that I already did some improvements to send the content byte-wise via SPI to the core and do the tape modulation on HW level... big_smile

Hope it helps somehow.

/WoS

Re: Suggested starting point

Here is my implementation of ULA, based on ULA Book.
It is timing compatible with 48K ULA, including the contention strategy.
It needs the tiny memory arbiter to solve the memory access fom ULA and from CPU to single DRAM controller. This can be done, because each video RAM access is two 7MHz clocks wide.

Post's attachments

ula.vhd 9.84 kb, 15 downloads since 2014-10-10 

You don't have the permssions to download the attachments of this post.

Re: Suggested starting point

progress? is there working zx-spectrum core which i can try?

Re: Suggested starting point

Hi Daac. You have a replay board?
I haven't tried the spectrum core in a while, I'm going through them all this week and releasing / tidying up.
Drop me a mail.

17 (edited by daac 2015-08-30 14:43:31)

Re: Suggested starting point

MikeJ wrote:

Hi Daac. You have a replay board?
I haven't tried the spectrum core in a while, I'm going through them all this week and releasing / tidying up.
Drop me a mail.

yes i get one on friday, i send you mail

18

Re: Suggested starting point

Pls. don't expect too much yet. I did work on a basic ZX Spectrum implementation I found on the web and reworked it to be used for the Replay (e.g. introduced a memory IF etc. for this board) - it was/is called "ZX gate".

This are the only files currectly on the private SVN.  But this was based on a stone age Replay setup without the actual infrastructure. So basically the minimal core and should work in general, but all the framework needs to be set up from scratch.

Furthermore some proper disk/tape/...  I/O needs to be implemented as well (I used that time a real tape recorder with some simple interface connected to the replay to test the core with some games). I own a 48k + Joystick/Sound IF and I also have some game tapes etc. (I used this to compare the FPGA core with a real setup), but am by far no Speccy expert, so here some help is needed to gain some speed in development...

So everyone feel free to remove this code and replace by something better big_smile

/WoS

Re: Suggested starting point

I may suggest using the code from the ZX-Uno project. It could be very cool to have the Uno working in Replay smile  The source code of the implementation is available from its website.

There is also a SAM Coupé core I started on August. It lacks a way to access to mass storage media, like the AtomHDD or AtomLite, and timings need to be revised, but if you don't mind loading from tape, it can be rather usable from gaming and BASIC programming smile

Re: Suggested starting point

I'd second the ZX-Uno. I've been talking to the author on Facebook (yes I know, sorry) and he seems like a very nice and approachable guy.

Additionally there has been some significant work recently to replicate the ULA (48K and additional models) in a CPLD / FPGA package. Perhaps this could be advantageous?
ref: https://www.facebook.com/groups/speccy4 … 510107018/

(you will probably need to belong to the speccy4ever group to view this).

Let me know if I can help in any way (in terms of info etc.)
-(e)

Re: Suggested starting point

I'll take a look as well. With the core libs now pretty much done, porting a core is quite simple (use Pacman as a guide)

Re: Suggested starting point

Did anyone tackle this?

23

Re: Suggested starting point

There is the zxgate code on our SVN I adopted on a very early Replay version. It did run quite some code that time.

Program load worked via a "real tapes" so to say and not via the Replay (using an tape emulator via sound card of a PC and some simple interface I made to the Replay).  Not really useful for a general approach, so never ported to the new framework.

The biggest task here is to add support to load(/store) any programs/data to sdcard.
This would require someone more familiar with the Speccy and emulators/file formats and can do some FPGA coding...

/WoS

Re: Suggested starting point

I try to learn :-) and first read all the code here and there to understand how VHDL works :-)

Re: Suggested starting point

Mike Sterling's core already supports SDCARD. ZXUNO (http://zxuno.speccy.org/) have a cycle accurate ZX Spectrum working so the sources are out there.

I know there is lots of work make that work on the FPGA Arcade board.

Cheers.