Jump to content
IGNORED

z26 4.x


John Saeger

Recommended Posts

I suppose I should at least say *something.* Right?

 

http://www.whimsey.com/z26/

 

It's up to 4.02 by now. But I guess the main feature of this series is I ported the TIA engine from the original assembly language sources. So as far as I can tell, most things, like "early" HMOVE and the multi-sprite trick seem to be working reasonably OK. The sound is reasonably OK too. So there you go. You can leave a comment if you like.

 

Thanks!

  • Like 10
Link to comment
Share on other sites

Awesome!  I do a lot of my development on RHEL based systems which usually requires you to compile emulators from source.  z26 has always been one of the most headache free in this regard.  The new version just requires adding a  -std=gnu99  to the Makefile for it to compile.  Works great!  Thanks!

Link to comment
Share on other sites

Hi John, thanks for your work.

 

I'am using windows 10 and there is a problem because the interface doesn't allows to navigate to the extra hard disks (my roms directory is located on hard drive E:)

Starting from the user directory I can move through the local disk hierarchy but there's no drive letters available from the root dir to access other disk drives.

 

Suggestions:

- When launching the program will it be possible to display the content of the z26 directory instead of the user directory?

- or Will it be possible to give a rom path as parameter to z26  (i searched ino the cli.c file but found nothing about it).

 

Thanks

  • Like 1
Link to comment
Share on other sites

Sorry for the noobish question.  I built z26 on Mint Cinnamon "bionic."  I also changed js1 fire to spacebar(horrors.)

 

I just ran make, and after setting the resulting binary to executable, it runs fine from a terminal, but isn't recognized as an executable(other than in "Properties") and will not run from nemo. 

 

Any ideas about what is strange about my executable?

 

 

Screenshot from 2019-07-20 20-44-54.jpg

Edited by fluxit
Screenshot duplication
Link to comment
Share on other sites

On 7/18/2019 at 10:06 PM, alex_79 said:

Seems to work fine, except for the "F4" key [...]: it doesn't have any effect on my system.

I stand corrected: F4 has the effect of saving a screenshot! (I noticed this after I found a bunch of z26_xxxx.bmp files in my rom directory...)

Link to comment
Share on other sites

On 7/19/2019 at 4:34 AM, Chris2600 said:

Hi John, thanks for your work.

 

I'am using windows 10 and there is a problem because the interface doesn't allows to navigate to the extra hard disks (my roms directory is located on hard drive E:)

Starting from the user directory I can move through the local disk hierarchy but there's no drive letters available from the root dir to access other disk drives.

 

Suggestions:

- When launching the program will it be possible to display the content of the z26 directory instead of the user directory?

- or Will it be possible to give a rom path as parameter to z26  (i searched ino the cli.c file but found nothing about it).

 

Thanks

These are good suggestions. You are not the first to ask for a rom path, and I agree it would make things easier. For now though, I'm still "pruning" the code to make it as simple as possible. For me this is something I like to do before adding more features.

 

Thanks!

 

Link to comment
Share on other sites

On 7/23/2019 at 2:23 AM, alex_79 said:

I stand corrected: F4 has the effect of saving a screenshot! (I noticed this after I found a bunch of z26_xxxx.bmp files in my rom directory...)

I tried to fix this in 4.03 but I still need to fiddle with it. I'll try to get it fixed in 4.04.

 

Thanks for the report!

 

Link to comment
Share on other sites

On 7/20/2019 at 9:49 PM, fluxit said:

Sorry for the noobish question.  I built z26 on Mint Cinnamon "bionic."  I also changed js1 fire to spacebar(horrors.)

 

I just ran make, and after setting the resulting binary to executable, it runs fine from a terminal, but isn't recognized as an executable(other than in "Properties") and will not run from nemo. 

 

Any ideas about what is strange about my executable?

 

 

Screenshot from 2019-07-20 20-44-54.jpg

I also use linux mint. I'm using 19.1. When I ask for properties and it tells me it's a shared library. So I guess it's weird, but I don't know why. The problem with linux is there are so many distros and so many repositories that trying to get it packaged so that things make sense looks difficult. Even getting into the system at the major distros is a little bit political and I don't personally think it's worth the trouble. I've been thinking about packaging the linux app as an appimage which might help things make more sense. But there's something to be said for installing the latest libraries and compiling from source on linux. So I guess I'm still debating what to do. Anyway, hopefully you eventually begin to enjoy the command line prompt. ;-) Thanks!

