Jump to content



5

Atari800Win PLus 4.1 beta 2

Atari800Win

79 replies to this topic

#51 solaris104 OFFLINE  

solaris104

    Combat Commando

  • 7 posts
  • Location:Czech Republic

Posted Sat Dec 31, 2011 4:29 AM

Beta 5 have better sound then beta 6.

#52 rdea6 ONLINE  

rdea6

    Dragonstomper

  • 910 posts
  • Location:Arizona USA

Posted Sat Dec 31, 2011 7:35 AM

View Postsolaris104, on Sat Dec 31, 2011 4:29 AM, said:

Beta 5 have better sound then beta 6.
Yes sound is better on Beta 5.

#53 Jaskier OFFLINE  

Jaskier

    Star Raider

  • 80 posts
  • Location:Toruń, Poland

Posted Sat Dec 31, 2011 9:28 AM

Yes, I think I will have to remove SYNCHRONIZED_SOUND in 4.1 and try this idea again in 4.2. Anyway it was worth trying, isn't it?

What about sound in atari800 (sdl version)? It has SYNCHRONIZED_SOUND compiled. Is this emu plays properly? I'm about to stole the sound engine from atari800-sdl and include it in 4.2.

@bf2k+ Have you tried running it on atari800 (although I'm not sure if sdl version has it compiled in)? If it works ok I can take this vesion instead of mine. But looking into code I see that both are from 2003 and authors are the same (although implementation is different).

#54 phaeron OFFLINE  

phaeron

    Dragonstomper

  • 629 posts
  • Location:USA

Posted Sun Jan 1, 2012 3:18 PM

walter_J64bit reported a problem with not being able to load .cas files, which I was able to repro with beta 6. It looks like a buffer overflow in OnFileAttachTapeImage(), since I got an runtime check tripped on that fn in a debug build. I think szFileName should be [MAX_PATH+1] instead of [FILENAME_MAX].

#55 Jaskier OFFLINE  

Jaskier

    Star Raider

  • 80 posts
  • Location:Toruń, Poland

Posted Sun Jan 1, 2012 4:19 PM

Did filename really had 260 chars?
MAX_PATH and FILENAME_MAX are both 260. The problem is that atari800 core mainly uses strings [FILENAME_MAX] and Atari800Win usually [MAX_PATH+1] (with this exception I see).
Changing all path strings to 261 characters would require a change in many files.

Is this really necessary? On MSDN I've found this info:

Quote

In the Windows API (with some exceptions discussed in the following paragraphs), the maximum length for a path is MAX_PATH, which is defined as 260 characters. A local path is structured in the following order: drive letter, colon, backslash, name components separated by backslashes, and a terminating null character. For example, the maximum path on drive D is "D:\some 256-character path string<NUL>" where "<NUL>" represents the invisible terminating null character for the current system codepage. (The characters < > are used here for visual clarity and cannot be part of a valid path string.)

So the path is 260 chars including trailing null.

Anyway I'm confused because according to this info there is no way that too long path could cause crash.

#56 bf2k+ OFFLINE  

bf2k+

    Stargunner

  • 1,461 posts
  • Location:Boot Factory BBS 2k+

Posted Sun Jan 1, 2012 6:18 PM

View PostJaskier, on Sat Dec 31, 2011 9:28 AM, said:

...

@bf2k+ Have you tried running it on atari800 (although I'm not sure if sdl version has it compiled in)? If it works ok I can take this vesion instead of mine. But looking into code I see that both are from 2003 and authors are the same (although implementation is different).

I would like to try it but I am unable to read most of the doc files on my WINXP machine and therefore not able to understand how to mount the Drives ATRs in the .atari800.cfg file. And I do not have my original atari800 setup from 1999.

#57 phaeron OFFLINE  

phaeron

    Dragonstomper

  • 629 posts
  • Location:USA

Posted Sun Jan 1, 2012 11:15 PM

View PostJaskier, on Sun Jan 1, 2012 4:19 PM, said:

Did filename really had 260 chars?
MAX_PATH and FILENAME_MAX are both 260. The problem is that atari800 core mainly uses strings [FILENAME_MAX] and Atari800Win usually [MAX_PATH+1] (with this exception I see).
Changing all path strings to 261 characters would require a change in many files.

Is this really necessary? On MSDN I've found this info:

That's not the issue -- the issue appears to be the way that the string is passed back internally. Include/macros.h has _strncpy() defined as follows:

#define _strncpy(dest, src, len) \
	(strncpy(dest, src, len)[ len ] = '\0')

strncpy() returns the destination pointer, so this means that strncpy(dest, src, len) requires a destination buffer of len+1 chars, and more importantly, always writes a null into the last element. PickFileName() copies the buffer back as follows:

	   	 _strncpy( pszFileName, fdlgFile.GetPathName(), MAX_PATH );

This requires MAX_PATH+1 chars. Since only FILENAME_MAX == MAX_PATH are allocated, the result is an overflow in a local buffer.

#58 Jaskier OFFLINE  

Jaskier

    Star Raider

  • 80 posts
  • Location:Toruń, Poland

Posted Mon Jan 2, 2012 10:47 AM

Oh, now I got it, thanks.

But anyway I think I will have to change all paths to [MAX_PATH] not [MAX_PATH+1]. This precautions (adding 1 to string length) could actually make things worse I see.
Don't you think that the error lies in _strncpy ? Its usage is unnatural. For string len bytes you have to pass len-1 as argument.

@bf2k+ just drop atr on the atari800 exe, this will start the emu with this atr in first drive

#59 bf2k+ OFFLINE  

bf2k+

    Stargunner

  • 1,461 posts
  • Location:Boot Factory BBS 2k+

Posted Mon Jan 2, 2012 11:22 AM

View PostJaskier, on Mon Jan 2, 2012 10:47 AM, said:

@bf2k+ just drop atr on the atari800 exe, this will start the emu with this atr in first drive

Yes but in order to run the existing BBS, I need to be able to mount at a minimum D1: D2: D3: and D8: - the BBS normally runs on D1:-D8:


EDIT: OK i dropped the D1: ATR onto a800.exe but the error that came up from PRO was R: handler not installed. Does anyone know how to enable the R: device in a800?

#60 Jaskier OFFLINE  

Jaskier

    Star Raider

  • 80 posts
  • Location:Toruń, Poland

Posted Mon Jan 2, 2012 11:46 AM

It is most probably not compiled because it won't compile on windows (I assume).

O.K. Lets skip this problem for a while. I have to make about 1 month break on working on emu due to personal & job issues.

#61 rdea6 ONLINE  

rdea6

    Dragonstomper

  • 910 posts
  • Location:Arizona USA

Posted Mon Jan 2, 2012 12:52 PM

View Postbf2k+, on Mon Jan 2, 2012 11:22 AM, said:

View PostJaskier, on Mon Jan 2, 2012 10:47 AM, said:

@bf2k+ just drop atr on the atari800 exe, this will start the emu with this atr in first drive

Yes but in order to run the existing BBS, I need to be able to mount at a minimum D1: D2: D3: and D8: - the BBS normally runs on D1:-D8:


EDIT: OK i dropped the D1: ATR onto a800.exe but the error that came up from PRO was R: handler not installed. Does anyone know how to enable the R: device in a800?
The doc's say from command line type:
-rdevice [<dev>]
Enable R: device (<dev> can be host serial device name)
and the text file are here-->Attached File  r_device.txt   3.38K   22 downloadsAttached File  RDEVICE.TXT   7.43K   20 downloads

#62 bf2k+ OFFLINE  

bf2k+

    Stargunner

  • 1,461 posts
  • Location:Boot Factory BBS 2k+

Posted Mon Jan 2, 2012 8:16 PM

View Postrdea6, on Mon Jan 2, 2012 12:52 PM, said:

The doc's say from command line type:
-rdevice [<dev>]
Enable R: device (<dev> can be host serial device name)
and the text file are here-->Attachment r_device.txtAttachment RDEVICE.TXT

Thanks for those docs... much more readable that what came with a800.

#63 carmel_andrews OFFLINE  

carmel_andrews

    Quadrunner

  • 12,343 posts
  • Location:from somewhere, anywhere and no where

Posted Tue Jan 3, 2012 7:01 AM

Any change you could fix the issue with the keyboard, as there seems to be an issue with the keyboard when playing defender (the atari 8bit cart. game), as after a few minutes playing the game the game keeps thinking that the spacebar is the hyperspace key instead of the smartbomb key

#64 Jaskier OFFLINE  

Jaskier

    Star Raider

  • 80 posts
  • Location:Toruń, Poland

Posted Fri Jan 6, 2012 8:15 AM

Hi,

I've put the final version 4.1 on github.
It's not perfect but I want to start working on new features in 4.2
The main goal: merge Atari800Win with atari800 2.2.1 core has been acomplished.

Have a nice day.

#65 atx4us OFFLINE  

atx4us

    Chopper Commander

  • 184 posts
  • Location:Michigan, USA

Posted Fri Jan 6, 2012 10:50 PM

View PostJaskier, on Fri Jan 6, 2012 8:15 AM, said:

Hi,

I've put the final version 4.1 on github.
It's not perfect but I want to start working on new features in 4.2
The main goal: merge Atari800Win with atari800 2.2.1 core has been acomplished.

Have a nice day.

Thanks a lot Jaskier. I'm looking forward to the great things to come for A8W.

#66 pseudografx OFFLINE  

pseudografx

    Moonsweeper

  • 419 posts
  • Location:Czech Republic

Posted Thu Feb 9, 2012 2:25 AM

Hi Jaskier,
I just found a bug in the current release - the color adjustments (saturation, gamma, etc.) do not work if an external palette is chosen. I'm using OlivierP.act. Btw. could you include this and the NTSC version with the next version of the emulator?

Attached Files



#67 Jaskier OFFLINE  

Jaskier

    Star Raider

  • 80 posts
  • Location:Toruń, Poland

Posted Thu Feb 9, 2012 12:35 PM

Atari800 engine has changes during these years. Especially palette functions are brand new and it seems that they have removed an option to adjust colors of external palette. Since the creation of these colors are now different than in previous versions (now is one extra parameter) I cannot simply copy old function to new engine.
No problem in including these files in future versions.

#68 MaPa OFFLINE  

MaPa

    Dragonstomper

  • 564 posts
  • Location:Czech Republic

Posted Thu Feb 9, 2012 1:31 PM

I have some problems in monitor. When I set breakpoint address via b pc=$xxxx then I can't execute instructions with G command.

Btw. funny thing, when I have open this thread in browser, I can't start the emulator, it just switches to the browser :)

#69 pseudografx OFFLINE  

pseudografx

    Moonsweeper

  • 419 posts
  • Location:Czech Republic

Posted Thu Feb 9, 2012 2:57 PM

View PostJaskier, on Thu Feb 9, 2012 12:35 PM, said:

Atari800 engine has changes during these years. Especially palette functions are brand new and it seems that they have removed an option to adjust colors of external palette. Since the creation of these colors are now different than in previous versions (now is one extra parameter) I cannot simply copy old function to new engine.
No problem in including these files in future versions.
That's a pity, I will have to adjust the palette externally for myself. Anyway, I suggest making the adjustment controls disabled if External palette checkbox is selected.
Btw. I noticed the same as MaPa, I cannot start the emulator right now. I wonder how can a browser contents prevent executing another application.. :)

#70 miker OFFLINE  

miker

    Stargunner

  • 1,441 posts
  • Stay Atari!
  • Location:Warsaw, Poland

Posted Thu Feb 9, 2012 3:29 PM

I think it's not the browser, just similar title beginning on both windows. :D

#71 Kr0tki OFFLINE  

Kr0tki

    Dragonstomper

  • 725 posts
  • Location:Warszawa, Poland

Posted Thu Feb 9, 2012 4:07 PM

View Postpseudografx, on Thu Feb 9, 2012 2:25 AM, said:

Btw. could you include this and the NTSC version with the next version of the emulator?
May I ask for what reason? The default colors in the new WinPLus are already more exact than the Olivier palettes, especially the PAL one.

View PostJaskier, on Thu Feb 9, 2012 12:35 PM, said:

Especially palette functions are brand new and it seems that they have removed an option to adjust colors of external palette.
The function is there - check the "Display settings -> Also adjust external palette" option in Atari800.

#72 pseudografx OFFLINE  

pseudografx

    Moonsweeper

  • 419 posts
  • Location:Czech Republic

Posted Thu Feb 9, 2012 4:58 PM

View PostKr0tki, on Thu Feb 9, 2012 4:07 PM, said:

May I ask for what reason? The default colors in the new WinPLus are already more exact than the Olivier palettes, especially the PAL one.
Just because I am used to it. Anyway, if you say the new internal palette is better, I will give it a try :-)

