ZX ULAX emulator

Struggling with Fuse or trying to find an emulator with a specific feature. Ask your questions here.
User avatar
Pegaz
Dynamite Dan
Posts: 1210
Joined: Mon Nov 13, 2017 1:44 pm

Re: ZX ULAX emulator

Post by Pegaz »

Definitely, that unpretentious style is great.
For example, Crystal Kingdom Dizzy looks awesome.
At first glance, it looks like nothing has changed and then you realize how bright and polished the game looks with those carefully done enhancements.
Total Eclipse is another such example and it's a real pleasure to play it.
On the other side, I also liked Commando 128 the most, graphically it's a whole different game now.
I haven't tried all the examples yet, but overall this engine are very promising.
I like these recolored games more than the ones in EmuZWin, because the original Spectrum feeling was kept here, much better.
Well done.
User avatar
Lethargeek
Manic Miner
Posts: 743
Joined: Wed Dec 11, 2019 6:47 am

Re: ZX ULAX emulator

Post by Lethargeek »

oww, commando was a real pita: spaghetti code, different sprite formats, interrupt corrupting sprite data, almost every object has its own output procedure... but i think the end result was worth the effort (even managed to reduce the amount of flicker)
User avatar
Pegaz
Dynamite Dan
Posts: 1210
Joined: Mon Nov 13, 2017 1:44 pm

Re: ZX ULAX emulator

Post by Pegaz »

I'm assuming this emulator currently only exists in the windows version.
Is there a plan for a Linux port?
It would be really nice to play these recoloring games on Raspberry pi for example.

Also this example with enhanced Spectrum BASIC is great:
https://www.youtube.com/watch?v=kiRqRV5Cffc
I didn't notice it bundled with games pack, can it be downloaded as well?
Also, Is it possible to do custom Spectrum Rom, with this engine installed (more color, no color clash etc) or any Basic program must be recolored individually, like every other game?
User avatar
Lethargeek
Manic Miner
Posts: 743
Joined: Wed Dec 11, 2019 6:47 am

Re: ZX ULAX emulator

Post by Lethargeek »

Pegaz wrote: Sat Jan 18, 2020 10:52 am I'm assuming this emulator currently only exists in the windows version.
Is there a plan for a Linux port?
It would be really nice to play these recoloring games on Raspberry pi for example.
not in the near future (at least not by me, maybe some linux emulator author will be interested)
Pegaz wrote: Sat Jan 18, 2020 10:52 am Also this example with enhanced Spectrum BASIC is great:
https://www.youtube.com/watch?v=kiRqRV5Cffc
I didn't notice it bundled with games pack, can it be downloaded as well?
it is inside "ULAX-emuL\test\" folder named "webas3"
Pegaz wrote: Sat Jan 18, 2020 10:52 am Also, Is it possible to do custom Spectrum Rom, with this engine installed (more color, no color clash etc) or any Basic program must be recolored individually, like every other game?
it would be simpler to make one proper dux for the usual ROM and then edit any BASIC programs wherever you need it
custom ROM is possible, but it would add just some syntactic sugar ("extended" BASIC operators instead of pokes used in this example)
User avatar
Lethargeek
Manic Miner
Posts: 743
Joined: Wed Dec 11, 2019 6:47 am

Re: ZX ULAX emulator

Post by Lethargeek »

Pegaz wrote: Thu Jan 16, 2020 2:51 pm I would really like to see Sabre Wulf, Atic Atac and Heartland with colorful main sprites and without color clash.
you can check the preliminary version of Heartland now
(clash between fore/back objects is still there, but not with sprites)

same folder https://cloud.mail.ru/public/3Rzu/33GtNmUof
User avatar
Pegaz
Dynamite Dan
Posts: 1210
Joined: Mon Nov 13, 2017 1:44 pm

Re: ZX ULAX emulator

Post by Pegaz »

