ZX ULAX emulator

Struggling with Fuse or trying to find an emulator with a specific feature. Ask your questions here.
Post Reply
User avatar
MonkZy
Manic Miner
Posts: 278
Joined: Thu Feb 08, 2018 1:01 pm

Re: ZX ULAX emulator

Post by MonkZy »

You are right, of course :D Keeps it simple for typing the command :oops:
User avatar
MonkZy
Manic Miner
Posts: 278
Joined: Thu Feb 08, 2018 1:01 pm

Re: ZX ULAX emulator

Post by MonkZy »

I have solved the Linux sound issue. I had to install some windows audio drivers (xact).

Code: Select all

winetricks xact
Emulator works 100% under wine. Fantastic!
User avatar
Lethargeek
Manic Miner
Posts: 734
Joined: Wed Dec 11, 2019 6:47 am

Re: ZX ULAX emulator

Post by Lethargeek »

[mention]Sokurah[/mention] - i updated Dingo to 1.3 and improved it a bit (thrown fruits are now properly repainted with 2 colors)

Also found a bug with the bonus fruit info we talked about - when getting a new life, it becomes corrupted, as the top symbol row and 2 top attribute rows are overwritten. I fixed it with temporary memory protection trick, but the fix only works in the FULL color mode of course.
User avatar
MonkZy
Manic Miner
Posts: 278
Joined: Thu Feb 08, 2018 1:01 pm

Re: ZX ULAX emulator

Post by MonkZy »

I have written a short shell script to make loading games simpler under Linux/WINE. Simply use the file selection GUI to navigate to the snapshot of the game you wish to launch and double-click it.

Code: Select all

#! /bin/sh

filename=$(zenity --file-selection --title "Select a Snapshot" --file-filter='*.sna *.scl')
dux="${filename%sna}dux"
wine emuL.exe $filename $dux
The .dux file must have the same prefix as the .sna/.scl snapshot files for this script to work. This will involve renaming/duplicating a few of the files in the example games folder.

Today, I am mostly playing Wheelie with no colour clash.

[edit] This script must be launched from the emulator folder!
User avatar
Lethargeek
Manic Miner
Posts: 734
Joined: Wed Dec 11, 2019 6:47 am

Re: ZX ULAX emulator

Post by Lethargeek »

[mention]MonkZy[/mention], scl is not a snapshot but a disk image (a cut down version of trd) and fdi format is supported as well
and besides a sna there might be a z80 snapshot or even a tap image (not in the current game pack but possible)
also with (or instead of) dux there might be a xna (VRAM snapshot) alongside its sna (a pair of quicksave files renamed)

so i think the complete code script should look like this

Code: Select all

#! /bin/sh

filename=$(zenity --file-selection --title "Select a Snapshot" --file-filter='*.sna *.z80 *.tap *.scl *.trd *.fdi')
dux="${filename%sna}dux"
xna="${filename%sna}xna"
wine emuL.exe $filename $dux $xna
(not sure if it still works if either dux or xna is absent) :)
User avatar
MonkZy
Manic Miner
Posts: 278
Joined: Thu Feb 08, 2018 1:01 pm

Re: ZX ULAX emulator

Post by MonkZy »

[mention]Lethargeek[/mention] The script works just fine! I guess your emulator silently ignores the missing file.

I am currently trying to understand how the .dux file works, being able to use .tap files is useful.
User avatar
Lethargeek
Manic Miner
Posts: 734
Joined: Wed Dec 11, 2019 6:47 am

game pack update

Post by Lethargeek »

Only one game now, but with diverse gameplay experience - Sigma-7. Very complicated code with lots of attribute effects. I was even forced to poke one byte in the original Z80 code to get the perfect result, otherwise some wrong colors persisted under the sprites in the phase 3 (as background attrs output was skipped in the original code if there was already a sprite attr). Curiously, it had almost no effect in the original spectrum video, just some occasional slight flicker. Maybe it's possible to get the same result without the poke, but i don't feel like digging into this code further. :)
User avatar
Lethargeek
Manic Miner
Posts: 734
Joined: Wed Dec 11, 2019 6:47 am

yet another game looks as intended

Post by Lethargeek »

Championship 3D Snooker was a horrible mess of attributes most of the time (except the very endgame when there were only a few balls left). Now i was able to fix both 2D and 3D scenes properly, also gave the balls more traditional colors. Check it out.

