zx spectrum next

Don't be shy, come introduce yourself with the rest of the community
User avatar
rogerjowett
Posts: 30
Joined: Sun Apr 08, 2018 7:32 pm

zx spectrum next

Post by rogerjowett » Wed Apr 03, 2019 7:02 pm

hi my name is Roger
i'm very interested in the Next
especially if it can interlace the 48kb video mode?
is there a technical manual coming for it?
i have so many questions
does the DMA support full screen animations at 50 frames per second? that would be 50x48kb =2.5mb per second from the sd memory device is this possible?
why not 9 dma one for each channel of the 3 x ay8912 chips - like the amstrad cpc+ had
28mhz z80 is this confirmed?
what are the extra next z80 opcodes?
what is the copper please?
does next have full screen horizontal and vertical scrolling please?
if it does and it has hardware sprites why not include some 3d hardware like texture mapping too?
and finally when can i include my links to my full screen animation running on the sam coupe in sim coupe and the other links please?

User avatar
Sokurah
Posts: 63
Joined: Mon May 29, 2017 9:32 pm
Contact:

Re: zx spectrum next

Post by Sokurah » Wed Apr 03, 2019 9:40 pm

rogerjowett wrote:
Wed Apr 03, 2019 7:02 pm
...and finally when can i include my links to my full screen animation running on the sam coupe in sim coupe and the other links please?
You don't have to. EVERYONE has seen them. Multiple times. NO ONE need to see them again.
Besides, they're SAM related and not Next related so they're completely irrelevant to the current subject.
Website: Tardis Remakes / Mostly remakes of Arcade and ZX Spectrum games.
My games for the Spectrum: Dingo, The Speccies, The Speccies 2 (also for arcade hardware) & Vallation.
Twitter: Sokurah

Ped7g
Posts: 103
Joined: Mon Jul 16, 2018 7:11 pm

Re: zx spectrum next

Post by Ped7g » Thu Apr 04, 2019 12:20 am

