Welcome, Guest. Please login or register.


Author Topic: Hi res 16 colours? (Read 3701 times)

Offline Saint

  • EP user
  • *
  • Posts: 266
  • Country: gb
Hi res 16 colours?
« on: 2013.October.10. 11:15:21 »
Just had a random thought. The limitation on the number of colours for resolution is the number of bytes the Nick chip can read from memory. Using the external EC0-3 lines this limitation is removed and in fact the Nick should display 16 colours in any screen mode. So you could actually have a 640x200x16 colour screen display using an external input.

At least this is how I believe it works! The information on this functionality of the Nick is a little vague, and I don't think anyone has ever actually tried using it (that I can find).

One to play with one day. :)

Offline lgb

  • EP addict
  • *
  • Posts: 3563
  • Country: hu
  • æðsta yfirmaður
    • http://lgb.hu/
Re: Hi res 16 colours?
« Reply #1 on: 2013.October.10. 12:09:42 »
Quote from: Saint
Just had a random thought. The limitation on the number of colours for resolution is the number of bytes the Nick chip can read from memory. Using the external EC0-3 lines this limitation is removed and in fact the Nick should display 16 colours in any screen mode. So you could actually have a 640x200x16 colour screen display using an external input.

AFAIK that's true.

By the way, we already had a topic to create a "nick 2" with the feature that within a nick slot it can read eg 4 bytes per nick slot instead of 2 (or even more, just think about a high resolution 256 colour image hehe). Of course it's not compatible with any existing software, but sounds a "light" modofication, if you have more bandwidth towards the memory at least (and you can organize the CPU/Nick acess not to collide). In this way even the LPB would be longer, and extra bytes can be used (eg: missing 8 colours for the palette: the ability not to use the BIAS feature, using extra bytes for LD1/LD2 to extended video memory over 64K, even an LD3 pointer to have true per-character distinct colour text mode etc etc). As far as I can imagine, it would be set up on some I/O port, and extra care must be taken to restore the old mode before passing control back to EXOS etc etc. I even had odd ideas that nick 2 can use vertical/horizontal retrace time (and/or the final 3 slots) to read bytes from a custom LD counter and outputing it for a DAC, so some kind of DMA controlled audio playback can be implemented in this way without any need of the CPU itself (though some buffering is needed if only retrace periods can be used to read those bytes). This is a moderate modification on the EP architecture where only nick and CPU can establish memory operations and we already have extra read abilities (more bytes within a slot etc) ...

Offline Saint

  • EP user
  • *
  • Posts: 266
  • Country: gb
Re: Hi res 16 colours?
« Reply #2 on: 2013.October.11. 10:56:55 »
That is really interesting. I'm still curious about making an expansion board for the Enterprise which uses the external video input. It could be the ultimate Enterprise game cartridge. I'd have to also write the ultimate Enterprise game to go with it, though, of course... :lol:

Perhaps a fantastic port of Another World.

Offline lgb

  • EP addict
  • *
  • Posts: 3563
  • Country: hu
  • æðsta yfirmaður
    • http://lgb.hu/
Re: Hi res 16 colours?
« Reply #3 on: 2013.October.11. 11:58:05 »
Quote from: Saint
That is really interesting. I'm still curious about making an expansion board for the Enterprise which uses the external video input. It could be the ultimate Enterprise game cartridge. I'd have to also write the ultimate Enterprise game to go with it, though, of course... :lol:

Perhaps a fantastic port of Another World.

I already had the crazy idea to have some dual port RAM (or precise timing with "normal" RAM, maybe VRAM) so basically a simple counter like stuff can provide data on the EC inputs of Nick, while the RAM can be also mapped into EP's address space somewhere. This would mean that EP can directly access a high resolution 16 colour display _in_paralell_ with the normal Nick LPT/LPB process and ability to mix it (fixbias register bits 5, 6). Of course the image generated through EC inputs is linear and not LPT based stuff, and nothing to do with the "normal" video RAM accessed by Nick directly!