Link to comment
Share on other sites

On 7/18/2019 at 11:43 AM, s0c7 said:

Awesome!  I do a lot of my development on RHEL based systems which usually requires you to compile emulators from source.  z26 has always been one of the most headache free in this regard.  The new version just requires adding a  -std=gnu99  to the Makefile for it to compile.  Works great!  Thanks!

Thanks! I'll put that in the makefile as default.

Link to comment
Share on other sites

Thanks for the update. The F4 issue is fixed in 4.04.:thumbsup:

I remapped the console switches in controls.c to match what's used in Stella, as I'm used to that layout.
Here's a screenshot of z26 running the latest WIP of Sokoban posted yesterday by @Andrew Davie (added [3E] to the filename as z26 didn't autodetect the bankswithcing method).

z26.thumb.png.b5891ca2a8cd740940520ae0a23cc226.png

 

  • Like 1
Link to comment
Share on other sites

13 hours ago, John Saeger said:

I also use linux mint. I'm using 19.1. When I ask for properties and it tells me it's a shared library. So I guess it's weird, but I don't know why. The problem with linux is there are so many distros and so many repositories that trying to get it packaged so that things make sense looks difficult. Even getting into the system at the major distros is a little bit political and I don't personally think it's worth the trouble. I've been thinking about packaging the linux app as an appimage which might help things make more sense. But there's something to be said for installing the latest libraries and compiling from source on linux. So I guess I'm still debating what to do. Anyway, hopefully you eventually begin to enjoy the command line prompt. ;-) Thanks!

 

Apparently, it's a bug.  But the issue is controversial(like so many things linux related.)  Adding the linker option "-no-pie" does produce a working z26 binary here that is detected correctly by nemo.  IMO, PIE executables should be able to be identified by reading the ELF header.  Oh well.

 

I'm not really new to linux, I've been using unix-likes since 1993 IIRC.  I just haven't been compiling anything on a regular basis lately, and I switched flavors just a couple of weeks ago as well.

Link to comment
Share on other sites

On 7/24/2019 at 4:03 PM, John Saeger said:

Have you tried 4.03?

 

Yep!  Got 4.04 and Kid Vid audio now works as it should...

 

(Purely for historical purposes of course, I can see how listening to that stuff over & over would drive parents crazy!)

 

  • Haha 1
Link to comment
Share on other sites

On 7/24/2019 at 10:06 PM, John Saeger said:

These are good suggestions. You are not the first to ask for a rom path, and I agree it would make things easier. For now though, I'm still "pruning" the code to make it as simple as possible. For me this is something I like to do before adding more features.

 

Thanks!

 

Thanks for your answer John.


I understand your point of view and we'll be patient about the extended features. ;)


