Thursday, July 28, 2016

Another 256 colour 256x128 Demo Image

Just a tiny update to show off another demo image showing off the linear 256x128 256 colour "clashless" mode.

Yes, I DO seem to use Satan for demos quite often don't I.

55 comments:

  1. how can it have 256 colours and only use 16kb?

    ReplyDelete
    Replies
    1. ...it doesn't use 16K .. no idea where you got that from. It uses 32K.

      Delete
  2. cant you ofcus on modes like 256x384 intelraced or 512x384 - this last one is opengl & directX compatible surely

    ReplyDelete
    Replies
    1. There is a 256x384 mode and a 512x384 mode. Neither are interlaced, they don't need to be.

      Prism is real hardware, not a PC emulator so directX and openGL are completely irrelivant


      Delete
  3. 56MHz are you sure ? that's 7 mips no?

    ReplyDelete
    Replies
    1. I'm building the thing and writing the FPGA microcode. 56MHz is the fastest CPU clock that I'm trying to implement (the CPU is modelled within the FPGA), but I'm having problems with crashes when interrupts are enabled. It may end up being max CPU speed of 28MHz with interrupts enabled.

      Delete
  4. do you know what the maximum amount of video ram for a screen is please?

    ReplyDelete
    Replies
    1. 32K on Prism; this is a limitation of the resources on the FPGA so it's not going to increase in size (unless I move to a different FPGA - and that's not likely any time soon)

      Delete
  5. is the video ram fast as in faster than the normal program ram - like the bbc model b which had double speed video ram so that the processor was not interrupted or suffered from contention please?

    ReplyDelete
  6. could you team up with someone to develop pc tools to convert screens (and ofcourse i'd love to see video especially as 56MHz is fast enough to pull the full amount of data in at sufficiently high frame rates) to the zx prisnn

    ReplyDelete
    Replies
    1. There's already a couple of tools for converting screens to a couple of the modes. I'm not interested in video so that's up to someone else to arrange/code.

      Delete
  7. is there any chance of converting or getting to work a straight conversion of tasword 128k please?

    ReplyDelete
    Replies
    1. Tasword 128 would already work on Prism. No need for any conversion unless for some reason you wanted to modify it to use a different screen mode. Why you'd want to run a word processor on a FPGA-based spectrum compatible when you could run something more modern on a PC/Mac/Linux box is beyond me though!

      Delete
  8. 56MHz - wow that is even faster than the 7MHz R800 processor in the msx turboR - which is supposed to be arounbd 28MHz compared with a z80 - mind you she does have a lot of video ram 192kb and a vdp9990 which has a lot of hardware sprites and hardware scrolling both vertical and horizontal - though nothing like a maths coprocessor for assisting with 3d vectors
    are you sure you arent planning programs like doom for zx prisnn?

    ReplyDelete
    Replies
    1. Doom would be nice, but I'll settle for something like Alien Breed or Super Mario World personally... I don't expect any will actually happen though! :)

      Delete
    2. that is the other question how many dedicated programmers do you have available!?

      Delete
    3. None. This is a home-grown DIY project, not a commercial product. A couple of other people other than myself have written software for it, but they're in no way dedicated to only working on Prism software.

      Delete
  9. http://simonowen.com/sam/articles/mode1/

    this shows you how much video ram contention the processor suffers with a normal internal 512kb ram sam coupe - though there is less if we use external 1mb ram interface for full 6mhz running see youtube

    freescape running at 6MHz
    https://www.youtube.com/watch?v=3x0VsNWEs-4

    ReplyDelete
    Replies
    1. This isn't a Sam.

      Prism has no memory contention as its VRAM is dual ported ("ULA2" can read it at the same time as the CPU is reading/writing to it)

      I can run Freescape at up to 28MHz already ;)

      Delete
  10. you couldn't move up to 48kb of vram would make a big difference no?

    ReplyDelete
  11. No I can't, it's a hardware limitation - you've asked me that before ;)

    ReplyDelete
  12. the msx turbo R has 192kb opf video ram but the video modes are different along with hardware scrolling and several hardare sprites

    ReplyDelete
    Replies
    1. I don't see what that has to do with Prism. It's not an MSX.

      Delete
    2. no but if you want to measure its performance by some kind of landmark than the msx turbo R is the most video ram on an 8bit machine - just hoping i guess

      Delete
    3. I'm not interested in comparing Prism against other machines like that, sorry.

      Delete
  13. what size colour palette are you offering please?

    ReplyDelete
    Replies
    1. The Prism prototype has 12 bit colour, so the pallete is 256 colours chosen from 4096.

      Delete
  14. is there anyway to combine the video output of more than one fpga please in particular using more than one z80 in parallel so that if they both had 8bit per pixel then the effect would be to increase from one to 16bit and with three fopr the full 24bit tru colour effects no? sam mode 3 has hmpr bits 5 &6 that can select the different four colours from the clut for what should be a four colour only screen but no DMA to assist with this?
    do you know anything about a maths coprocessor please?

    ReplyDelete
    Replies
    1. You'd be better off just using a bigger FPGA and modeling two Z80s if you wanted to run them in parallel. That wouldn't affect bit depth though, so your question doesn't fully make sense.

      I don't really care what Sam modes do, Prism isn't a Sam, nor is it intended to ever be Sam compatible. I don't know anything about Sam maths coprocessor.

      Prism doesn't have a maths coprocessor. It's fast enough as it is at the moment.

      Delete
  15. This comment has been removed by the author.

    ReplyDelete
    Replies
    1. This comment has been removed by the author.

      Delete
    2. This comment has been removed by the author.

      Delete
    3. the reason i was asking about the parallel thingi was that surely with three processors you could fix the colour pallette at 256 colours maximum and then combine the video output from the three processors to give 24bit tru colour - only each processor would only 'see' 8bits per pixel?

      Delete
    4. The processors don't determine the palette colour depth. ULA2's palette is done in such a way that it can support up to 24 bit colour - the 12 bit colour restriction is mainly down to my balancing colour depth with FPGA out pits required to drive the video DACs. If I have 12 spare output pins on the FPGA after I've added all the external hardware I want to add, then I'll increase the colour depth.

      Delete
  16. similarly if you had two processors each with a 12bit colour palette as you claim to have then the second processor would give the full 24bit tru colour depth to the palette - couldn't it also help with interlaced images as you have a fixed amount of video ram on your fpga system - does your system have any audio capabilities - anything similar to the general sound neo?
    i think that has a 12mhz80 with mp3 playback from an sd memory card but i cant get any sense from the russian manufacturers - at least not by email!

    ReplyDelete
    Replies
    1. I don't "claim to have" 12 bit colour - I *do* have 12 bit colour, and I've posted plenty of pictorial evidence of that.

      Adding more processors (soft Z80s) won't help anything. I think you're thinking of the Spec256 emulator which basically ran 8 copies of every game, one per processor, with the graphics/colour modified on each instance to give 256 colours. A very odd way to do it.

      Prism doesn't have interlaced images. It outputs 640x480 VGA, which is plenty of pixels to display a 256x192 or 512x384 res mode without needing to interlace.

      Prism currently only has beeper sound. I'm adding an AY as on the 128K spectrums, plus an SAA as on the Sam. On top of that, I'm adding an audio codec chip which automatically decodes MP3, OGG and WAV from a bit stream sent to it. It also acts as a MIDI player.

      So there'll be plenty of audio options eventually, but at the moment... just BEEP!

      Delete
  17. 48kb of video ram is impossible you say what a pity it would have been a drastic improvement to all these closed systems if you designed something that had a more open architecture - in other words that we could add ram and processors to to boost performance?

    ReplyDelete
    Replies
    1. It's not possible on the FPGA I'm using in Prism's development. There are other FPGAs out there with more on-chip memory cells that could do 48K or more -- or I could redesign the memory interface and use SRAM or SDRAM for video memory shared with the CPU ... but that introduces memory contention again as it's not dual ported RAM (and gets horribly messy to get the bus arbitration correct when the CPU and video clock domains don't have a common base clock).

      Prism is being designed by me FOR me. It's something I've been dreaming up since I was 13 or so, so it's going to do what I want it to, not what other people demand. Prism WILL be open once it's finished (and probably once a couple of friends with better knowledge of FPGA design have taken a good look over it to iron out any wrinkles).

      People will then be free to build their own, add RAM, put it on a bigger FPGA with more on-chip memory, add more SRAM etc etc. I know once I "finish", I'll carry on tinkering anyway...

      Delete
  18. http://www.emulatronia.com/emusdaqui/spec256/download-eng.htm

    using a similar style to this you could get 256x192 256 colours for only 6kb of video ram! wow!

    ReplyDelete
    Replies
    1. Unfortunately that's not true. Spec256 basically has 8 virtual Z80 CPUs with their own RAM. Each runs a modified version of the original game. Therefore it's actually 8 lots 6K of memory for graphics (so 48K). Sorry!

      Delete
  19. http://atmturbo.nedopc.com/

    not sure but i think the atm turbo website is also home of the general sound neo which uses an sd memory card to read mp3 tracks while you run 7mhz zx spectrum software - i tried to find out about the pinouts on the socket that the general sound neo plugs into - yes that's right i was trying to find out if the video output red green and blue signals were included so far no joy
    once again big thanks and happy newyear

    ReplyDelete
    Replies
    1. Happy New Year to you too Roger. Thanks for your continued enthusiasm and comments mate.

      Delete
  20. the thing is we really need 512x384 with at least 64k colours and even then the 50MHz+ processor wouldnt be able to cope and it wouldnt look any better than a pc without a 3dfx chipset to boost the frame rate and add anti aliasing?

    ReplyDelete
    Replies
    1. Do we REALLY need that on a Spectrum type computer? I don't think so. Like you say, the CPU wouldn't be able to shift the amount of data needed - in fact it'd be more memory than the CPU could address without paging a LOT making things even slower.

      Delete
  21. what is a spectrum type computer you mean a single processor? the bbc model b could have two and the micro command interface had its own z80 though that was used solely for audio input i think

    ReplyDelete
    Replies
    1. Prism is Spectrum compatible. Apart from differences in timing in its display rendering and lack of memory contention which means that "rainbow processing" type effects don't work, Prism can run the majority of software for the Spectrum. Ergo "Spectrum type computer".

      Delete
  22. we aren't taking on microsoft and sony then!?

    ReplyDelete
  23. if you have a z80 doing over 50mhz then surely you can intelace two 32kb video ram images giving 256x384?

    ReplyDelete
    Replies
    1. Actually it'd end up 256x256, would probably flicker like all hell and would need you to copy 32K into VRAM every frame which would require a *lot* of paging. A lot of effort for something that wouldn't look that great probably.

      Sure there's software tricks you can do, and that's half the fun of hacking around with a system - but at the moment I'm still working on the hardware, so all I'm concerned with at the moment is what can be implemented in hardware. Feel free to speculate what you could do in software, but it doesn't really interest me (at least not at the moment). Software screen modes get very timing specific - and at the moment, Prisms timings aren't nailed down yet.

      Prism has a 16, 32 or 256 colour hardware 256x384 mode (using attributes) which uses about 12K of video memory, and similarly a 512x384 mode which uses about 24K.


      Delete
  24. ld sp,add+32k-16
    pop af,bc,de,hl
    exx ex af'
    pop af,bc,de,hl
    ld sp,video ram address32k-16
    push hl,de,bc,af
    exx ex af'
    push hl,de,bc,af
    repeat for 16bytes only needs another32k/16

    ReplyDelete
    Replies
    1. Yes, but why when you'd have all the new hardware screen modes to play with?

      Delete
  25. Being clashless and having a ULA+ would've made a *huge* difference during the Spectrum's golden years...

    How do I send you a private msg? Are you on WOS? Thank you.

    ReplyDelete
    Replies
    1. Prism has ULAplus AND it's own ULA2. ULA2 can do 256 colours (and even 4096 colours in one of its modes, though there's restrictions on how you can use them). Only certain modes are clashless (some are "planar" like a lot of the Amiga's modes, others are "chunky" like early PC modes). I am on WoS as JeffB though I hardly post there - I've posed a couple of things about Prism in the Hardware section (see https://www.worldofspectrum.org/forums/discussion/48092/ for example) over the years. I'm also a member of most of the Spectrum related Facebook groups.

      Delete