This already looks really good, thank you.
A couple of suggestions if possible.
The c64 version is slower but has a very well colored main character sprite in two shades of blue.
Can something like this, be done here as well?
The lightning fired by the wizard has a too strong yellow-red combination, it may be better to be just red (red dashes) on a black background.
Also rotating knives could be dark gray, hats may have a different color depending on the color of the main sprite.
Tunderbolts are great, also all the potions and flying objects look really good.
For now, this version seems very promising...
User avatar
Lethargeek
Manic Miner
Posts: 743
Joined: Wed Dec 11, 2019 6:47 am

Re: ZX ULAX emulator

Post by Lethargeek »

Pegaz wrote: Sun Jan 19, 2020 9:42 am The c64 version is slower but has a very well colored main character sprite in two shades of blue.
any number of shades and colors is possible, but then we need to extend dux code section (this one doesn't look much beyond the last output buffer into the original gfx source) and supply the actual pixel data of course
Pegaz wrote: Sun Jan 19, 2020 9:42 am The lightning fired by the wizard has a too strong yellow-red combination, it may be better to be just red (red dashes) on a black background.
you may test it yourself, look for C8AE code under "magic ray", change it to some C8XX - the last two digits are paper and ink indices in the "reference colors" palette (index 8 is for standard zx attribute paper/ink); also you can change other listed object colors as well, the number after FFFC tag is either GRB555 direct color ink or again a symbolic link to standard reference ink (-7A111X)
Pegaz wrote: Sun Jan 19, 2020 9:42 am Also rotating knives could be dark gray, hats may have a different color depending on the color of the main sprite.
these are alternating white/grey, kinda glinting - i found one shade for all its frames looking to bland
User avatar
Pegaz
Dynamite Dan
Posts: 1210
Joined: Mon Nov 13, 2017 1:44 pm

Re: ZX ULAX emulator

Post by Pegaz »

Lethargeek wrote: Sun Jan 19, 2020 11:54 am
Pegaz wrote: Sun Jan 19, 2020 9:42 am The lightning fired by the wizard has a too strong yellow-red combination, it may be better to be just red (red dashes) on a black background.
you may test it yourself, look for C8AE code under "magic ray", change it to some C8XX - the last two digits are paper and ink indices in the "reference colors" palette (index 8 is for standard zx attribute paper/ink); also you can change other listed object colors as well, the number after FFFC tag is either GRB555 direct color ink or again a symbolic link to standard reference ink (-7A111X)
Looks interesting, thanks for the tips.
I will definitely play around with these settings and try to learn something.
User avatar
Pegaz
Dynamite Dan
Posts: 1210
Joined: Mon Nov 13, 2017 1:44 pm

Re: ZX ULAX emulator

Post by Pegaz »

Ok, this is my first attempt with Heartland.
It was really fun, hope I didn't make things worse. ;)

https://gofile.io/?c=MXoJPq
User avatar
Lethargeek
Manic Miner
Posts: 743
Joined: Wed Dec 11, 2019 6:47 am

Re: ZX ULAX emulator

Post by Lethargeek »

Pegaz wrote: Sun Jan 19, 2020 2:54 pm hope I didn't make things worse. ;)
Whatever suits you, though i still prefer grey page and white/grey daggers; and maybe stardust and magic ray are too dark, haven't you tried same but brighter inks? Also not sure if it was your intention or not, but selecting C087 instead of C007 as generic sprite colors means zx-paper-colored outlines instead of the black ones, which may look worse if the sprite overlaps red or blue tubes on level 2
User avatar
Pegaz
Dynamite Dan
Posts: 1210
Joined: Mon Nov 13, 2017 1:44 pm

Re: ZX ULAX emulator

Post by Pegaz »

Yes, you're right, I need to make some corrections and there's still room for improvements, but I think I'm close to making some decent combination.
Of course, it would be great if you could do a multicolor main sprite, modeled on a c64 color scheme, or whatever you consider appropriate.
I already like the way everything looks and this would be a great bonus for the overall look of the game.
User avatar
Lethargeek
Manic Miner
Posts: 743
Joined: Wed Dec 11, 2019 6:47 am

Re: ZX ULAX emulator

Post by Lethargeek »

Pegaz wrote: Sun Jan 19, 2020 5:43 pm it would be great if you could do a multicolor main sprite, modeled on a c64 color scheme, or whatever you consider appropriate.
I'm a bit busy now, but you can try it yourself - i replaced dux in the cloud. Now it allows full repaint for sprites.

locate the sprite you want to alter with Xpeccy sprite finder or other tool
all the sprite gfx is between #E1BE...#F9CE in the page#0 so corresponding dux addresses are 8021BE...8039CE
(each dux address is for 8 pixels like the corresponding zx byte)

then you can use tags like this:

80XXXX FFFC ink paper ; - this affects the rest of this one sprite, so locate the real 1st byte address of it

and/or repaint some pixels with any colors in GRB555 format:

80XXXX p7 p6 p5 p4 p3 p2 p1 p0

8001 & 8000 are special ink/paper codes affected by the FFFC-tag colors
(or affected by the default colors selected for all the sprites set in the dux code)
initially all the unaltered graphics is naturally made of these two values

you don't need to give adjacent addresses, just continue the pixel stream after p0
also you can use negative numbers to skip any number of pixels like this:

80XXXX p7 -2 p4

to avoid problems, please use common paper color for all the sprites (preferably black or 8000)
User avatar
Pegaz
Dynamite Dan
Posts: 1210
Joined: Mon Nov 13, 2017 1:44 pm

Re: ZX ULAX emulator

Post by Pegaz »

Thanks, I hope I can manage.
This seems a little more complicated now, but I still think it's going to be fun...
User avatar
Pegaz
Dynamite Dan
Posts: 1210
Joined: Mon Nov 13, 2017 1:44 pm

Re: ZX ULAX emulator

Post by Pegaz »

@Lethargeek

I'm trying to do what you wrote but I'm having trouble locating the sprite data.
This Xspeccy is some hard core emulator, I am not even able to install proper tr-dos configuration, also its sprite finder is not very clear how to use it.
When you have time, can you please write small step-by-step instructions with an example (eg. for main sprite in Heartland) to help me understand this recoloring porocess, more easily.
Btw, I really like this Heartland 128k remix, with AY music taken from the Amstrad version.
The original great Odin beeper tune is still present in the main menu and the AY tune is played constantly throughout the game.
I only found trd and scl format on zx-pk, so I made a tzx version, which works fine on standard 128k models.
Here's the link:
https://gofile.io/?c=PrODNH
User avatar
Lethargeek
Manic Miner
Posts: 743
Joined: Wed Dec 11, 2019 6:47 am

Re: ZX ULAX emulator

Post by Lethargeek »

[mention]Pegaz[/mention], you just need to load the snapshot to find the graphics, no need to mess with configurations
(btw do not use the latest Xpeccy build as the author broke snapshots incidentally, use ones from 2019 instead)))

