tschak909 / platoterm64

PLATOTerm for the Commodore 64
GNU General Public License v3.0
35 stars 11 forks source link

issues with plato/atari #14

Closed mr-atari closed 5 years ago

mr-atari commented 5 years ago

For the ESP8266 to become transparent, I need to send one more command to the module. That is after the module has established connection and data from the server is coming in. That is a no-go area for me, since plato does not send out CR/LF anymore, nor does control-M/J works.

Plato sends out 1xCR and 2xLF's, not CR/LF, giving errors back from the module. In TTY-mode

Having CAPITOL letters when configuring the connection would be nice, thanks. Holding SHIFT makes you forget to release it when typing non-letters. Most modem devices only accept capitol. AT is ok, at is error.

Graphics are drawn faster, but crooked, less nice then the previous build. Odd pixels (making O->Q) and miss-drawn lines. Errors in backspace/erase and new characters. Maximum baud-rate 1200 on the old graphic engine else it overflows, new engine can do 2400. But needs a 256 byte R:buffer and throttled reply to the server. 1200 is safer to use.

plato assumes to be on D1, so when you load it from say D2 it fucks up your disk in D1...

Xon/Xoff does not work. Sending Xoff does not kills data from the server. Blocking Xon from being send does not matter either, data is still poring in.

Missing keys from the atari-layout, they are ignored and thus are not send. Plato does not let me send $0A / CONTROL-J / LF When you add LF back to the keyboard-def-table, it would work better for me. CONTROL-J is not assigned by the plato-keyboard, so.

Inverse characters are not readable.

Data is read 1 character a time from R: , most likely slowing things down.

tschak909 commented 5 years ago

Hi Sijmen!

Can you try the following build? https://github.com/tschak909/platoterm64/releases/tag/PLATOTERM-20181005-ATARI

It adds a pair of keys to switch between TTY and PLATO mode. Hopefully this will work better for you.

Also, since TTY mode now passes keys through as is, if you're holding down caps, they pass through as intended.

the default drive issue is something upstream with cc65. I will try to work around it, but for the mean-time... :)

mr-atari commented 5 years ago

select-t and select-p works.

in tty: when you press return, plato still sends cr/lf/lf, not cr/lf control-j works (lf) *control-m not. it also sends (lf) while it should be (cr)

tschak909 commented 5 years ago

https://github.com/tschak909/platoterm64/releases/download/PLATOTERM-20181005-ATARI/plato-20181006-tty-pass-2.atr

You're exhibiting something that I am not seeing in any of my test hardware, so it's very hard for me to try and fix it...but I am trying, nonetheless.

I will keep going back and forth with you until we get this.

-Thom

mr-atari commented 5 years ago

in altirra/debugger windows:

use 'wb serout' to see last byte send. or use '.traceser on' to see all bytes going in/out in the command-window

I can't read c, so that is hopeless too. In your tty-key_def_table: keycode $A5 (control-m) should read/send $0D (cr)

Here is the control-piece I use in my Tiny Terminal Mode:

DEFTAB

; Control Characters

.BYTE      $0C     ;$80 - CTRL-L
.BYTE      $0A     ;$81 - CTRL-J
.BYTE      $FF     ;$82 - CTRL-semicolon
.BYTE      $FF     ;$83 - (invalid) CTRL-F1
.BYTE      $FF     ;$84 - (invalid) CTRL-F2
.BYTE      $0B     ;$85 - CTRL-K
.BYTE      $FF     ;$86 - CTRL-left arrow
.BYTE      $FF     ;$87 - CTRL-right arrow
.BYTE      $0F     ;$88 - CTRL-O
.BYTE      $FF     ;$89 - (invalid)
.BYTE      $10     ;$8A - CTRL-P
.BYTE      $15     ;$8B - CTRL-U
.BYTE      $0D     ;$8C - CTRL-return
.BYTE      $09     ;$8D - CTRL-I
.BYTE      $FF     ;$8E - CTRL-up arrow
.BYTE      $FF     ;$8F - CTRL-down arrow