Hi Roger, I will try to add on some of those questions...
rogerjowett wrote:
Wed Apr 03, 2019 7:02 pm
is there a technical manual coming for it?
The project on kickstarter was presented as "open source". So theoretically not only technical manual is coming, but whole scheme and firmware, etc.
Then again over time I realized some people have different understanding where the borders are, so various parts of actual system (what one practically thinks is part of it) may be closed source initially, as their authors consider them to be add-on over the core, and they provide only binaries of their work or postpone the source release till some time event (and I can understand their perspective, and it's their full right to do so, but from my perspective those are placeholders, just helping to get the thing working sooner). These things may get eventually replaced in the long run, if the main thing delivers and people will be interested to work toward it, so this is not a real worry to me.
But even the main thing is not yet fully open, only promised to become so, so let's see if it will get delivered, hopefully after the cased units will get shipped, the team will focus on finalizing this part of the project too.
Mind you, there is already lot of technical details available in various places, going through this forum and https://gitlab.com/thesmog358/tbblue may give you some idea...
does the DMA support full screen animations at 50 frames per second? that would be 50x48kb =2.5mb per second from the sd memory device is this possible?
Oh, you mean SD card to RAM DMA... I have no idea, how that one works in ZXN, or if the SD card interface is actually using DMA. The card interface is generally quite fast, the Kev Brady was able to present sort of full screen video player using his own compressed stream technique, but Kev is kinda on different level, so YMMV (I have no idea how his magic works, but basically if you push that HW to the limit, it may be doable).
why not 9 dma one for each channel of the 3 x ay8912 chips - like the amstrad cpc+ had
There's only single channel DMA, and it inhibits CPU until the transfer is finished, so from programmers point of view it's more like another "ldir" instruction, which is lot more costly to set up and execute, but transfers memory at much higher speed. There is this new burst mode which can push data at slower rate, making it viable for something like sound sample playing, but that means the whole DMA is dedicated for that, so everything else has to be done by CPU in the idle time of DMA.
28mhz z80 is this confirmed?
Confirmed to not happen in the current firmware (cores 1.x - 2.0.26). There's still possibility somebody will figure out how to add it later in the future, but I wouldn't wait for it. Even the 14MHz mode is not fully stable, if you are for example using Layer2 graphics (seems like your point of interest judging by talking about 48kiB VRAM), the CPU is throttling down to 7MHz in pixel screen areas, effectively ending with ~9..10MHz machine. Maybe with significant improvements in the core design in the future the stable 14MHz may happen, but again I wouldn't wait for it, rather calculate with this ~10MHz being maximum in your designs.
what are the extra next z80 opcodes?
what is the copper please?
http://devnext.referata.com/wiki/Extend ... uction_set
http://devnext.referata.com/wiki/Copper
https://gitlab.com/thesmog358/tbblue/bl ... -v0.1c.TXT
does next have full screen horizontal and vertical scrolling please?
if it does and it has hardware sprites why not include some 3d hardware like texture mapping too?
Most of the graphic layers do have fullscreen HW scroll (Layer2, Tilemap, LoRes mode), some only in limited way (classic ULA), some don't (sprites).
I'm not sure how HW sprites relate to 3D HW, that's kinda whole new discipline IMO, the current sprite engine is implemented in probably tenth/hundredth of logical gates, which would be needed for 3D texture mapping. The FPGA on the board is probably not that powerful to supply also dedicated GPU chip (even if we are talking about early Sega system-like ones performance wise) and definitely not to do both ZXN core and GPU core at the same time, as the current 2.xx cores are pretty much exhausting almost 100% of it already.
(again, maybe you have some great idea and know-how how to achieve it, with the open nature of the project you can prepare your own core supporting such features, so there's some chance of these to happen, if they are possible, but I'm not holding my breath).

Ped7g
Posts: 103
Joined: Mon Jul 16, 2018 7:11 pm

Re: zx spectrum next

Post by Ped7g » Thu Apr 04, 2019 12:31 am

Maybe one more comment about "does the DMA support full screen animations at 50 frames per second? that would be 50x48kb =2.5mb per second from the sd memory device is this possible?"

I'm kinda puzzled by this one, what you mean by full screen animation, for me full screen animation is when the computer is moving full-screen-lot-of-content = which is technically extremely challenging with Next (or plain impossible in some combinations of graphical modes and what-you-consider-screen-content, like for example there's not enough horse power for regular true "plasma" effect in Layer2 mode ... you can probably fake it by some tricks, but not by doing the true `pix[x,y] = val1 + val2` per every Layer2 pixel way, that's beyond the throughput of the machine).

While your idea sounds like just dumping SD card raw content on the screen, which is not interesting to me (I mean it's technically also "fullscreen animation", but not making me excited in any way, for movie players I have PC and mobile phone and Next can't get even close to their fidelity due to 9 bit colour space, while technically there's little challenge to do this, if the SD card interface permits it).

But check Kev's demos, he's doing something similar, but with compression scheme involved (and no interlace attempt).

Alcoholics Anonymous
Posts: 505
Joined: Mon May 29, 2017 7:00 pm

Re: zx spectrum next

Post by Alcoholics Anonymous » Thu Apr 04, 2019 3:36 pm

rogerjowett wrote:
Wed Apr 03, 2019 7:02 pm
is there a technical manual coming for it?
There is technical information available for most things now. But keep in mind the core is not finished and will likely continue to be developed after the cased nexts are already delivered. The features that are in now represent 90% of everything and whether other things arrive depends a lot on fpga space.

These are in addition to the links ped7g supplied:

https://www.specnext.com/sprites/
https://www.specnext.com/tilemap-mode/
https://www.specnext.com/the-zxndma/
https://www.specnext.com/tbblue-io-port-system/

The last link shows the registry which is a field of bits that control various behaviours of the system. What makes the copper compelling is that it can change this state independently of the cpu and synchronized with the display generation.

This doesn't list every feature of the next, only radically new things. It doesn't mention layer 2 (except in the registry) or the banked memory model and it doesn't mention the "standard" zx spectrum peripherals that have been added. The timex ula, eg, (timex hi colour, hi res), scrollable ula screen, turbosound (ay x 3), four 8-bit dacs, joysticks, kempston mouse, etc. I agree it would be helpful to have a technical manual that listed everything.
does the DMA support full screen animations at 50 frames per second? that would be 50x48kb =2.5mb per second from the sd memory device is this possible?
This was answered on fb; I'll just quote here for others:

The next implements a divmmc interface for the sd card. This interface uses the cpu clock to time transactions with the sd card. 16 cpu cycles are needed to pass each byte to/from the sd card. So at 14MHz, the peak transfer rate is 875000 bytes per second. The peak transfer rate can be achieved by streaming from an unfragmented file.

As for streamed video, Kev Brady has already demonstrated video at 320x192 resolution with 256 (512?) colours and 8-bit sampled audio. The video/audio stream is decompressed as it is loaded and data is written to the layer 2 screen as well as sprites on the layer 2 edges to get 320 pixels wide.

I'm not sure about the vertical resolution (it looks little less than 192 pixels) and I'm not sure if he's using a dynamic or fixed palette.

Just to add, because the sd card interface needs to see 16 cycles for each byte transferred, the dma cannot improve the transfer speed from the sd card. The Z80 instruction INI at 16 cycles already achieves the fastest transfer rate.
why not 9 dma one for each channel of the 3 x ay8912 chips - like the amstrad cpc+ had
At the moment there is one dma channel. The dma is quite important in games so committing it to do audio only can take away from screen activity. An alternative that has been / is being used is to use the copper to generate audio instead which is less convenient and takes some more programming effort because the copper's speed and screen geometry varies with video timing which can be different from machine to machine depending on what display device the user has set up.

The next has four 8-bit dacs arrange as two left channels and two right channels. A pseudo-mono channel exists in hw as well but what it really does is write the same value to one of the left channels and one of the right channels. This is called "covox" in Russia and the mono channel is sometimes called the "specdrum". Despite the tendency for the scene to invent flamboyant names, these are just dacs :P

Anyway, no special provision has been made to assist sending sampled audio through the AYs because it's much better to use the dacs.
28mhz z80 is this confirmed?
Out of reach in the current core.

14MHz is the max and as mentioned, this is slowed to 7MHz while layer 2 pixels are fetched from memory.
what is the copper please?
A very simple co-processor with 1k instruction space that operates independently of the cpu and is synchronized with the display generation. It can do two things: wait for a specific position in the display given by vertical pixel and horizontal byte or write a value to the registry.

The registry is a field of bits that controls the behaviour of the hardware and is described here:
https://www.specnext.com/tbblue-io-port-system/

The copper can be used to change anything there including changing colours, moving sprites, generating mono 8-bit audio, changing screen modes, changing layer priority and so on.
if it does and it has hardware sprites why not include some 3d hardware like texture mapping too?
The sprites allow stretching in the vertical and horizontal directions by integer multiples only 1x, 2x, 4x, 8x. Getting it to stretch at fractional amounts is another step up in complexity. Additionally, allowing transformations on the vertices would mean the orientation of the sprite's rectangular shape would change and this would complicate the drawing further.

There is a balance trying to be achieved in the zx next design -- we're limited by fpga space and the next is supposed to be a "what-if" machine. Could we have done this back in the day? For the most part yes with perhaps performance and scale reduced in a few areas and a bigger budget than Sinclair was known for :) Would textures have been done bitd? Most likely not.

A blitter has always been on the wishlist. With a blitter (a specialized dma device), doing scalable textures might be possible. There was also a proposed ldir instruction variant that was proposed to do scaled copying to layer 2 but that has not made it in. Whether this will happen again depends on fpga space.
and finally when can i include my links to my full screen animation running on the sam coupe in sim coupe and the other links please?
You've posted already I think:
https://www.specnext.com/forum/viewtopi ... 8868#p8868

That's the right place for it. The rest of the forum is for on-topic posts about the next.

User avatar
rogerjowett
Posts: 30
Joined: Sun Apr 08, 2018 7:32 pm

Re: zx spectrum next

Post by rogerjowett » Wed Apr 10, 2019 1:58 pm

Sokurah wrote:
Wed Apr 03, 2019 9:40 pm
rogerjowett wrote:
Wed Apr 03, 2019 7:02 pm
...and finally when can i include my links to my full screen animation running on the sam coupe in sim coupe and the other links please?
You don't have to. EVERYONE has seen them. Multiple times. NO ONE need to see them again.
Besides, they're SAM related and not Next related so they're completely irrelevant to the current subject.
everyone has sen them then why do i only have 9.4k views prince of persia on sam has over 20k
they are not sam they are zx spectrum girls allowed and pRick ghAstley
spectra for zx spectrum and ula+ also

User avatar
rogerjowett
Posts: 30
Joined: Sun Apr 08, 2018 7:32 pm

Re: zx spectrum next

Post by rogerjowett » Wed Apr 10, 2019 2:01 pm

it took me ten years and five programs to do that
seen

User avatar
Sokurah
Posts: 63
Joined: Mon May 29, 2017 9:32 pm
Contact:

Re: zx spectrum next

Post by Sokurah » Thu Apr 11, 2019 11:42 am

rogerjowett wrote:
Wed Apr 10, 2019 1:58 pm
everyone has sen them then why do i only have 9.4k views prince of persia on sam has over 20k
Easy. Most people like games more than demos ... and Prince of Persia attracts extra viewers because it's a classic game.
Website: Tardis Remakes / Mostly remakes of Arcade and ZX Spectrum games.
My games for the Spectrum: Dingo, The Speccies, The Speccies 2 (also for arcade hardware) & Vallation.
Twitter: Sokurah

User avatar
rogerjowett
Posts: 30
Joined: Sun Apr 08, 2018 7:32 pm

Re: zx spectrum next

Post by rogerjowett » Thu Apr 11, 2019 7:57 pm

so just out of interest
the next has 48KB of video ram which is 16kb more than the zx prism
but it doesnt have 96kb of fast dual ported video ram which would mean it could interlace two screens and double the vertical resolution 256x384 which would be very nice
although personally id prefer 320x200 mode support and of course 640x480
all in 24bit true colour
512x384 isnt a possiblity with 48kb of video ram you should get 16 colours on 512x192 and if you had two screens then that would double up to 512x384
have you seen velesfots facebook page for interlaced spectrum graphics - cant wait to see ula+ interlaced and spectra interlaced
that was why i posted the links thanks for removing them!

User avatar
rogerjowett
Posts: 30
Joined: Sun Apr 08, 2018 7:32 pm

Re: zx spectrum next

Post by rogerjowett » Thu Apr 11, 2019 8:27 pm

https://www.facebook.com/groups/1066251293516270/

interlaced graphics on the spectrum 128 maybe ula+ supported and spectra interface too as per my links which have kindly been removed despite not being anything to do with sam coupe

Post Reply