ZX ULAX emulator
Re: ZX ULAX emulator
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.
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.
- Lethargeek
- Manic Miner
- Posts: 760
- Joined: Wed Dec 11, 2019 6:47 am
Re: ZX ULAX emulator
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)
Re: ZX ULAX emulator
Thanks, I hope I can manage.
This seems a little more complicated now, but I still think it's going to be fun...
This seems a little more complicated now, but I still think it's going to be fun...
Re: ZX ULAX emulator
@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
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
- Lethargeek
- Manic Miner
- Posts: 760
- Joined: Wed Dec 11, 2019 6:47 am
Re: ZX ULAX emulator
[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
(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
Re: ZX ULAX emulator
Ok, thanks for the clarification, I'll try with some older Xspeccy version, too.
Re: ZX ULAX emulator
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.
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.
- Lethargeek
- Manic Miner
- Posts: 760
- Joined: Wed Dec 11, 2019 6:47 am
Re: ZX ULAX emulator
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
it's more convenient and much faster, although not always possible
- Lethargeek
- Manic Miner
- Posts: 760
- Joined: Wed Dec 11, 2019 6:47 am
usability update
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...
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...
- Lethargeek
- Manic Miner
- Posts: 760
- Joined: Wed Dec 11, 2019 6:47 am
bugfix
...and of course a nasty bug was found right after the release
(register R wasn't properly corrected after HALT state)
so grab the new public beta 9 asap
(register R wasn't properly corrected after HALT state)
so grab the new public beta 9 asap
- Lethargeek
- Manic Miner
- Posts: 760
- Joined: Wed Dec 11, 2019 6:47 am
i/o compatibility and game pack update
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
game pack updated as well: added Curro Jimenez, Poseidon, Transformers, Wheelie (and moved Heartland there too)
same links on the 1st page as usual
Re: ZX ULAX emulator
Can you add "Shinobi"? It is unplayable with bullets that blend in with the screen.
- Lethargeek
- Manic Miner
- Posts: 760
- Joined: Wed Dec 11, 2019 6:47 am
Re: ZX ULAX emulator
will look into it after i'm done with Nightbreed and Forgotten Worlds
- Lethargeek
- Manic Miner
- Posts: 760
- Joined: Wed Dec 11, 2019 6:47 am
better disk emulation
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
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
- Lethargeek
- Manic Miner
- Posts: 760
- Joined: Wed Dec 11, 2019 6:47 am
game pack update and kinda bugfix
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!
Enjoy!
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!
Enjoy!
- Lethargeek
- Manic Miner
- Posts: 760
- Joined: Wed Dec 11, 2019 6:47 am
port logging & sna sound
public beta 13
Some more beta-disk emulation improvements (mostly making a difference with the demos only, but why not)
Loading a sna won't reset AY by default now - useful for quickloads in those games not updating all AY registers for a long time (this led to missing in-game music after a quickload in the Heartland mod for example). You can change this behaviour in the ini. Also the system reset (Home key) will reset AY as before if you need it just sometime.
Added masked I/O logging - to use it, make a dux file with one string like: "7FFFFF imask0 imask1 omask0 omask1"
first 2 masks are for input, next 2 masks for output; for mask0, ZERO bits that need to be 0; for mask1, SET bits that need to be 1
for example: "7FFFFF FFFE BFFE FFFE 00FE" - this will log all BFFE reads and all writes to ??FE
(the default mask values are "FFFF 0 FFFF 0", so no port can satisfy these conditions)
start the emulator with the emuL.bat file (or redirect output to a file or give it a name of the log file as a parameter)
load the dux file with the PgDn key as usual to parse it, then press Insert to turn logging on and off whenever you need it
output format is: "i|o ADDRESS <|> PORT : RAMpage ROMpage : BYTE", very similar to the older memory logging
however, unlike memory, this will register every suitable port access each time, and the log file may grow very fast - so beware!
Some more beta-disk emulation improvements (mostly making a difference with the demos only, but why not)
Loading a sna won't reset AY by default now - useful for quickloads in those games not updating all AY registers for a long time (this led to missing in-game music after a quickload in the Heartland mod for example). You can change this behaviour in the ini. Also the system reset (Home key) will reset AY as before if you need it just sometime.
Added masked I/O logging - to use it, make a dux file with one string like: "7FFFFF imask0 imask1 omask0 omask1"
first 2 masks are for input, next 2 masks for output; for mask0, ZERO bits that need to be 0; for mask1, SET bits that need to be 1
for example: "7FFFFF FFFE BFFE FFFE 00FE" - this will log all BFFE reads and all writes to ??FE
(the default mask values are "FFFF 0 FFFF 0", so no port can satisfy these conditions)
start the emulator with the emuL.bat file (or redirect output to a file or give it a name of the log file as a parameter)
load the dux file with the PgDn key as usual to parse it, then press Insert to turn logging on and off whenever you need it
output format is: "i|o ADDRESS <|> PORT : RAMpage ROMpage : BYTE", very similar to the older memory logging
however, unlike memory, this will register every suitable port access each time, and the log file may grow very fast - so beware!
- Lethargeek
- Manic Miner
- Posts: 760
- Joined: Wed Dec 11, 2019 6:47 am
game pack update
Thanatos was always one of my favourite games. In addition to great graphics and game play very good job was done on keeping the color clash to a minimum (except when approaching the city walls for a brief time). Still i felt it could benefit from being a little "tidier" and with some colors added and/or replaced (buildings being green always looked a little weird to me). So here's the result. Also note the snapshot here is modded - the original buffer-to-screen transfer was replaced with faster code writing "behind the beam" to improve the video quality even more. And with the great recent MAC's picture replacing the original title screen to boot!
Also two of the older dux files for Academy+ (later levels palettes) and Dizzy-7 remake (one overlooked item) were fixed.
Also two of the older dux files for Academy+ (later levels palettes) and Dizzy-7 remake (one overlooked item) were fixed.
Re: ZX ULAX emulator
I hope for GnG and Shinobi.
- Lethargeek
- Manic Miner
- Posts: 760
- Joined: Wed Dec 11, 2019 6:47 am
Re: ZX ULAX emulator
The 1st level of Shinobi was easy, just uploaded it in the same cloud folder so you can check it. But the game is a multiload and positions of the same sprite routines don't match between the levels. So it will need either a separate static dux driver for the each level manually loaded by the player at the right time (very inconvenient) or a tricky universal dynamic driver as with Nightbreed (and that's not fast to match several code branches and make several dynamic pages for them; and won't work for the bosses made of background tiles, these need to be recolored pixel-by-pixel). And in either case i need snapshots for the each level first.
As for GnG, i'm yet to decide which of the available versions is less buggy to choose it.
As for GnG, i'm yet to decide which of the available versions is less buggy to choose it.
- Lethargeek
- Manic Miner
- Posts: 760
- Joined: Wed Dec 11, 2019 6:47 am
game pack update!
yet two more games - Interchange and Elven Warrior (and now more than 70 in total)
- Lethargeek
- Manic Miner
- Posts: 760
- Joined: Wed Dec 11, 2019 6:47 am
double update
public beta 14
Added floating bus aka "port #FF". Note it's absent on the real Pentagon but why not if it allows to run more games. It is off by default in the ini and has nothing to do with the ULAX itself (it reads original Spectrum attrs).
More importantly, build options were tweaked and optimized, as a result there is less CPU load overall and especially in adapturbo, frame skipping mode is faster, and there should be less sound crackling with shorter lag. But just in case something goes wrong, keep the older version for a while.
Also small update for the game pack - very old blade warrior colorization was improved, now with proper separate colors for the each sprite.
Added floating bus aka "port #FF". Note it's absent on the real Pentagon but why not if it allows to run more games. It is off by default in the ini and has nothing to do with the ULAX itself (it reads original Spectrum attrs).
More importantly, build options were tweaked and optimized, as a result there is less CPU load overall and especially in adapturbo, frame skipping mode is faster, and there should be less sound crackling with shorter lag. But just in case something goes wrong, keep the older version for a while.
Also small update for the game pack - very old blade warrior colorization was improved, now with proper separate colors for the each sprite.
- Lethargeek
- Manic Miner
- Posts: 760
- Joined: Wed Dec 11, 2019 6:47 am
game pack update
3 new games - black&white, dingo and gimmick! yumetaro odyssey
(for the last one the colorization also fixes some gfx glitches of the original)
(for the last one the colorization also fixes some gfx glitches of the original)
- Lethargeek
- Manic Miner
- Posts: 760
- Joined: Wed Dec 11, 2019 6:47 am
game pack update
two new games for the 1st of may - Outcast & Intensity
(as suspected, the 2nd one turned out to be a lot more fun when you can really tell what's going on on the screen)
(as suspected, the 2nd one turned out to be a lot more fun when you can really tell what's going on on the screen)
Re: ZX ULAX emulator
I'm struggling to download [mention]Lethargeek[/mention]:
I click on the download links (avoiding the adverts for very attractive young Russian ladies who are apparently looking for a husband in London), and it takes me to a Dropbox style site. I click on the Download link (Dark blue Button) but nothing seems to happen.
Could someone who has downloaded the latest versions share them via Google Drive or Dropbox?
Many thanks.
I click on the download links (avoiding the adverts for very attractive young Russian ladies who are apparently looking for a husband in London), and it takes me to a Dropbox style site. I click on the Download link (Dark blue Button) but nothing seems to happen.
Could someone who has downloaded the latest versions share them via Google Drive or Dropbox?
Many thanks.
- Lethargeek
- Manic Miner
- Posts: 760
- Joined: Wed Dec 11, 2019 6:47 am
Re: ZX ULAX emulator
[mention]PeterJ[/mention], you did everything right, maybe something is blocking it on your pc
alternatively try getting it from the folder:
https://cloud.mail.ru/public/3Rzu/33GtNmUof
(right-click on the file, then select download)
also there's a google drive mirror:
https://drive.google.com/drive/folders/ ... 0pPUWFNZrm
however it's maintained by another person and not updated yet
but it will be there eventually, check it sometime
alternatively try getting it from the folder:
https://cloud.mail.ru/public/3Rzu/33GtNmUof
(right-click on the file, then select download)
also there's a google drive mirror:
https://drive.google.com/drive/folders/ ... 0pPUWFNZrm
however it's maintained by another person and not updated yet
but it will be there eventually, check it sometime