.BYTE      $16     ;$90 - CTRL-V
.BYTE      $FF     ;$91 - (invalid)
.BYTE      $03     ;$92 - CTRL-C
.BYTE      $FF     ;$93 - (invalid) CTRL-F3
.BYTE      $FF     ;$94 - (invalid) CTRL-F4
.BYTE      $02     ;$95 - CTRL-B
.BYTE      $18     ;$96 - CTRL-X
.BYTE      $1A     ;$97 - CTRL-Z
.BYTE      $FF     ;$98 - CTRL 4    ALT CHAR (invalid)
.BYTE      $FF     ;$99 - (invalid)
.BYTE      $FF     ;$9A - CTRL-3    EOL
.BYTE      $FF     ;$9B - (invalid)
.BYTE      $1B     ;$9C - CTRL-escape
.BYTE      $FF     ;$9D - (invalid)
.BYTE      $FF     ;$9E - CTRL-2    BEL
.BYTE      $FF     ;$9F - CTRL-1    START/STOP (invalid)

.BYTE      $00     ;$A0 - CTRL-comma
.BYTE      $20     ;$A1 - CTRL-space
.BYTE      $60     ;$A2 - CTRL-period
.BYTE      $0E     ;$A3 - CTRL-N
.BYTE      $FF     ;$A4 - (invalid)
.BYTE      $0D     ;$A5 - CTRL-M
.BYTE      $FF     ;$A6 - (invalid)
.BYTE      $FF     ;$A7 - CTRL-inverse
.BYTE      $12     ;$A8 - CTRL-R
.BYTE      $FF     ;$A9 - (invalid)
.BYTE      $05     ;$AA - CTRL-E
.BYTE      $19     ;$AB - CTRL-Y
.BYTE      $09     ;$AC - CTRL-tab
.BYTE      $14     ;$AD - CTRL-T
.BYTE      $17     ;$AE - CTRL-W
.BYTE      $11     ;$AF - CTRL-Q

.BYTE      $FF     ;$B0 - CTRL-9 CUR_LMAR   (invalid)
.BYTE      $FF     ;$B1 - (invalid)
.BYTE      $FF     ;$B2 - CTRL-0 CUR_RMAR   (invalid)
.BYTE      $FF     ;$B3 - CTRL-7 CUR_HOME   (invalid)
.BYTE      $08     ;$B4 - CTRL-delete
.BYTE      $FF     ;$B5 - CTRL-8 CUR_BOTTOM (invalid)
.BYTE      $FF     ;$B6 - CTRL-clear
.BYTE      $FF     ;$B7 - CTRL-insert
.BYTE      $06     ;$B8 - CTRL-F
.BYTE      $08     ;$B9 - CTRL-H
.BYTE      $04     ;$BA - CTRL-D
.BYTE      $FF     ;$BB - (invalid)
.BYTE      $FF     ;$BC - CTRL-CAPS
.BYTE      $07     ;$BD - CTRL-G
.BYTE      $13     ;$BE - CTRL-S
.BYTE      $01     ;$BF - CTRL-A
tschak909 commented 5 years ago

Thanks, Does the latest build do anything different? -Thom

On Sat, Oct 6, 2018 at 1:58 AM Sijmen Schouten notifications@github.com wrote:

in altirra/debugger windows:

use 'wb serout' to see last byte send. or use .traceser on to see all bytes going in/out in the command-window

I can't read c, so that is hopeless too. In your tty-key_def_table: keycode $A5 (control-m) should read/send $0D (cr)

Here is the one I use in my Tint Terminal Mode:

; LOWER (NO SHIFT) KEY

DEFTAB .BYTE $6C ;$00 - l .BYTE $6A ;$01 - j .BYTE $3B ;$02 - ; .BYTE $FF ;$03 - F1 .BYTE $FF ;$04 - F2 .BYTE $6B ;$05 - k .BYTE $2B ;$06 - + .BYTE $2A ;$07 - * .BYTE $6F ;$08 - o .BYTE $FF ;$09 - (invalid) .BYTE $70 ;$0A - p .BYTE $75 ;$0B - u .BYTE $0D ;$0C - return .BYTE $69 ;$0D - i .BYTE $2D ;$0E - - .BYTE $3D ;$0F - =