I don't get what could be unclear about the sprite finder, as it has only a very few controls:

- page number for #C000-#FFFF area - as i said earlier it should be 0
- address input field - again, i said before sprite gfx starts at #E1BE, so put it there
- sprite width - play with it until you see the sprite properly (it will be 4)
- column height - leave it at max 32
- inversion and grid checkboxes - to understand better where the sprite ends
( one square is 8x8 pixels (bits) just as the one attribute tile)
( usually even the sprite height is fit to the nearest 8th row)
- ZX screen view - you don't need it for finding sprites

slider (or mouse wheel) moves 8 pixel rows up and down, and you see the address changing
arrows & pgup/pgdn change address by different amounts (if the cursor is in the address field)

if you list down and see sprites becoming distorted - adjust the width
User avatar
Pegaz
Dynamite Dan
Posts: 1210
Joined: Mon Nov 13, 2017 1:44 pm

Re: ZX ULAX emulator

Post by Pegaz »

Ok, thanks for the clarification, I'll try with some older Xspeccy version, too.
User avatar
Pegaz
Dynamite Dan
Posts: 1210
Joined: Mon Nov 13, 2017 1:44 pm

Re: ZX ULAX emulator

Post by Pegaz »

Ok, the extra info was helpful, I was able to recolor main sprite, so far just in two colors, for testing purposes only.
Next, I should practice recoloring individual pixels as soon as I find more time to do so.
I generally like the whole technique, it takes effort and time to test different combinations, but it's still fun.
Heartland is particularly interesting for recoloring, so I will continue to experiment with it and when I'm happy with the result I'll post here.
User avatar
Lethargeek
Manic Miner
Posts: 743
Joined: Wed Dec 11, 2019 6:47 am

