Jump to content
phaeron

Altirra 3.10 released

Recommended Posts

42 minutes ago, _The Doctor__ said:

I was looking to have the internet modem only use the AT commands like a modem to set auto answer pick up (ata), make a call etc, not respond to +++ etc., and of course respond to dtr drop, and provide CD etc.

These should be supported: ATS0=1 for auto-answer, ATS2=128 to disable +++, AT&D2 to enable DTR -> command mode, AT&C1 to enable carrier detect.

 

Note that there seems to be some implementation variance in the S2 register, with some modems accepting ATS2=127 to disable and others not. The command definition implemented by Altirra requires >=128.

 

42 minutes ago, _The Doctor__ said:

The emulation has improved towards Plato etc. when making calls, but appears to want to telnet handshake or some such thing with incoming calls then switch modes or something this won't work for raw devices like perle serial to lan, putty in raw, syncterm in raw, a multitude of cheap chinese devices, or when trying to call in to a bbs on the emu and automatically pass a few carriage returns followed by an automatic L-modem download or the same scenario followed by an old Atari BBS networking handshake to download a few message base packets.

Not sure I understand here since if the Telnet option is disabled, then no Telnet processing takes place in either direction and raw bytes are passed through. You should not be seeing any handshake sent or interpreted by the emulator with this option off.

 

42 minutes ago, _The Doctor__ said:

If it's possible, perhaps a method to force binary mode on connect would work as well. My worry is some file of atacii combo might pull it back out of binary mode. This is why I hoped for a raw pass it all as it is mode.

Binary mode in Telnet escapes the special leading IAC $FF character, there is no problem with transmitting any byte pattern. However, the only telnet server I have seen normally negotiate the binary option is the Windows terminal server. If the remote device does not normally negotiate binary mode and expects binary transparency, then we'd have to look closely at how it is sending CR, CR+LF, and LF patterns as non-binary Telnet is ambiguous on how that is to be handled.

 

The debugger command "lfe modemtcp" will enable the logging channel that includes the Telnet options negotiated.

 

42 minutes ago, _The Doctor__ said:

I know you've dedicated a fair amount of time getting the modem to meter the data and get it to function by intelligently figuring out what is expected of it. A way to force it to one mode or another on connect/answer as a default will go a long way towards helping deal with all the different Terminals being cast at it, whether it be PLATO or any number of BBS's and the pile of translations/protocols they now serve.

I'd be willing to work on this but I'd need some checks on the traffic from a specific Telnet client that's having binary transparency problems, to see what options are being negotiated and what corruption is occurring. As noted earlier, Telnet is not normally a protocol meant for binary transparency, so specific adjustments are needed to enable it. I'd need to know what the other device is doing/expecting, as I can't just put in a "do Telnet-but-not-Telnet" option.

 

Share this post


Link to post
Share on other sites

Reading the built in help file does not tell how to turn telnet on or off...

the 850 modem commands in the built in help shows atd as the dialing string

but the example shows atdi as the string for both raw and telnet connections

it is possible to have a raw connection on port 23, are you using the port number to switch telnet on or are you using the i to perform that function.

as I've gone looking through the help tab of Altira it's really not clear...

 

If a raw device calls a device that is set up as telnet (terminal, serial to lan device, internet modem), you will see the answering device try to negotiate, the device being called will send the telnet sequence to find what the calling terminal/device will or won't do...

 

if you are using eol to kill lf/cr translation are you passing all data and not stripping nulls or the second part of the stupid telnet standard that insisted these all be two parts (if you've read why it's this way it's incredible it was allowed to stand all these years being essentially a bug of laziness) dealt with by stripping it off rather than letting each piece just be exactly what it is as a stand alone.

 

I was looking at the make the call and since it always seems to involve telnet whether you want it to or not, a forced binary mode out of the gate seemed like it could be a work around. But it still wouldn't get around the initial telnet handshake that messes with the raw call as that's enough to throw the ascii/atascii of most boards off.

 

a quick look on your website gets me the hardware pdf and the altira basic pdf... will download the latest version of both and Altira as well, hopefully I'll find an in depth help/readme/manual so I can read about the internet modem function.

If a real modem or serial to lan device is attached to the PC's serial port will the 850 emulation work with that as R1: or is this strictly 850 to internet modem

Share this post


Link to post
Share on other sites
3 minutes ago, _The Doctor__ said:

Reading the built in help file does not tell how to turn telnet on or off...

the 850 modem commands in the built in help shows atd as the dialing string

but the example shows atdi as the string for both raw and telnet connections

it is possible to have a raw connection on port 23, are you using the port number to switch telnet on or are you using the i to perform that function.

as I've gone looking through the help tab of Altira it's really not clear...

It's an option on the modem device. If you have this on you should definitely try turning this off first.

 

image.png.b489f87798bd24be6f6baa553925b41e.png

 

3 minutes ago, _The Doctor__ said:

If a real modem or serial to lan device is attached to the PC's serial port will the 850 emulation work with that as R1: or is this strictly 850 to internet modem

There is currently no support for a host serial port, the only attachable serial devices in emulation are modem-to-internet and serial loopback.

  • Like 1

Share this post


Link to post
Share on other sites

The Modem settings do not persist, if you leave Altira and come back...

emulate telnet protocol is checked again, accept ipv6 connections checked again.

 

These need to stay off at reboot or re launch of Altira after having exited

  • Like 1

Share this post


Link to post
Share on other sites
12 hours ago, _The Doctor__ said:

The Modem settings do not persist, if you leave Altira and come back...

emulate telnet protocol is checked again, accept ipv6 connections checked again.

 

These need to stay off at reboot or re launch of Altira after having exited

 

If I uncheck the "Emulate Telnet Protocol" box, click the OK button, then bring up the modem settings again, the "Emulate Telnet Protocol" box is still checked. So, you don't have to "leave Altirra" to see the boxes still checked. Based on this behavior, I was under the impression that you could not turn off Telnet protocol in Altirra. If this can be fixed, that would be great. Currently my BBS that runs on Altirra is unable to network messages with a BBS that's running on native hardware because Altirra uses telnet mode and the native hardware uses raw mode.

 

-JP 

 

Edited by JohnPolka

Share this post


Link to post
Share on other sites

I downloaded Altira 3.20 test 26

 

I had to delete everything in the old Altira folder and then unzip the new Altira into it.

 

Looks like the settings persist now. So that's good.

 

Now to have a look, I bet it's all going to be gravy now.

Edited by _The Doctor__
  • Like 1

Share this post


Link to post
Share on other sites
14 minutes ago, _The Doctor__ said:

That one has been working well for me. I haven't put it through a torture test yet, but for what I do, it is good.

 

I normally use real hardware, but Altirra is MUCH faster at running assemblers, compilers and such. I even wrote a quick & dirty BASIC program using the slow get/put because I planned to run it in Altirra. It parses my eBay shipping costs for the month out of a copied and pasted screen from the eBay site. It adds up the total.

It runs in 2 seconds compared with 30 on the real thing. If a Rapidus 800 card ever is made, then that may change.

:)

 