Btw what snooker game (and any cue sport game in general) is considered as the best one ever made for Spectrum?
This one, while being the most interesting case for adaptation, is simplified with only 6 red balls played on smaller table.
User avatar
Lethargeek
Manic Miner
Posts: 734
Joined: Wed Dec 11, 2019 6:47 am

Re: ZX ULAX emulator

Post by Lethargeek »

Oh, and i forgot to say it's best to enable the FULL mode (with PgDn key) right at the title screen and leave it (no mid-game pressing PgUp/PgDn). Well, unless you want to see some weird artifacts as the ball sprites in the 2D scene are xored over each other in different modes. :)
theshrivelledmidget
Drutt
Posts: 2
Joined: Sat Jul 04, 2020 12:08 pm

Re: ZX ULAX emulator

Post by theshrivelledmidget »

Thanks for the emulator, the games iv'e tried look fantastic. :D
User avatar
Lethargeek
Manic Miner
Posts: 734
Joined: Wed Dec 11, 2019 6:47 am

double update

Post by Lethargeek »

public beta 19 fixes and improves some things overlooked in the earlier versions. The most important change is dux loader now using the active address mapper to place some recolored pixel data into the "screen memory" area (instead of sending everything straight to the "pixel memory" as before). It does matter for some 128k games using only one screen buffer as a screen, treating the other one just as an ordinary memory page to store code/variables/buffers/gfx data. One such example is 128k extended version of Renegade. As i found, it has some glitchy sprites (masks mostly) - hard to see on the standard ZX screen, but immediately obvious if recolored; and some of these sprites were kept in the beginning of page7. While it was possible to put the pixels directly in the screen area for the old version, with the new one it's much more convenient, and was done for it. So download both the new emulator and the game pack for the fix to work properly.
User avatar
Lethargeek
Manic Miner
Posts: 734
Joined: Wed Dec 11, 2019 6:47 am

game pack update

Post by Lethargeek »

Never was a big fan of Batty - found it too hard, too fast and too unfair with bonuses for my liking (the best of all ZX Breakout clones is Impact IMO). But some people think Batty is a great game and requested it repeatedly. So here it is, looking even better than ever (the one undeniable thing about Batty is it looking better than any other ZX Breakout clone).
User avatar
MonkZy
Manic Miner
Posts: 278
Joined: Thu Feb 08, 2018 1:01 pm

Re: ZX ULAX emulator

Post by MonkZy »

Batty looks great! Just enough colour to lift the sprites/score off of the background.
User avatar
Lethargeek
Manic Miner
Posts: 734
Joined: Wed Dec 11, 2019 6:47 am

Re: ZX ULAX emulator

Post by Lethargeek »

MonkZy wrote: Sat Aug 01, 2020 3:36 am Batty looks great! Just enough colour to lift the sprites/score off of the background.
TBH i felt a bit lazy (again) and just assigned same colors for almost everything :)
while metallic bluish seemed right for the most objects, maybe bonuses might look better different
so if someone feels like adding more paint, it is easy, just append some magic numbers to the dux file:

Code: Select all

80xxxx FFFC yyyy zzzz
where xxxx = hex address of the 1st byte of any sprite line (not necessarily the top one)
yyyy = ink (lighter color in this game) and zzzz = paper (darker color) in GRB555 hex format
(will be active starting from this line till the end of the sprite or till the next color assignment)
User avatar
Lethargeek
Manic Miner
Posts: 734
Joined: Wed Dec 11, 2019 6:47 am

game pack update

Post by Lethargeek »

Two more games today.

Super Sleuth sprites were colored so i just kept the original colors (removing the clash of course).
Didn't test it thoroughly but looks like everything works.

Cosa Nostra has no sprite color info in the game and i was feeling lazy, so all were made white with black outlines for now, giving a cleaner picture. Maybe i will add more colors later, as i did with the Blade Warrior.

Same links on the 1st page as always.
User avatar
Lethargeek
Manic Miner
Posts: 734
Joined: Wed Dec 11, 2019 6:47 am

Silence, I said!

Post by Lethargeek »

Public beta 20 is here!

Some people complained about occasional annoying sound crackling over the silence. It appears to be winaudio problem, and it can actually happen anytime and not just with this emulator (but harder to notice if a loud sound is playing). AIU sometimes windows doesn't send the next queued sound portion in time, and then for a moment silence is played. But while in windows silence is always zero level volume, with beeper it could be either zero or max level, so some crackling/popping is heard on the transition.

