Skip to main content

Indie game storeFree gamesFun gamesHorror games
Game developmentAssetsComics
SalesBundles
Jobs
TagsGame Engines

I've added a beta for the eLeMeNt ZX. It works in LnxSpectrum. Can you let me know if it works on real hardware?

(2 edits)

Hi, many thanks for the eLeMeNt ZX/MB version! 

Unfortunately the LnxSpec emulator does not fully reflect some non-ZXi ports. As written above, on the eLeMeNt hardware the port 255 is ZX-based when read (IN), so there is an extra "shadow" port for Timex, timex 0xFF port is writeable only and readable is at port 0x9FFD.

The current beta should be changed, instead of IN A,(255) use LD BC,0x9FFD and IN A,(C).

Another method, without previous reading IN A,..., is  simply to write to the 0xFF port a timex graphics mode, value "2".

Please check the page 19 of the ProgRef manual

https://docs.google.com/document/d/1NJB_z3zVorTfmEj2JAS3QtAx_zbpkdCAAptHSnOOzkU/...

And the third solution:  the ZXi configuration port will be improved, a setup bit will be added to make the port 255 fully timex readable, but it will take some little time...

I've upload a new beta. It uses e_zxi_010 to enable Timex graphics then uses ports 0x9FFD and 0xFF as you suggested.

Thank you, this version works. :-)

I look forward to and wish you good luck with new programs!

I still wonder why the port 255 reading method is used (originally), I didn't find the reason anywhere in the Timex documentation.

Thanks for letting me know. I'll post a new build once I've retested everything.

According to https://worldofspectrum.org/faq/reference/tmxreference.htm  bit 7 controls which memory bank is used. However it's only used to to support cartridges on the TS2068. Bit 6 disables interrupts.