#73 Kr0tki OFFLINE  

Kr0tki

    Dragonstomper

  • 725 posts
  • Location:Warszawa, Poland

Posted Thu Feb 9, 2012 6:48 PM

Yup - colour generation is now based on the same algorithm that was used to generate the Olivier palettes, and PAL palette quirks (the thing missing from OlivierP) are also reproduced.

#74 Jaskier OFFLINE  

Jaskier

    Star Raider

  • 80 posts
  • Location:Toruń, Poland

Posted Sat Feb 11, 2012 12:15 PM

As I remember on the bottom of atari is a small hole with a potentiometer inside which allows you to change the colors on a wide range. I have it set to my likings on my TV, but the colors on other TV set can be different. In my opinion colors "like a real Atari" are a myth. If somebody likes different palette, then why not add it?

@Kr0tki - I'll try to find that function. Wish me luck :)

@MaPa - this is due to option Misc -> Preferences -> Reuse emulator window. For unknown historical reason (probably you should ask Richard Lawrence) the windows are recognized by its title. Will be changes to named mutex in next release.

#75 Kr0tki OFFLINE  

Kr0tki

    Dragonstomper

  • 725 posts
  • Location:Warszawa, Poland

Posted Sun Feb 12, 2012 7:19 AM

Altirra already emulates functionality of this potentiometer for NTSC and PAL, and Atari800 emulates it for NTSC. IMHO it's a more veratile solution than including a multitude of palettes.




1 user(s) are reading this topic

0 members, 1 guests, 0 anonymous users