FAQ  •  Register  •  Login

ZXodus Engine support

<<

cheveron

User avatar

Posts: 62

Joined: Sat Dec 11, 2010 11:22 pm

Post Fri Sep 09, 2011 10:23 am

ZXodus Engine support

Hola!

Various people have mentioned that they would like to see support for my ZXodus Engine in the compiler. However, I suspect they haven't actually mentioned it here.

ZXodus is a rainbow processor and tile engine that gives you a 9x9 grid of tiles (144x144 pixels with 8x1 attributes) on the original 48K Spectrum. It does work on other models but the timing may need tweaking.

The engine is available here (with source):
http://www.worldofspectrum.org/infoseek ... id=0026639

A simple PNG to tile converter (by na_th_an) is available here:
http://www.mojontwins.com/warehouse/zxodus-conv-0.1.rar

Cheers!

-chev
<<

boriel

Site Admin

Posts: 1239

Joined: Wed Nov 01, 2006 6:18 pm

Location: Santa Cruz de Tenerife, Spain

Post Sat Nov 26, 2011 1:19 pm

Re: ZXodus Engine support

Oh my...:!:
I've just read this post TODAY :shock:
I would like to know a bit more about this engine.
<<

cheveron

User avatar

Posts: 62

Joined: Sat Dec 11, 2010 11:22 pm

Post Wed Dec 07, 2011 6:24 pm

Re: ZXodus Engine support

boriel wrote:Oh my...:!:
I've just read this post TODAY :shock:
I would like to know a bit more about this engine.


I'm not sure what more detail I can give, although you can try out the software here:

http://www.worldofspectrum.org/infoseek ... id=0026639

It's a software driven 144x144 window of rainbow processing (8x1 attributes) powered by LD / PUSH. The routine includes a tile engine so you don't have to worry about updating the LD / PUSHes yourself. It supports up to 256 tiles. Each tile is 16x16 pixels (and takes up 64 bytes). Tiles are drawn continuously, based on an 81 byte tile map. You update the map to update the tiles. The original version of the code draws only 3 tiles per interrupt (it's all IM2 driven). The next version draws 9 tiles per interrupt.

In theory the window can be relocated anywhere on the screen but moving it lower down would reduce the available t-states to do anything else in.

There's a good explanation of what's going on here:

http://simonowen.com/blog/2011/09/29/zxodus-engine/

Cheers!

-chev
<<

slenkar

Posts: 271

Joined: Sun Feb 13, 2011 3:33 am

Location: Kentucky US, used to be Birmingham UK

Post Thu Dec 08, 2011 3:06 pm

Re: ZXodus Engine support

<<

cheveron

User avatar

Posts: 62

Joined: Sat Dec 11, 2010 11:22 pm

Post Thu Dec 15, 2011 2:49 pm

Re: ZXodus Engine support

slenkar wrote:this provides some explanation too
ftp://ftp.worldofspectrum.org/pub/sincl ... arTip1.txt


Actually I think that's a bit misleading. The 'rainbow processor' only does: "a different colour on each pixel line, in a band twenty characters wide in the centre of the screen"

ZXodus does: "2 different colors for each bitmap byte (8x1) on each pixel line, in a band 18 characters wide, by 18 characters deep, relocatable (by changing the timings) but generally located in a window (with a one character border) on the top left of the screen"

Most rainbow processors use the POP / PUSH method for rapidly updating the attribute, but that only gets you 16 characters wide of individual colour. ZXodus uses LD / PUSH to get the extra two columns. Other modes use the full depth of the screen but because the CPU is held the whole time the attributes are being updated, by default ZXodus limits you to a 144x144 pixel window.

However, besides the extra colours, what really sets ZXodus apart is the simple tile mechanism used for updating the screen. The engine does handles all the scene updates for you. All you have to do is set which tiles (from a maximum of 256) you want to display in an 81 byte buffer.
<<

boriel

Site Admin

Posts: 1239

Joined: Wed Nov 01, 2006 6:18 pm

Location: Santa Cruz de Tenerife, Spain

Post Sun Apr 01, 2012 7:40 am

Re: ZXodus Engine support

Probably you already know, but someone has already ported BIFROST (a Zxodus derivated engine) to ZX BASIC.
It's already at WOS: http://www.worldofspectrum.org/infoseek ... id=0027405 8)

Return to Wishlist

Who is online

Users browsing this forum: No registered users and 1 guest

cron
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group.
Designed by Vjacheslav Trushkin for Free Forums/DivisionCore.

phpBB SEO