Share this post


Link to post
Share on other sites

 

Is it possible to add the emulator to load the cassette games but from an external audio?

For example from an old cassette player.?

As does the ZX Spectrum emulator called Spectaculator?

Thanks: D

Edited by NSonic
  • Haha 1

Share this post


Link to post
Share on other sites
9 hours ago, NSonic said:

 

Is it possible to add the emulator to load the cassette games but from an external audio?

For example from an old cassette player.?

As does the ZX Spectrum emulator called Spectaculator?

Thanks: D

Sorry, I'm going to pass on this request. The current tape engine is not written to support real time streaming, and the effort to implement this would exceed the benefits. Motor control would also not be possible, an essential feature of Atari tape drives. Finally, I'm not in favor of encouraging multiple passes over old tapes, it can foil recovery by wearing out the tape with unnecessary passes compared to a single-pass recording.

 

  • Like 2

Share this post


Link to post
Share on other sites
9 hours ago, phaeron said:

Sorry, I'm going to pass on this request. The current tape engine is not written to support real time streaming, and the effort to implement this would exceed the benefits. Motor control would also not be possible, an essential feature of Atari tape drives. Finally, I'm not in favor of encouraging multiple passes over old tapes, it can foil recovery by wearing out the tape with unnecessary passes compared to a single-pass recording.

 

 

I understand clearly.

And can the extra option be added to the Baud section?

For example, what is the option of 6000 Baud?

Attach Image.

Thank You!!!!!

 

 

 

injektor.PNG

Share this post


Link to post
Share on other sites
14 hours ago, NSonic said:

 

I understand clearly.

And can the extra option be added to the Baud section?

For example, what is the option of 6000 Baud?

Attach Image.

Thank You!!!!!

 

This is sets the cutoff for the low pass filter on direct FSK reads through SKSTAT. Set it to Max Speed if you have a tape at 6000 baud.

 

Note that a 6000 baud FSK encoded tape can't actually exist. The separation between the Atari FSK tones is 1.3KHz, you can't push 3KHz of bandwidth through that. The only reason to have an "FSK" encoded tape at that frequency is if you have a .CAS encoded turbo tape that the emulator can't tell was originally turbo encoded.

 

This setting is not needed for true turbo tapes that are actually decoded as such by the emulator from raw audio and decoded with the turbo decoding option. The emulator automatically disables the direct read filter in turbo mode.

 

Share this post


Link to post
Share on other sites

Hi Avery.

 

Is it correct the bold part of Altirra's Hardware Reference Manual?

 

For priority purposes, the mode 9 playfield is essentially background. No playfield collisions register, and P/M graphics always have priority over the playfield. The playfield drops out in the presence of any player, even for priority conflicts that produce black.
Missiles also have priority over the playfield like players, unless fifth player mode is enabled. When the fifth player is enabled, however, it will mix with the playfield. The result is the color of PF3 combined with the luminance of the playfield.

 

Here is my test with a white letter made with fifth player:

test4.thumb.png.734cd081f7368ab5ef5c9e611dff92bc.png   test3.png.2f4374990033cdb0f5206e6b555cb629.png

 

Thanks!

 

  • Like 1

Share this post


Link to post
Share on other sites
36 minutes ago, Philsan said:

Hi Avery.

 

Is it correct the bold part of Altirra's Hardware Reference Manual?

 

For priority purposes, the mode 9 playfield is essentially background. No playfield collisions register, and P/M graphics always have priority over the playfield. The playfield drops out in the presence of any player, even for priority conflicts that produce black.
Missiles also have priority over the playfield like players, unless fifth player mode is enabled. When the fifth player is enabled, however, it will mix with the playfield. The result is the color of PF3 combined with the luminance of the playfield.

Just double-checked on the 130XE, it is correct but ambiguously worded. The more precise version: the resulting color is the bitwise OR of the value of the PF3 register and the luminance of the playfield. Example: PF3 color = $14 combined with playfield luminance of 8 gives color $1C.

 

The reason this happens is that fifth player mode switches the players to use the PF3 color input instead of the player color inputs, and PF3 isn't seen as P/M graphics for the purposes of turning off the GTIA playfield. Thus, PF3 overrides the background color, then it gets ORed with the GTIA luminance.

 

  • Like 2
  • Thanks 1

Share this post


Link to post
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.

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