In some cases it might be fixed with these methods:
https://www.howtogeek.com/285429/how-to ... indows-pc/
...but if these suggestions won't help or fixed drivers are impossible to obtain, now here is a kludge in the emulator - on silent frames it slowly slides the volume level to zero, thus avoiding the loudest crackling. Look for the "silencer" parameter in the ini. I won't recommend to enable it if your sound is ok, as it costs one frame extra sound lag.
User avatar
Lethargeek
Manic Miner
Posts: 734
Joined: Wed Dec 11, 2019 6:47 am

game pack update

Post by Lethargeek »

two new games - Hunt Buck 2 Nuclear Defence from YRGB'2019 and the Prayer of the Warrior ('twas a pain to preserve these lighting effects!)
User avatar
Lethargeek
Manic Miner
Posts: 734
Joined: Wed Dec 11, 2019 6:47 am

snaps'n'taps

Post by Lethargeek »

public beta 21
swapped F5 & LAlt+F5 hotkey actions (for more convenient browsing of tape gigascreen galleries) ;)
improved z80 snapshot support (except unemulated hardware of course) and loading snapshots overall
+ some code refactoring here and there in preparation for rzx playback implementation (coming soon)
User avatar
Lethargeek
Manic Miner
Posts: 734
Joined: Wed Dec 11, 2019 6:47 am

sit'n'watch

Post by Lethargeek »

public beta 22 - finally some rzx support! :D
Only the playback yet and simplified (may fail in some rare circumstances) but all the matches for the games in the ULAX game pack worked. Given rzx file is treated like a snapshot, so run it with the same End hotkey; to stop the replay press Home once (2nd time will reset the system as before). Note some recordings will need specific ROM image (usually 48k) to work properly, so give it as another starting parameter or dra&drop onto the emulator window as well. Also some are made of different game versions and thus incompatible with the dux files in the game pack.

Also in this release - bugfix for loadz80 and some rare functions hotkeys changed (refer to emuL-info.txt)

Please report to me any rzx (even not the ones in the game pack) you'll find not working (but first try to run it with a different ROM)
User avatar
Lethargeek
Manic Miner
Posts: 734
Joined: Wed Dec 11, 2019 6:47 am

Re: ZX ULAX emulator

Post by Lethargeek »

if someone got "22 (117)" version i put there by mistake, please redownload "22 (118)" (small bugfix regarding running snaps after rzx)
User avatar
Lethargeek
Manic Miner
Posts: 734
Joined: Wed Dec 11, 2019 6:47 am

Re: sit'n'watch

Post by Lethargeek »

Lethargeek wrote: Thu Oct 01, 2020 7:33 pm Also some are made of different game versions and thus incompatible with the dux files in the game pack.
Now i made alternative dux drivers for all of these, look for ULAX-rzx-dux.zip in the cloud folder.
User avatar
Lethargeek
Manic Miner
Posts: 734
Joined: Wed Dec 11, 2019 6:47 am

double update

Post by Lethargeek »

public beta 23 - some UI bugfixing related to rzx
2 new games - Antiriad and 3 parts of la Espada Sagrada
Gvan
Drutt
Posts: 10
Joined: Mon May 18, 2020 2:43 am

Re: ZX ULAX emulator

Post by Gvan »

Your work is wonderful.
Pheraps it's time to think of a hardware implementation ( something along the lines of ZH-HD )
User avatar
Lethargeek
Manic Miner
Posts: 734
Joined: Wed Dec 11, 2019 6:47 am

Re: ZX ULAX emulator

Post by Lethargeek »

Gvan wrote: Mon Oct 26, 2020 2:35 pm Pheraps it's time to think of a hardware implementation ( something along the lines of ZH-HD )
The hardware is already work in progress. Very slow progress unfortunately. People here have many problems and little time. We did only very limited proof of concept FPGA testing so far with the board not very suited for the task:

https://cloud.mail.ru/public/9LEs/DwdXr5a9Q
https://cloud.mail.ru/public/FhYz/DoLKkqnCK
https://cloud.mail.ru/public/5qDB/As9YP4yBv
https://cloud.mail.ru/public/D5hy/997cZVH7Z

I hope the next year we'll get first dedicated devboards. As a software man, i'm unable to speed it up.
User avatar
Lethargeek
Manic Miner
Posts: 734
Joined: Wed Dec 11, 2019 6:47 am

game pack update

Post by Lethargeek »

two more games - Nemesis the Warlock and Robobro Episode 1

also put unfinished (but playable) games in one file ULAX-wip1.zip with short descriptions
Post Reply