Jump to content
IGNORED

Atari800 4.2.0 released...


Mclaneinc

Recommended Posts

By the way, I am using Atari800 v. 3.1. If you feel that v. 4.2 doesn't have enough benefits to upgrade, then I'm okay with just keeping things the way that they are.

 

At this current time, I am just practising and learning beginner and intermediate stuff, so if I can't use the new features and if the bugs won't affect me, then maybe it's not worth it?

  • Like 1
Link to comment
Share on other sites

46 minutes ago, eugenetswong said:

I have recently updated this to the latest packges for the 2016 version. Should I remove caddr_t?

 

I have attempted to attach config.log. I doubt that you'd need it, but I wanted to make this as easy as possible for you, if you needed it.

I think it's a bug, and I think I have a fix.

 

I just tried to build it on an ubuntu 16.04 system and I got the same error you did.   I took a look at rdevice.c and it looks like caddr_t only gets defined when you build on Windows.

 

if you edit src/rdevice.c and look for this line:

 

typedef char *caddr_t;

 

I moved it to just above these lines which were around line 100, this way it will define it whether building on Windows or not"

 

#ifdef HAVE_WINDOWS_H
#ifdef R_SERIAL
#error The Windows version does not support the serial R: device

 

After I did that and ran "make" it finished building without the same error

Edited by zzip
  • Like 1
Link to comment
Share on other sites

Great! It seems to build with warnings but no errors.

 

I typed "sudo make install", as you can see below, and I also pasted in the installation results. When I tried running the emulator, the window title showed v. 3.1. Even going into F1 shows the same version number. I tried running it from the command line, and got the same version number.

 

I deleted the older 3.1 version, and manually copied the binary to /usr/bin/. It shows the READY "prompt", when run from the command line, but nothing shows up, when I click on the icon that I typically use.

eugene@eugene-Aspire-5100:~/.atari/Downloads/atari800-4.2.0$ make clean; sudo make install




make[2]: Entering directory '/home/eugene/.atari/Downloads/atari800-4.2.0/src'
 /bin/mkdir -p '/usr/local/bin'
  /usr/bin/install -c atari800 '/usr/local/bin'
/bin/bash /home/eugene/.atari/Downloads/atari800-4.2.0/install-sh -d /usr/local/share/man/man1
/usr/bin/install -c -m 644 ./atari800.man /usr/local/share/man/man1/atari800.1
make[2]: Leaving directory '/home/eugene/.atari/Downloads/atari800-4.2.0/src'
make[1]: Leaving directory '/home/eugene/.atari/Downloads/atari800-4.2.0/src'
make[1]: Entering directory '/home/eugene/.atari/Downloads/atari800-4.2.0'
make[2]: Entering directory '/home/eugene/.atari/Downloads/atari800-4.2.0'
make[2]: Nothing to be done for 'install-exec-am'.
 /bin/mkdir -p '/usr/local/share/doc/atari800'
 /usr/bin/install -c -m 644 COPYING README.TXT '/usr/local/share/doc/atari800'
make[2]: Leaving directory '/home/eugene/.atari/Downloads/atari800-4.2.0'
make[1]: Leaving directory '/home/eugene/.atari/Downloads/atari800-4.2.0'

 

  • Like 1
Link to comment
Share on other sites

Here are the error messages from the command line.

Using Atari800 config file: /home/eugene/.atari800.cfg
Created by Atari 800 Emulator, Version 3.1.0