.BYTE $76 ;$10 - v .BYTE $FF ;$11 - HELP .BYTE $63 ;$12 - c .BYTE $FF ;$13 - F3 .BYTE $FF ;$14 - F4 .BYTE $62 ;$15 - b .BYTE $78 ;$16 - x .BYTE $7A ;$17 - z .BYTE $34 ;$18 - 4 .BYTE $FF ;$19 - (invalid) .BYTE $33 ;$1A - 3 .BYTE $36 ;$1B - 6 .BYTE $1B ;$1C - escape .BYTE $35 ;$1D - 5 .BYTE $32 ;$1E - 2 .BYTE $31 ;$1F - 1

.BYTE $2C ;$20 - , .BYTE $20 ;$21 - space .BYTE $2E ;$22 - . .BYTE $6E ;$23 - n .BYTE $FF ;$24 - (invalid) .BYTE $6D ;$25 - m .BYTE $2F ;$26 - / .BYTE $FF ;$27 - inverse .BYTE $72 ;$28 - r .BYTE $FF ;$29 - (invalid) .BYTE $65 ;$2A - e .BYTE $79 ;$2B - y .BYTE $09 ;$2C - tab .BYTE $74 ;$2D - t .BYTE $77 ;$2E - w .BYTE $71 ;$2F - q

.BYTE $39 ;$30 - 9 .BYTE $FF ;$31 - (invalid) .BYTE $30 ;$32 - 0 .BYTE $37 ;$33 - 7 .BYTE $08 ;$34 - BACKSP .BYTE $38 ;$35 - 8 .BYTE $3C ;$36 - < .BYTE $3E ;$37 - > .BYTE $66 ;$38 - f .BYTE $68 ;$39 - h .BYTE $64 ;$3A - d .BYTE $FF ;$3B - (invalid) .BYTE $FF ;$3C - CAPS .BYTE $67 ;$3D - g .BYTE $73 ;$3E - s .BYTE $61 ;$3F - a

; UPPER (SHIFT+KEY)

.BYTE $4C ;$40 - L .BYTE $4A ;$41 - J .BYTE $3A ;$42 - : .BYTE $FF ;$43 - F1 .BYTE $FF ;$44 - F2 .BYTE $4B ;$45 - K .BYTE $5C ;$46 - \ .BYTE $5E ;$47 - ^ .BYTE $4F ;$48 - O .BYTE $FF ;$49 - (invalid) .BYTE $50 ;$4A - P .BYTE $55 ;$4B - U .BYTE $0D ;$4C - return .BYTE $49 ;$4D - I .BYTE $5F ;$4E - _ .BYTE $7C ;$4F - |

.BYTE $56 ;$50 - V .BYTE $FF ;$51 - SHIFT-HELP .BYTE $43 ;$52 - C .BYTE $FF ;$53 - F3 .BYTE $FF ;$54 - F4 .BYTE $42 ;$55 - B .BYTE $58 ;$56 - X .BYTE $5A ;$57 - Z .BYTE $24 ;$58 - $ .BYTE $FF ;$59 - (invalid) .BYTE $23 ;$5A - # .BYTE $26 ;$5B - & .BYTE $1B ;$5C - SHIFT-escape .BYTE $25 ;$5D - % .BYTE $22 ;$5E - " .BYTE $21 ;$5F - !

.BYTE $5B ;$60 - [ .BYTE $20 ;$61 - space .BYTE $5D ;$62 - ] .BYTE $4E ;$63 - N .BYTE $FF ;$64 - (invalid) .BYTE $4D ;$65 - M .BYTE $3F ;$66 - ? .BYTE $FF ;$67 - inverse .BYTE $52 ;$68 - R .BYTE $FF ;$69 - (invalid) .BYTE $45 ;$6A - E .BYTE $59 ;$6B - Y .BYTE $09 ;$6C - SHIFT-tab .BYTE $54 ;$6D - T .BYTE $57 ;$6E - W .BYTE $51 ;$6F - Q

.BYTE $28 ;$70 - ( .BYTE $FF ;$71 - (invalid) .BYTE $29 ;$72 - ) .BYTE $27 ;$73 - ' .BYTE $7F ;$74 - DELETE .BYTE $40 ;$75 - @ .BYTE $FF ;$76 - < clear .BYTE $FF ;$77 - > insert .BYTE $46 ;$78 - F .BYTE $48 ;$79 - H .BYTE $44 ;$7A - D .BYTE $FF ;$7B - (invalid) .BYTE $FF ;$7C - SHIFT-CAPS .BYTE $47 ;$7D - G .BYTE $53 ;$7E - S .BYTE $41 ;$7F - A

