Mclaneinc Posted January 2, 2020 Share Posted January 2, 2020 https://github.com/atari800/atari800/releases Quote New Features: raw Pokey registers recording by Ivo van Poorten new platform supported: FireBee optional hiding of hidden files/folders in the UI file selector libatari800 (Atari800 as a library) by Rob McMullen R: device (many years old feature) enabled by default Fixes: proper check if SDL joysticks are found (fixes #58) Portrait mode for Android (related to #41) RMW for Pokey Improved BASIC LST file loading (#55) ROM OS path changes handled better (#15) improved "Find ROM images" - now Atari800 reboots if necessary (#15) fixed an old bug which caused freezing in the UI on Falcon New command line options: -pokeyrec and its children -atari_files (#29) -saved_files (#29) -kbdjoy0 -kbdjoy1 -nokbdjoy0 -nokbdjoy1 (#29) Plus many Atari Falcon specific fixes and improvements by Mikro. This should be the most complete and bug-free Atari Falcon release in years, so enjoy! 13 Quote Link to comment Share on other sites More sharing options...
ivop Posted January 2, 2020 Share Posted January 2, 2020 (edited) Many thanks to Petr Stehlík for cutting this release! Have to check out libatari800. Sounds very interesting! Edit: https://github.com/atari800/atari800/blob/master/DOC/README.libatari800 Quote NOTE: sound is currently not supported, but will be added as soon as possible. That's a pity as it could be used as a backend for a tracker. But it does graphics, so perhaps it could be used for RastaConverter or a similar program to evaluate one-frame kernels, if it's fast enough. You'd lose the per-scanline caching, though. Anyway, nice addition! I see ways to extend it, like executing one scanline instead of a full frame, or even a single instruction or single cycle. And sound ofcourse Edited January 2, 2020 by ivop Quote Link to comment Share on other sites More sharing options...
playermissile Posted January 2, 2020 Share Posted January 2, 2020 Just now, ivop said: That's a pity as it could be used as a backend for a tracker. Yep, that's a limitation. I don't understand how it generates samples or how it synchronizes or anything. So, I left it out of libatari800, but it is on my mind and I will figure it out at some point. Just now, ivop said: Anyway, nice addition! I see ways to extend it, like executing one scanline instead of a full frame, or even a single instruction or single cycle. The way atari800 is written, less-than-full-frame emulation requires a separate thread because the only place the atari800 code returns to a user program is after the frame is complete. I have a multithreading implementation that allows stepping by instruction because that's what I needed to make the debugger in Omnivore, but I didn't integrate that code into libatari800 because I thought it was too specific to Omnivore. But I know the core atari800 folks have talked about a multithreaded debugger for a while, so I will talk to them on the mailing list and see if it could be used as a starting point. 2 Quote Link to comment Share on other sites More sharing options...
Stormbringer Posted January 2, 2020 Share Posted January 2, 2020 420? is this version code named Illinois? lol 1 Quote Link to comment Share on other sites More sharing options...
ivop Posted January 2, 2020 Share Posted January 2, 2020 (edited) 420 ? ☁️ Edited January 2, 2020 by ivop 1 2 Quote Link to comment Share on other sites More sharing options...
firebottle Posted January 2, 2020 Share Posted January 2, 2020 I get a box that says: "The procedure entry point GetTickCount64 could not be located in the dynamic link library KERNEL32.dll" Hmm... a win32 program that doesn't run in a 32-bit OS. Quote Link to comment Share on other sites More sharing options...
ivop Posted January 2, 2020 Share Posted January 2, 2020 1 hour ago, playermissile said: Yep, that's a limitation. I don't understand how it generates samples or how it synchronizes or anything. So, I left it out of libatari800, but it is on my mind and I will figure it out at some point. The way atari800 is written, less-than-full-frame emulation requires a separate thread because the only place the atari800 code returns to a user program is after the frame is complete. I have a multithreading implementation that allows stepping by instruction because that's what I needed to make the debugger in Omnivore, but I didn't integrate that code into libatari800 because I thought it was too specific to Omnivore. But I know the core atari800 folks have talked about a multithreaded debugger for a while, so I will talk to them on the mailing list and see if it could be used as a starting point. Thanks for the explanation! Other API calls that could be useful (IMHO) are direct access to A,X,Y,SP,PC,P in between emulator calls and the same for RAM, ROM and hardware registers. That way one could repeatedly run the same code on a clean machine for example, which is needed if used as a tracker backend. And for that, Pokey emulation has to be improved, up to par with Altirra, but that would be something I'm interested in if it can be easily used as a library in another program. Quote Link to comment Share on other sites More sharing options...
phaeron Posted January 2, 2020 Share Posted January 2, 2020 13 minutes ago, firebottle said: I get a box that says: "The procedure entry point GetTickCount64 could not be located in the dynamic link library KERNEL32.dll" Hmm... a win32 program that doesn't run in a 32-bit OS. GetTickCount64() exists on 32-bit OSes, but only on Windows Vista or later. It looks like this might have been an unintentional change due to upgrading one of the libraries used in the build (libwinpthread to be exact). Quote Link to comment Share on other sites More sharing options...
baktra Posted January 2, 2020 Share Posted January 2, 2020 3 hours ago, firebottle said: I get a box that says: "The procedure entry point GetTickCount64 could not be located in the dynamic link library KERNEL32.dll" Hmm... a win32 program that doesn't run in a 32-bit OS. The win32 build is targeting Windows 7, the oldest Windows version that gets regular support from Microsoft. The windows builds of the two latest versions of atari800 are created with the MSYS2 development system that does not support Windows XP any more. I understand that upgrading from Windows XP might not be an option for everyone, so I am working on binary package that should work also with Windows XP. However, I would prefer this package to be considered an extra, not a primary windows binary package. It is because it is generated by outdated (but still working) development tools (TDM GCC, to be precise) able to target older Windows. The once popular TDM GCC targets the long obsolete Windows 98. I can share a bare version now, however there are two issues to address - libpng support (without that the screenshots are PCX) and zlib (to support compressed software images). If you can test the bare version on your old Windows XP, please let me know if it works. 2 Quote Link to comment Share on other sites More sharing options...
+MrFish Posted January 3, 2020 Share Posted January 3, 2020 1 hour ago, baktra said: The win32 build is targeting Windows 7, the oldest Windows version that gets regular support from Microsoft. Not in a couple of weeks... 2 Quote Link to comment Share on other sites More sharing options...
playermissile Posted January 3, 2020 Share Posted January 3, 2020 Just now, ivop said: Other API calls that could be useful (IMHO) are direct access to A,X,Y,SP,PC,P in between emulator calls and the same for RAM, ROM and hardware registers. That way one could repeatedly run the same code on a clean machine There's some support on the observation end of things, like UBYTE *libatari800_get_main_memory_ptr(); and all the CPU state is available through access of a structure, but yes, there does need to be a better interface. The real issue is that this control would only be possible at frame boundaries due to the current design of the atari800 code. There is an example of accessing the CPU state in the source: atari800/src/libatari800/libatari800_test.c 1 Quote Link to comment Share on other sites More sharing options...
Madi Posted January 3, 2020 Share Posted January 3, 2020 6 hours ago, MrFish said: Not in a couple of weeks... Welcome back MrFish. Missed your inputs. Madi 1 Quote Link to comment Share on other sites More sharing options...
baktra Posted January 3, 2020 Share Posted January 3, 2020 11 hours ago, baktra said: The win32 build is targeting Windows 7, the oldest Windows version that gets regular support from Microsoft. The windows builds of the two latest versions of atari800 are created with the MSYS2 development system that does not support Windows XP any more. I understand that upgrading from Windows XP might not be an option for everyone, so I am working on binary package that should work also with Windows XP. However, I would prefer this package to be considered an extra, not a primary windows binary package. It is because it is generated by outdated (but still working) development tools (TDM GCC, to be precise) able to target older Windows. The once popular TDM GCC targets the long obsolete Windows 98. I can share a bare version now, however there are two issues to address - libpng support (without that the screenshots are PCX) and zlib (to support compressed software images). If you can test the bare version on your old Windows XP, please let me know if it works. I have a better version for Windows XP. Now it includes libpng and zlib support. Give it a try and report back. 1 Quote Link to comment Share on other sites More sharing options...
firebottle Posted January 3, 2020 Share Posted January 3, 2020 49 minutes ago, baktra said: I have a better version for Windows XP. Now it includes libpng and zlib support. Give it a try and report back. Thanks. Just wondering.. is there supposed to be a libpng dll file included? Doesn't seem to be in the zipfile. Quote Link to comment Share on other sites More sharing options...
baktra Posted January 3, 2020 Share Posted January 3, 2020 1 hour ago, firebottle said: Thanks. Just wondering.. is there supposed to be a libpng dll file included? Doesn't seem to be in the zipfile. No, the png library is statically linked. Quote Link to comment Share on other sites More sharing options...
mrentropy Posted January 3, 2020 Share Posted January 3, 2020 Works well on Haiku. Just needs a teeny tiny tweak for saving the config file in a Haiku friendly place. If I had the slightest idea of how to use git I'd send that change back. If I had the slightest idea of how to use Haikuporter I'd try and make it a part of the Haiku Depot. Quote Link to comment Share on other sites More sharing options...
+MrFish Posted January 3, 2020 Share Posted January 3, 2020 13 hours ago, Madi said: Welcome back MrFish. Missed your inputs. Thanks... not completely back, but I'll be here off and on. 1 Quote Link to comment Share on other sites More sharing options...
cornchip Posted January 5, 2020 Share Posted January 5, 2020 Noticed on the Github link that 4.2.0 didn't get a Raspberry Pi image. It's really an impressive emulator and plays my favourite Atari Bandits with my RGB display quite well. Thanks for any support going forward. ? 1 Quote Link to comment Share on other sites More sharing options...
hatchcliff Posted January 14, 2020 Share Posted January 14, 2020 The Raspberry Pi packages have been released. There is a separate one for the new Pi 4 because of major hardware changes. The first time you run the Pi 4 version you have to go to <Display Settings>, <Video mode settings> and turn on <Hardware acceleration> - otherwise sound and graphics are jerky in full screen mode. Hopefully this will be set by default in future releases, but it has to be done by hand for the time being. 2 Quote Link to comment Share on other sites More sharing options...
Roydea6 Posted January 15, 2020 Share Posted January 15, 2020 I have read the DOC files but not able to find any keyboard joystick arrow keys only (without CONTROL key) Quote Link to comment Share on other sites More sharing options...
eugenetswong Posted January 16, 2020 Share Posted January 16, 2020 Is this the correct thread to ask for help on installing this on Kubuntu from 2016? Quote Link to comment Share on other sites More sharing options...
zzip Posted January 16, 2020 Share Posted January 16, 2020 2 hours ago, eugenetswong said: Is this the correct thread to ask for help on installing this on Kubuntu from 2016? It is very easy to build from source generally untar it, go into the directory tar created run "./configure" then "make install" If it fails, it is most likely because you need to add some other development packages. The errors would help determine what is missing. Quote Link to comment Share on other sites More sharing options...
eugenetswong Posted January 16, 2020 Share Posted January 16, 2020 54 minutes ago, zzip said: It is very easy to build from source generally untar it, go into the directory tar created run "./configure" then "make install" If it fails, it is most likely because you need to add some other development packages. The errors would help determine what is missing. Hi! Thanks for your response. I appreciate the way that you just told me what to type. It has been so long, that I didn't really even know what questions to ask. I got several warning messages. Here are the only errors. rdevice.c:772:19: error: ‘caddr_t’ undeclared (first use in this function) memcpy((caddr_t)&peer_in.sin_addr, host->h_addr_list[0], host->h_leng ^ rdevice.c:772:19: note: each undeclared identifier is reported only once for each function it appears in Makefile:1185: recipe for target 'rdevice.o' failed make[1]: *** [rdevice.o] Error 1 make[1]: Leaving directory '/home/eugene/.atari/Downloads/atari800-4.2.0/src' Makefile:416: recipe for target 'install-recursive' failed make: *** [install-recursive] Error 1 Are you or anybody able to make any sense of it? Quote Link to comment Share on other sites More sharing options...
zzip Posted January 16, 2020 Share Posted January 16, 2020 45 minutes ago, eugenetswong said: Hi! Thanks for your response. I appreciate the way that you just told me what to type. It has been so long, that I didn't really even know what questions to ask. I got several warning messages. Here are the only errors. rdevice.c:772:19: error: ‘caddr_t’ undeclared (first use in this function) memcpy((caddr_t)&peer_in.sin_addr, host->h_addr_list[0], host->h_leng ^ rdevice.c:772:19: note: each undeclared identifier is reported only once for each function it appears in Makefile:1185: recipe for target 'rdevice.o' failed make[1]: *** [rdevice.o] Error 1 make[1]: Leaving directory '/home/eugene/.atari/Downloads/atari800-4.2.0/src' Makefile:416: recipe for target 'install-recursive' failed make: *** [install-recursive] Error 1 Are you or anybody able to make any sense of it? Is there any more above it? caddr_t might be in some header file that it failed to import. What I've found online is that caddr_t is old legacy code that shouldn't be used anymore. But I frequently build new Atari800 releases without issue, so I still think you might be missing a package Quote Link to comment Share on other sites More sharing options...
eugenetswong Posted January 16, 2020 Share Posted January 16, 2020 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. eugene@eugene-Aspire-5100:~/.atari/Downloads/atari800-4.2.0$ sudo make install Making install in DOC make[1]: Entering directory '/home/eugene/.atari/Downloads/atari800-4.2.0/DOC' make[2]: Entering directory '/home/eugene/.atari/Downloads/atari800-4.2.0/DOC' make[2]: Nothing to be done for 'install-exec-am'. /bin/mkdir -p '/usr/local/share/doc/atari800' /usr/bin/install -c -m 644 README INSTALL USAGE NEWS '/usr/local/share/doc/atari800' make[2]: Leaving directory '/home/eugene/.atari/Downloads/atari800-4.2.0/DOC' make[1]: Leaving directory '/home/eugene/.atari/Downloads/atari800-4.2.0/DOC' Making install in src make[1]: Entering directory '/home/eugene/.atari/Downloads/atari800-4.2.0/src' CC afile.o CC antic.o CC atari.o CC binload.o CC cartridge.o CC cassette.o CC compfile.o CC cfg.o CC cpu.o CC crc32.o CC devices.o CC esc.o CC gtia.o CC img_tape.o CC log.o CC memory.o CC monitor.o CC pbi.o CC pia.o CC pokey.o CC roms/altirra_5200_os.o CC rtime.o CC sio.o CC sysrom.o CC util.o CC pokeysnd.o CC mzpokeysnd.o CC remez.o CC sndsave.o CC sound.o CC sound_oss.o sound_oss.c: In function ‘PLATFORM_SoundSetup’: sound_oss.c:63:3: warning: implicit declaration of function ‘close’ [-Wimplicit-function-declaration] close(dsp_fd); ^ sound_oss.c: In function ‘PLATFORM_SoundWrite’: sound_oss.c:191:14: warning: implicit declaration of function ‘write’ [-Wimplicit-function-declaration] int wsize = write(dsp_fd, buffer, size); ^ CC pokeyrec.o CC atari_basic.o CC roms/altirraos_800.o CC roms/altirraos_xl.o CC roms/altirra_basic.o CC pbi_mio.o CC pbi_bb.o CC pbi_scsi.o CC pbi_xld.o CC voicebox.o CC votrax.o CC votraxsnd.o gcc -c -o ide.o -I. -O2 -Wall -Wmissing-declarations -Wmissing-prototypes -Wstrict-prototypes -Winline -Wredundant-decls -I. -DHAVE_CONFIG_H -Wno-missing-declarations -Wno-missing-prototypes ide.c CC rdevice.o rdevice.c: In function ‘xio_40’: rdevice.c:722:5: warning: implicit declaration of function ‘snprintf’ [-Wimplicit-function-declaration] snprintf(MESSAGE, sizeof(MESSAGE), "R*: XIO 40, %d", aux1); ^ rdevice.c: In function ‘open_connection’: rdevice.c:772:19: error: ‘caddr_t’ undeclared (first use in this function) memcpy((caddr_t)&peer_in.sin_addr, host->h_addr_list[0], host->h_length); ^ rdevice.c:772:19: note: each undeclared identifier is reported only once for each function it appears in Makefile:1185: recipe for target 'rdevice.o' failed make[1]: *** [rdevice.o] Error 1 make[1]: Leaving directory '/home/eugene/.atari/Downloads/atari800-4.2.0/src' Makefile:416: recipe for target 'install-recursive' failed make: *** [install-recursive] Error 1 Thanks again for your time, especially since this system is old, and helping with this can be tedious. config.log Quote Link to comment Share on other sites More sharing options...
Recommended Posts
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.