Unrecognized variable: PROTO80_ROM
Unrecognized variable: XEP80_CHARSET
Unrecognized variable: AF80_ROM
Unrecognized variable: AF80_CHARSET
Unrecognized variable: COLOURS_NTSC_SATURATION
Unrecognized variable: COLOURS_NTSC_CONTRAST
Unrecognized variable: COLOURS_NTSC_BRIGHTNESS
Unrecognized variable: COLOURS_NTSC_GAMMA
Unrecognized variable: COLOURS_NTSC_HUE
Unrecognized variable: COLOURS_NTSC_GTIA_DELAY
Unrecognized variable: COLOURS_NTSC_EXTERNAL_PALETTE
Unrecognized variable: COLOURS_NTSC_EXTERNAL_PALETTE_LOADED
Unrecognized variable: COLOURS_NTSC_ADJUST_EXTERNAL_PALETTE
Unrecognized variable: COLOURS_PAL_SATURATION
Unrecognized variable: COLOURS_PAL_CONTRAST
Unrecognized variable: COLOURS_PAL_BRIGHTNESS
Unrecognized variable: COLOURS_PAL_GAMMA
Unrecognized variable: COLOURS_PAL_HUE
Unrecognized variable: COLOURS_PAL_GTIA_DELAY
Unrecognized variable: COLOURS_PAL_EXTERNAL_PALETTE
Unrecognized variable: COLOURS_PAL_EXTERNAL_PALETTE_LOADED
Unrecognized variable: COLOURS_PAL_ADJUST_EXTERNAL_PALETTE
Unrecognized variable: ARTIFACT_NTSC
Unrecognized variable: ARTIFACT_PAL
Unrecognized variable: ARTIFACT_NTSC_MODE
Unrecognized variable: SCREEN_SHOW_SPEED
Unrecognized variable: SCREEN_SHOW_IO_ACTIVITY
Unrecognized variable: SCREEN_SHOW_IO_COUNTER
Unrecognized variable: SCREEN_SHOW_1200XL_LEDS
Unrecognized variable: FILTER_NTSC_SHARPNESS
Unrecognized variable: FILTER_NTSC_RESOLUTION
Unrecognized variable: FILTER_NTSC_ARTIFACTS
Unrecognized variable: FILTER_NTSC_FRINGING
Unrecognized variable: FILTER_NTSC_BLEED
Unrecognized variable: FILTER_NTSC_BURST_PHASE
Unrecognized variable: VIDEOMODE_WINDOW_WIDTH
Unrecognized variable: VIDEOMODE_WINDOW_HEIGHT
Unrecognized variable: VIDEOMODE_FULLSCREEN_WIDTH
Unrecognized variable: VIDEOMODE_FULLSCREEN_HEIGHT
Unrecognized variable: VIDEOMODE_WINDOWED
Unrecognized variable: VIDEOMODE_HORIZONTAL_AREA
Unrecognized variable: VIDEOMODE_VERTICAL_AREA
Unrecognized variable: VIDEOMODE_HORIZONTAL_SHIFT
Unrecognized variable: VIDEOMODE_VERTICAL_SHIFT
Unrecognized variable: VIDEOMODE_STRETCH
Unrecognized variable: VIDEOMODE_FIT
Unrecognized variable: VIDEOMODE_IMAGE_ASPECT
Unrecognized variable: VIDEOMODE_ROTATE90
Unrecognized variable: VIDEOMODE_HOST_ASPECT_RATIO
Unrecognized variable: VIDEOMODE_80_COLUMN
Unrecognized variable: SOUND_FRAG_FRAMES
Unrecognized variable: SCANLINES_PERCENTAGE
Unrecognized variable: INTERPOLATE_SCANLINES
Unrecognized variable: VIDEO_VSYNC
Unrecognized variable: VIDEO_ACCEL
Unrecognized variable: PIXEL_FORMAT
Unrecognized variable: BILINEAR_FILTERING
Unrecognized variable: OPENGL_PBO
Unrecognized variable: VIDEO_BPP
Unrecognized variable: SDL_JOY_0_ENABLED
Unrecognized variable: SDL_JOY_0_LEFT
Unrecognized variable: SDL_JOY_0_RIGHT
Unrecognized variable: SDL_JOY_0_UP
Unrecognized variable: SDL_JOY_0_DOWN
Unrecognized variable: SDL_JOY_0_TRIGGER
Unrecognized variable: SDL_JOY_1_ENABLED
Unrecognized variable: SDL_JOY_1_LEFT
Unrecognized variable: SDL_JOY_1_RIGHT
Unrecognized variable: SDL_JOY_1_UP
Unrecognized variable: SDL_JOY_1_DOWN
Unrecognized variable: SDL_JOY_1_TRIGGER
/dev/dsp: No such file or directory

 

Edited by eugenetswong
  • Like 1
Link to comment
Share on other sites

Have you uninstalled the kubuntu 16 atari800 package? Probably something like apt-get uninstall atari800

 

Then make uninstall. Ignore errors.

 

make distclean

./configure

make

 

and if all went well,

 

sudo make install

 

After that:

 

ls -l $(which atari800)

 

should point to your newly built binary. If not, you might have an old binary somewhere earlier in your $PATH. Delete that untill the previous command lists your new binary. Look at the date :)

 

If everything is fine up to here, use:

 

mv .atari800.cfg .atari800.save

 

to temporarily save your old config and start fresh, if that's needed.

 

Edited by ivop
typo plus clarification
  • Like 1
Link to comment
Share on other sites

I didn't use a package manager to install it, because I didn't know how to use it to install packages that weren't specifically Kubuntu.

 

I've never been able to understand the different things [e.g.: apt-get, etc.]. The package never showed up in the inatallation GUI for Kubuntu, so I think that I copied it by hand.

Link to comment
Share on other sites