; Control Characters

.BYTE $0C ;$80 - CTRL-L .BYTE $0A ;$81 - CTRL-J .BYTE $FF ;$82 - CTRL-semicolon .BYTE $FF ;$83 - (invalid) CTRL-F1 .BYTE $FF ;$84 - (invalid) CTRL-F2 .BYTE $0B ;$85 - CTRL-K .BYTE $FF ;$86 - CTRL-left arrow .BYTE $FF ;$87 - CTRL-right arrow .BYTE $0F ;$88 - CTRL-O .BYTE $FF ;$89 - (invalid) .BYTE $10 ;$8A - CTRL-P .BYTE $15 ;$8B - CTRL-U .BYTE $0D ;$8C - CTRL-return .BYTE $09 ;$8D - CTRL-I .BYTE $FF ;$8E - CTRL-up arrow .BYTE $FF ;$8F - CTRL-down arrow

.BYTE $16 ;$90 - CTRL-V .BYTE $FF ;$91 - (invalid) .BYTE $03 ;$92 - CTRL-C .BYTE $FF ;$93 - (invalid) CTRL-F3 .BYTE $FF ;$94 - (invalid) CTRL-F4 .BYTE $02 ;$95 - CTRL-B .BYTE $18 ;$96 - CTRL-X .BYTE $1A ;$97 - CTRL-Z .BYTE $FF ;$98 - CTRL 4 ALT CHAR (invalid) .BYTE $FF ;$99 - (invalid) .BYTE $FF ;$9A - CTRL-3 EOL .BYTE $FF ;$9B - (invalid) .BYTE $1B ;$9C - CTRL-escape .BYTE $FF ;$9D - (invalid) .BYTE $FF ;$9E - CTRL-2 BEL .BYTE $FF ;$9F - CTRL-1 START/STOP (invalid)

.BYTE $00 ;$A0 - CTRL-comma .BYTE $20 ;$A1 - CTRL-space .BYTE $60 ;$A2 - CTRL-period .BYTE $0E ;$A3 - CTRL-N .BYTE $FF ;$A4 - (invalid) .BYTE $0D ;$A5 - CTRL-M .BYTE $FF ;$A6 - (invalid) .BYTE $FF ;$A7 - CTRL-inverse .BYTE $12 ;$A8 - CTRL-R .BYTE $FF ;$A9 - (invalid) .BYTE $05 ;$AA - CTRL-E .BYTE $19 ;$AB - CTRL-Y .BYTE $09 ;$AC - CTRL-tab .BYTE $14 ;$AD - CTRL-T .BYTE $17 ;$AE - CTRL-W .BYTE $11 ;$AF - CTRL-Q

.BYTE $FF ;$B0 - CTRL-9 CUR_LMAR (invalid) .BYTE $FF ;$B1 - (invalid) .BYTE $FF ;$B2 - CTRL-0 CUR_RMAR (invalid) .BYTE $FF ;$B3 - CTRL-7 CUR_HOME (invalid) .BYTE $08 ;$B4 - CTRL-delete .BYTE $FF ;$B5 - CTRL-8 CUR_BOTTOM (invalid) .BYTE $FF ;$B6 - CTRL-clear .BYTE $FF ;$B7 - CTRL-insert .BYTE $06 ;$B8 - CTRL-F .BYTE $08 ;$B9 - CTRL-H .BYTE $04 ;$BA - CTRL-D .BYTE $FF ;$BB - (invalid) .BYTE $FF ;$BC - CTRL-CAPS .BYTE $07 ;$BD - CTRL-G .BYTE $13 ;$BE - CTRL-S .BYTE $01 ;$BF - CTRL-A

— You are receiving this because you were assigned.

Reply to this email directly, view it on GitHub https://github.com/tschak909/platoterm64/issues/14#issuecomment-427551828, or mute the thread https://github.com/notifications/unsubscribe-auth/ACocZqFkA9kK_H-Z58jkz4RfAsfjrS_7ks5uiFSxgaJpZM4XJtZI .