Re: ZX ULAX emulator

Post by Lethargeek »

the main thing, first set the one dominant color of the sprite (or a big "strip" portion of the sprite) and then edit just those different pixels only
it's more convenient and much faster, although not always possible
User avatar
Lethargeek
Manic Miner
Posts: 743
Joined: Wed Dec 11, 2019 6:47 am

usability update

Post by Lethargeek »

new emulator version (public beta 8) - same links on the 1st page

since 100% reliable loader detection is impossible (and the tap support was partially broken in the last version) tape autostop is removed and replaced with the autopause system. This means, if the #FE port is read in a strange pattern while tape is through the data block, emulator will be paused for the user to decide if the tape has to be stopped. In short, when it happens, press normal (un)pause key to continue loading or press space to stop tape, disable frame skipping (if it's enabled) and unpause. Look into the emuL-info.txt for more details.

also added quicksaving for emulated disks in different formats (LAlt/RAlt+F8/F9 keys)

game pack update is coming soon...
User avatar
Lethargeek
Manic Miner
Posts: 743
Joined: Wed Dec 11, 2019 6:47 am

bugfix

Post by Lethargeek »

...and of course a nasty bug was found right after the release :evil:

(register R wasn't properly corrected after HALT state)

so grab the new public beta 9 asap
User avatar
Lethargeek
Manic Miner
Posts: 743
Joined: Wed Dec 11, 2019 6:47 am

i/o compatibility and game pack update

Post by Lethargeek »

public beta 10 - better i/o compatibility with old pentagon software abusing partial port address decode + some small fixes

game pack updated as well: added Curro Jimenez, Poseidon, Transformers, Wheelie (and moved Heartland there too)

same links on the 1st page as usual
Eugene C.
Drutt
Posts: 28
Joined: Wed Jul 17, 2019 2:47 pm

Re: ZX ULAX emulator

Post by Eugene C. »

Can you add "Shinobi"? It is unplayable with bullets that blend in with the screen. :mrgreen:
User avatar
Lethargeek
Manic Miner
Posts: 743
Joined: Wed Dec 11, 2019 6:47 am

Re: ZX ULAX emulator

Post by Lethargeek »

will look into it after i'm done with Nightbreed and Forgotten Worlds
User avatar
Lethargeek
Manic Miner
Posts: 743
Joined: Wed Dec 11, 2019 6:47 am

better disk emulation

Post by Lethargeek »

public beta 11 - mostly disk-related improvements

beta-disk emulation is still far from perfect (and never was intended to be)
but now more custom loaders and correct (re)formatting should work

please tell me if you find some disk image not working properly
User avatar
Lethargeek
Manic Miner
Posts: 743
Joined: Wed Dec 11, 2019 6:47 am

game pack update and kinda bugfix

Post by Lethargeek »

public beta 12 - some Pentagon system software didn't work with ROMCS changes introduced in the last version and i wasn't sure it's all the same in every clone so made it a parameter in the ini (it won't hurt in any case anyway)

also added two big multiload games in the game pack: Forgotten Worlds and Nightbreed+ disk mods

note that Forgotten worlds is the new release extensively bugfixed by several people from zx-pk.ru (including me)
and before this day, there was no proper playable critical bug free 128k version! 8-)

Enjoy!
Post Reply