27 minutes ago, ivop said:

Have you uninstalled the kubuntu 16 atari800 package? Probably something like apt-get uninstall atari800

 

Then make uninstall. Ignore errors.

 

make distclean

./configure

make

 

and if all went well,

 

sudo make install

 

After that:

 

ls -l $(which atari800)

 

should point to your newly built binary. If not, you might have an old binary somewhere earlier in your $PATH. Delete that untill the previous command lists your new binary. Look at the date :)

 

If everything is fine up to here, use:

 

mv .atari800.cfg .atari800.save

 

to temporarily save your old config and start fresh, if that's needed.

 

So, I tried all that you said, and everything went smoothly with less errors, except the final error, which happened before your suggestion.

/dev/dsp: No such file or directory
Link to comment
Share on other sites

Do you still get all the unrecognized variable errors? If so, have you moved your old $HOME/.atari800.cfg out of the way?

 

Edit: is your system pure ALSA or do you use PulseAudio or anything like that? Perhaps you need to install some -dev packages to pick up the proper audio output module during build time. Check the output of ./configure to see what it builds. And I assume other programs have sound, right? ;)

Edited by ivop
Link to comment
Share on other sites

I meant the standard output of ./configure, not the log. But looking over the log, it seems you have no proper -dev packages installed whatsoever. It's a miracle it builds at all ;)

 

conftest.c:11:22: fatal error: X11/Xlib.h: No such file or directory

 

This is the worst one, but no SDL, none of the audio libs. Nothing.

 

I don't use Ubuntu, and keep in mind you are several years behind with v16, but you need at least packages named like: (check the proper names for your distro. apt-cache search blabla can help):

 

libsdl*-dev

 

This should pull in must X11 dependencies.

 

libpng*-dev

 

for screenshots

 

zlib*-dev

autotools*-dev

dpkg*-dev

 

probably not strictly necessary.

 

Good luck.

I'm off to bed :)

 

Edited by ivop
Link to comment
Share on other sites

Hi!

3 hours ago, eugenetswong said:

I no longer get the unrecognized variable errors. I have moved the $HOME/.atari800.cfg out of the way.

 

I have attached the ./configure output in a post above. What am I looking for?

 

There definitely is sound.

 

How do I figure out how much ALSA or PulseAudio I have?

 

I feel bad for you guys. :D

 

Just tried this in an Ubuntu 1604 VM:

 sudo apt install wget gcc make libsdl1.2-dev libpng12-dev --no-install-recommends

 mkdir atari800

 cd atari800

 wget https://github.com/atari800/atari800/releases/download/ATARI800_4_2_0/atari800-4.2.0-src.tgz

 tar xzf atari800-4.2.0-src.tgz

 cd atari800-4.2.0

 ./configure

 make

 strip src/atari800

 sudo cp src/atari800 /usr/bin/

 

It works at first try ? , no editing  or trickery needed.

 

Have Fun!

 

Link to comment
Share on other sites

1 hour ago, dmsc said:

Hi!

 

Just tried this in an Ubuntu 1604 VM:


 sudo apt install wget gcc make libsdl1.2-dev libpng12-dev --no-install-recommends

 mkdir atari800

 cd atari800

 wget https://github.com/atari800/atari800/releases/download/ATARI800_4_2_0/atari800-4.2.0-src.tgz

 tar xzf atari800-4.2.0-src.tgz

 cd atari800-4.2.0

 ./configure

 make

 strip src/atari800

 sudo cp src/atari800 /usr/bin/

 

It works at first try ? , no editing  or trickery needed.

 

Have Fun!

 

What is the first line for?

Link to comment
Share on other sites

Hi!

7 hours ago, eugenetswong said:

What is the first line for?

The "apt install" line?

 

To install the following:

 - wget : used to download the source code,

 - gcc : the C compiler,

 - make : the "make" tool,

 - libsdl1.2-dev : SDL library development package,

 - libpng12-dev : PNG library development package.

 

The "--no-install-recommends" is to install only the minimal set of dependencies.

 

Have Fun!

 

Link to comment
Share on other sites

3 hours ago, dmsc said:

Hi!

The "apt install" line?

 

To install the following:

 - wget : used to download the source code,

 - gcc : the C compiler,

 - make : the "make" tool,

 - libsdl1.2-dev : SDL library development package,

 - libpng12-dev : PNG library development package.

 

The "--no-install-recommends" is to install only the minimal set of dependencies.

 

Have Fun!

 

I don't know how much you have read this thread, so I just want to point out that I was able to compile without error messages, before your suggestions.

 

Do I really need the dev versions of those packages? I already have versions installed, which might be non-dev versions.

 