mr-atari commented 5 years ago

select t lets me back into tty and I can send at+cipsend to go into transparent mode. so that is ok.

all other issues still stands.

any chance in getting the old graphic-routines back, perhaps only for testing? some really annoying pixels/lines appear making it ugly to read.

again, if you need help coding in assembler, i can help.

tschak909 commented 5 years ago

It makes no sense that you would be getting a double line feed...

As for the old routines, it will be difficult because the old routines used a table that took up over 2.5K of space.

can you show me a picture of what you're seeing ?

-Thom

On Sat, Oct 6, 2018 at 2:04 AM Sijmen Schouten notifications@github.com wrote:

select t lets me back into tty and I can send at+cipsend to go into transparent mode. so that is ok.

all other issues still stands.

any chance in getting the old graphic-routines back, perhaps only for testing? some really annoying pixels/lines appear making it ugly to read.

again, if you need help coding in assembler, i can help.

— You are receiving this because you were assigned.

Reply to this email directly, view it on GitHub https://github.com/tschak909/platoterm64/issues/14#issuecomment-427552092, or mute the thread https://github.com/notifications/unsubscribe-auth/ACocZt4n7PAO_6rx_M2-wRukBBAs0-wsks5uiFYCgaJpZM4XJtZI .

tschak909 commented 5 years ago

(visually with the graphics, I mean)

On Sat, Oct 6, 2018 at 2:18 AM Thom Cherryhomes thom.cherryhomes@gmail.com wrote:

It makes no sense that you would be getting a double line feed...

As for the old routines, it will be difficult because the old routines used a table that took up over 2.5K of space.

can you show me a picture of what you're seeing ?

-Thom

On Sat, Oct 6, 2018 at 2:04 AM Sijmen Schouten notifications@github.com wrote:

select t lets me back into tty and I can send at+cipsend to go into transparent mode. so that is ok.

all other issues still stands.

any chance in getting the old graphic-routines back, perhaps only for testing? some really annoying pixels/lines appear making it ugly to read.

again, if you need help coding in assembler, i can help.

— You are receiving this because you were assigned.

Reply to this email directly, view it on GitHub https://github.com/tschak909/platoterm64/issues/14#issuecomment-427552092, or mute the thread https://github.com/notifications/unsubscribe-auth/ACocZt4n7PAO_6rx_M2-wRukBBAs0-wsks5uiFYCgaJpZM4XJtZI .

mr-atari commented 5 years ago

Fire-up altirra (stock_800xl/rverter/2400baud all acceleration options disabled). set/do " .traceser on" run plato and just press enter. you see it will send out cr/lf/lf

mr-atari commented 5 years ago

all This picture I posted earlier, crooked lines (old vs new). No pictures of the other graphical issues, sorry.

mr-atari commented 5 years ago

Update: On the real hardware (800xl/wifi), select t and select p does not work. same, select T select P, no-go area. In the emulator I get a message below "mode xxx". Now nothing happens, looking at the color feedback, plato is locked into in plato-mode.

So I connected before loading plato as I do/did before (using a terminal program). Now something else is weird, the log-on screen loops and loops and loops. when I type quickly guest/return a group is asked, but always invalid. BACK brings me back to the log-on screen and it loops again. See video.

Please ignore the color feedback, that is just a debug-function for my wifi to see data is coming. MOV08118.zip

mr-atari commented 5 years ago

did exactly the same, with "plato-diet-fixed-keys" version. so connected to irata.online, then loaded plato. steady log-on screen, used guest and atari. I am online at this moment. Unfortunately, no use making pictures of the graphics/text, since this is the old engine....

Anyhow, now connected with 1200baud/256b buffer, lets play some checkers.... :-)

mr-atari commented 5 years ago

dsc08119

mr-atari commented 5 years ago

20180915, some examples of graphical issues. Extra dots, partial erased areas. Hoop this will help.

Beside that, nice to play around with plato as an alternative to "normal" billboarding :-)

Grtz, Sijmen.

dsc08120 dsc08121 dsc08122 dsc08123 dsc08124 dsc08125 dsc08126