In first intention, merely introducing the first suggestion (displaying the z26 directory content instead of the user directory) would make the life easier imho (and it's only a couple of lines of code in c).

 

All the best!

Cheers

Link to comment
Share on other sites

On 7/25/2019 at 2:43 AM, fluxit said:

 

Apparently, it's a bug.  But the issue is controversial(like so many things linux related.)  Adding the linker option "-no-pie" does produce a working z26 binary here that is detected correctly by nemo.  IMO, PIE executables should be able to be identified by reading the ELF header.  Oh well.

 

I'm not really new to linux, I've been using unix-likes since 1993 IIRC.  I just haven't been compiling anything on a regular basis lately, and I switched flavors just a couple of weeks ago as well.

Sorry. I should be careful what I assume. You tricked me with the "noobish" part. But thanks for the information! Actually I kind of like this compiler switch. I can put the executable on the desktop and double click it to launch it which is nice. The other nice thing is that the the executable is quite a bit smaller which I like. With that switch the size is more in line with what the windows .exe file is. On the raspberry pi, the switch makes no difference so I guess the raspberry pi is already in no-pie mode, and on the raspberry pi I can already put the executable on the desktop and launch it from there. So yeah, the old-style executable has it's advantages and I'll probably use this compiler switch going forward. Thanks!

 

Personally, I'm afraid to change flavors at the moment. I'm using XFCE and I get some really nice options for refresh rate. I don't know if switching flavors will make these choices go away. I get 60 Hz, 50 Hz, and 59.9 Hz, among others. I really like having 50 Hz for PAL games, and 59.9 Hz is really nice for NTSC games. If the game has 262 lines it's a really close match to what real hardware does. I wonder how common these refresh rate options are?

Link to comment
Share on other sites

11 hours ago, Chris2600 said:

Thanks for your answer John.


I understand your point of view and we'll be patient about the extended features. ;)


In first intention, merely introducing the first suggestion (displaying the z26 directory content instead of the user directory) would make the life easier imho (and it's only a couple of lines of code in c).

 

All the best!

Cheers

If you ask me, this is actually a hard question. The problem is there are 3 different platforms and 4 ways of doing things. I used to like using the z26 startup directory because that was the most like the DOS version. Simple and easy to understand. One problem with that is the mac version. A mac "app" is a directory full of stuff and the startup directory is in a fairly inconvenient place. Personally I use linux a lot of the time so the current working directory might be a nice place to start looking for roms on that platform. On linux I like to put the executable somewhere in my current path without having to reconfigure my path variable. Then I can wander around in my command line prompt, run z26 and get a list of the files wherever I am. The other option is specifying a directory path and there's something to be said for that, but it takes more code. It's not super hard or anything, but it's just more code and something else to do before you can run games. Sure I can make it different on every platform. Startup directory on windows, current working directory on linux and home directory on the mac because that's about the only thing that makes sense on the mac for a default place to start looking. Of course now that I can put the executable on the desktop on my current linux system, that's probably where I'll put it and just start it from there.

 

So yeah, the home directory is a compromise. But there's something to be said for having it the same on all platforms, I guess. Me personally, I put a directory called 0-roms in my home directory and that's where I start looking for things on my system. It comes up at the top of the list so it's easy to get going. Not a great solution but that's what I'm doing for now.

 

Thanks again for your suggestion. I'm happy to discuss it and hear anybody's opinion. But it's funny how the simplest thing can be so complicated that I can't really figure out the best thing to do.

 

Link to comment
Share on other sites

11 hours ago, John Saeger said:

If you ask me, this is actually a hard question. The problem is there are 3 different platforms and 4 ways of doing things. I used to like using the z26 startup directory because that was the most like the DOS version. Simple and easy to understand. One problem with that is the mac version. A mac "app" is a directory full of stuff and the startup directory is in a fairly inconvenient place. Personally I use linux a lot of the time so the current working directory might be a nice place to start looking for roms on that platform. On linux I like to put the executable somewhere in my current path without having to reconfigure my path variable. Then I can wander around in my command line prompt, run z26 and get a list of the files wherever I am. The other option is specifying a directory path and there's something to be said for that, but it takes more code. It's not super hard or anything, but it's just more code and something else to do before you can run games. Sure I can make it different on every platform. Startup directory on windows, current working directory on linux and home directory on the mac because that's about the only thing that makes sense on the mac for a default place to start looking. Of course now that I can put the executable on the desktop on my current linux system, that's probably where I'll put it and just start it from there.

 

So yeah, the home directory is a compromise. But there's something to be said for having it the same on all platforms, I guess. Me personally, I put a directory called 0-roms in my home directory and that's where I start looking for things on my system. It comes up at the top of the list so it's easy to get going. Not a great solution but that's what I'm doing for now.

 

Thanks again for your suggestion. I'm happy to discuss it and hear anybody's opinion. But it's funny how the simplest thing can be so complicated that I can't really figure out the best thing to do.

 

Hi John,
Thank you for these explanations.
I understand now why the multiplaform side of this particular question makes the things more complicated.
I really appreciate your work and I can't wait to see the upcoming versions.

 

All the best.
Cheers

Link to comment
Share on other sites

  • 2 weeks later...

Well, 4.05 is out. It doesn't do much for windows or mac, it's mostly for linux. It has what I guess you'd call "desktop integration." Compile it, run it once and it will show up in the menu with an icon. At least that's the theory. I haven't tested it on every possible distro or desktop but the method for putting something in the system menu seems to be the same for most linux platforms. Just write out an icon and a .desktop file. The .desktop file goes into ~/.local/share/applications and the icon file goes in ~/.local/share/icons. Anyway, once you've got z26 in your menu you can put a launcher on your desktop or in a panel, complete with an icon.

 

Feedback is welcome on systems where it doesn't work or where it works. I've tested on LXDE and XFCE.

 

Thanks!

 

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...
  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...