Thanks for your help!

 

###

 

By the way, everybody, I checked for the existence of /dev/dsp. I don't have it. Does anybody know why?

 

###

 

I used "locate" to see if Pulse and/or ALSA are installed, and they both seem to be installed.

Link to comment
Share on other sites

7 minutes ago, eugenetswong said:

Apparently, /dev/dsp is outdated.

 

https://unix.stackexchange.com/questions/103746/why-wont-linux-let-me-play-with-dev-dsp

 

Does anybody have hints on why Atari800 is looking for /dev/dsp, or even requiring it?

 

Atari800 supports multiple ways of sending audio to the sound card. The preferred way on GNU/Linux and Windows is through the SDL library, but it can do it also through the outdated OSS (hence /dev/dsp).

However, if the SDL library is not found in your system (the attached config.log proves it was the case at the time), atari800's configuration script tries falling back to OSS looking for /dev/dsp.

 

The same for video output. The preferred way is through SDL, but if not found, there is still possibility to output video directly through X11 API, so if no SDL, the config script tries to fall back to X11.

But that requires to have X11-dev package to be installed.

 

And you indeed need to have -dev packages of the SDL and png libraries installed if you compile from source code.

The package without -dev is for running programs depending on a library.

The package with -dev is for compiling programs depending on a library.

 

 

Edited by baktra
Link to comment
Share on other sites

Hi!

1 hour ago, eugenetswong said:

I don't know how much you have read this thread, so I just want to point out that I was able to compile without error messages, before your suggestions.

 

Do I really need the dev versions of those packages? I already have versions installed, which might be non-dev versions.

 

Sorry, but from my vantage point, it is you that needs to read the thread.

 

As @ivop, @baktra and myself tried to tell you, you need to install those packages to compile Atari800. It is that simple, just follow my commands and you will get a working emulator.

 

Have Fun!

 

Link to comment
Share on other sites

yes /dev/dsp is the very old OSS sound system.   I'm surprised it would be looking for that,  but it might mean you are missing certain dev packages.

 

What the "configure" script does is check your system to see what you have available.  If it can't find the dev packages for pulseaudio or alsa, it might have fallen back to OSS.   ALSA can emulate OSS, but sometimes you have to tell it to do this.

 

FYI "dev" packages are packages that contain the .h header files and static libraries.   They are required for building some things,  but aren't required for running the programs once they are built.   So most distributions only install a minimal set of dev packages.  they are easy to install with apt once you know which one(s) you need.

 

If building is taking too much time, I noticed there is a pre-built linux binary on the atari800 download page:

atari800_4.2.0-1_amd64.deb

 

Since ubuntu is Debian based, you might be able to install this-  it doesn't specify a specific distribution.

 

dpkg -i atari800_4.2.0-1_amd64.deb

 

If it complains about dependancies, you should be able to install them through apt.

 

Edited by zzip
Link to comment
Share on other sites

1 hour ago, eugenetswong said:

Do I really need the dev versions of those packages? I already have versions installed, which might be non-dev versions.

Just to add to my previous message-  if you don't have a dev version of libsdl installed, "configure" will decide to build against X11 or something else.   That might be fine for your needs, but I think the SDL version of atari800 is the best all around.   I looked back at your config.log and it definitely didn't find sdl.

 

You can safely remove dev packages after you build atari800 if you are concerned about space,  but I find most of them don't take up much space

Link to comment
Share on other sites

Oh my goodness! You guys did it!

 

I tried it all again, but I did a ./configure this time around, since I forgot it last time. It works! Thanks.

 

Thank you so much for your patience!!

 

###

 

In case anybody was wondering, I realized that I should try configuring again, since I saw problems in the recent configure.log, which I read, while I was waiting for a response.

Edited by eugenetswong
more info
Link to comment
Share on other sites

On 1/16/2020 at 10:19 AM, zzip said:

I think it's a bug, and I think I have a fix.

 

I just tried to build it on an ubuntu 16.04 system and I got the same error you did.   I took a look at rdevice.c and it looks like caddr_t only gets defined when you build on Windows.

 

if you edit src/rdevice.c and look for this line:

 


typedef char *caddr_t;

 

I moved it to just above these lines which were around line 100, this way it will define it whether building on Windows or not"

 


#ifdef HAVE_WINDOWS_H
#ifdef R_SERIAL
#error The Windows version does not support the serial R: device

 

After I did that and ran "make" it finished building without the same error

Is this an actual bug? Should it be reported to the developers? I figure that they read these forums, so maybe they would see it here in the context of the discussion.

 

If not, then should I find a place at their github site to report it?

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...