Jump to content

r41 Release Candidates


Recommended Posts

  • Administrators

I'm trying out release candidates before publishing the final r41 release.

This is RC3:

http://www.pagetable.com/docs/tmp/x16emu_linux-r41_rc3.zip
http://www.pagetable.com/docs/tmp/x16emu_mac-r41_rc3.zip
http://www.pagetable.com/docs/tmp/x16emu_win-r41_rc3.zip

Please test and report issues here. The final version will be released within a week.

Release notes:

  • KERNAL
    • keyboard
      • added 16 more keyboard layouts (28 total)
      • Default layout is now Macintosh US
      • "keymap" API to activate a built-in keyboard layout
      • custom keyboard layouts can be loaded from disk (to $0:$A000)
      • Caps key behaves as expected
      • support for Shift+AltGr combinations
      • support for dead keys (e.g. ^ + e = ê)
      • PgUp/PgDown, End, Menu and Del generate PETSCII codes
      • Numpad support
      • Shift+Alt toggles between charsets (like C64)
      • Editor: "End" will position cursor on last line
    • VERA source/target support for memory_fill, memory_copy, memory_crc, memory_decompress [with PG Lewis]
    • fixed headerless load for verify/VRAM cases [Mike Ketchen]
    • don't reset screen colors on mode switch
  • BASIC:
    • BLOAD, BVLOAD and BVERIFY commands for header-less loading [ZeroByteOrg]
    • KEYMAP command to change keyboard layout
    • support DOS8..DOS31 (and A=9:DOSA etc.) to switch default device
    • MOUSE and SCREEN accept -1 as argument (was: $FF)
    • Changed auto-boot filename from AUTOBOOT.X16* to AUTOBOOT.X16
  • Monitor:
    • fixed RMB/SMB disassembly

Emulator:

  • allow apps to intercept Cmd/Win, Menu and Caps-Lock keys
  • fixed -prg with -sdcard
  • fixed loading from host filesystem (length reporting by MACPTR on EOI)
  • macOS: support for older versions like Catalina (10.15)
  • Like 4
Link to comment
Share on other sites

I am having trouble loading an application with `-prg` when also using `-sdcard`.  I captured two gifs to help show what I'm seeing.  One was captured with `x16emu -sdcard card.img -prg AIRSHIP.PRG -scale 2 -joy1 -debug -gif with_prg.gif`, and the other with `x16emu -sdcard card.img -scale 2 -joy1 -debug -gif without_prg.gif`.  This is with the same `card.img` file, so the only difference is whether I am using `-prg` or if I am using `LOAD` once the emulator is running.  I should note how the first thing my application does it attempt to load additional resources from files on the SD card, however it should disable both layers before doing so (the "Loading..." text is made from hardware sprites).  The case using `-prg` never actual runs, and is somehow loading up the incorrect player sprite as well.  I suspect the loading of additional resources is the culprit.

That all said, loading manually with `LOAD` still works fine.

 

with_prg.gif

without_prg.gif

Link to comment
Share on other sites

Posted (edited)

There are some more characters in ISO8859-15 that are on the US International keyboard in Linux "setxkbmap us intl" and "setxkbmap us altgr-intl":
œŒ on xX and kK with Alt Gr, ïÏ on jJ. It's a bit strange that œŒ are on two keys.

US-International keyboard layout (Linux) also has ®® on vV and ëË on rR. I think one should at least have ®® also on vV since it is unused now, and that would open the opportunity to have ëË on rR later.

When using "setxkbmap us intl" in Linux you can type ' using AltGr+' and " using AltGr+Shift+'. I think this is better than ' followed by space and Shift+' followed by space which are the only alternatives in Windows with US-International to type ' and ".

Edited by mobluse
Link to comment
Share on other sites

On 5/7/2022 at 9:52 AM, Michael Steil said:
      • US layout is now US-International

While US-International is a great feature as an option, having " ' and ^ as dead keys by default would indeed be quite annoying when programming in Forth. ' is a standard forth word, as is ." and ABORT" ... among others. The only reason " is not a standard word is that it was implemented with different stack effects in different Forth systems.

  • Like 1
Link to comment
Share on other sites

@ZeroByte I think you are correct.  The problem was that the emulator was loading an older build artifact from my project repo rather than the fresh one that was put on the card image.  Thanks for clearing that up and helping me figure that out.

This sort of begs the question, what is the correct use of `-prg` and `-sdcard` together?  I thought the point of `-sdcard` was to run using a card image as the filesystem.  It never occurred to me that the host filesystem played any part once that was specified.

Link to comment
Share on other sites

@JestinProbably it should obey the host-vs-SD situation, but I remembered it being that way because I used it to bootstrap loading my PRG while testing so the PRG was fast, but then ran with the speed of SD once booted - saving a little time for each test run.

 

Link to comment
Share on other sites

  • Administrators
On 5/7/2022 at 7:11 PM, mobluse said:

There are some more characters in ISO8859-15 that are on the US International keyboard in Linux "setxkbmap us intl" and "setxkbmap us altgr-intl":
œŒ on xX and kK with Alt Gr, ïÏ on jJ. It's a bit strange that œŒ are on two keys.

US-International keyboard layout (Linux) also has ®® on vV and ëË on rR. I think one should at least have ®® also on vV since it is unused now, and that would open the opportunity to have ëË on rR later.

When using "setxkbmap us intl" in Linux you can type ' using AltGr+' and " using AltGr+Shift+'. I think this is better than ' followed by space and Shift+' followed by space which are the only alternatives in Windows with US-International to type ' and ".

The keymaps are direct conversions of the official Windows .klc files. Can you check whether what you know from Linux is part of

?

If yes, we have a bug. If no, we have to decide whether we want to have these Linux additions.

Link to comment
Share on other sites

  • Administrators
On 5/7/2022 at 10:47 PM, BruceMcF said:

While US-International is a great feature as an option, having " ' and ^ as dead keys by default would indeed be quite annoying when programming in Forth. ' is a standard forth word, as is ." and ABORT" ... among others. The only reason " is not a standard word is that it was implemented with different stack effects in different Forth systems.

These are only dead keys in ISO mode, not in PETSCII mode. I'd assume users will be mostly in PETSCII mode for programming, and in ISO mode for productivity?

Link to comment
Share on other sites

  • Super Administrators
On 5/8/2022 at 11:41 PM, Michael Steil said:

These are only dead keys in ISO mode, not in PETSCII mode. I'd assume users will be mostly in PETSCII mode for programming, and in ISO mode for productivity?

I would also assume ISO mode would be used for ANSI terminal software and any program written for a non-CBM 6502 system, such as Apple or BBC Micro programs. 

 

  • Like 1
Link to comment
Share on other sites

On 5/9/2022 at 2:41 AM, Michael Steil said:

These are only dead keys in ISO mode, not in PETSCII mode. I'd assume users will be mostly in PETSCII mode for programming, and in ISO mode for productivity?

As an option, they are handy either way ... but for people used to typing with standard US keyboards, the constant typos when used to using ' and " as live keys is going to be there in productivity applications as well.

If someone were to port Nick Gammon's G-Pascal, which in the 80's had a C64 version but which has been revived for systems like Ben Eater's breadboard computer, I'd expect they would port the modern version and program in ISO mode.

And while the work-around of allowing PETSCII £ to work as ISO \ makes it possible to have a ANSI Standard Forth which can be used in PETSCII mode, it would not be surprising if users coming to it with previous Forth programming experience would opt for the greater familiarity offered by operating in ISO mode.

  • Like 1
Link to comment
Share on other sites

Posted (edited)
On 5/9/2022 at 8:40 AM, Michael Steil said:

The keymaps are direct conversions of the official Windows .klc files. Can you check whether what you know from Linux is part of

?

If yes, we have a bug. If no, we have to decide whether we want to have these Linux additions.

It's not a bug, but Linux additions which give more characters from ISO8859-15 on the keyboard (œ, Œ, ï, and Ï) and easier access to some that exist (' and ") without removing any characters since ´ and ¨ doesn't exist in ISO8859-15.

Edited by mobluse
Link to comment
Share on other sites

There seems to be a bug in R41 RC in Linux (Raspberry Pi OS Buster) concerning automatic line breaks when you run a simple test program in SCREEN 6 (20x15 text mode). Each third line is blank when it prints 4 digit numbers. You can hold down Ctrl to make it scroll slower.

10 SCREEN 6
60 N=0
70 PRINT N;
80 N=N+1
90 GOTO 70

This was fixed in some earlier experiment:

Paste the program after SCREEN 0 or SCREEN 3, because when you paste in SCREEN 6 mode the program is corrupted and only some lines are retained. This seems to be another bug.

2022-05-10-202254_640x480_scrot.png

2022-05-10-202324_640x480_scrot.png

Link to comment
Share on other sites

Quote

SCREEN accept -1 as argument (was: $FF)

SCREEN -1 doesn't work here in Linux (Raspberry Pi OS Buster) when compiled now from current source.

Quote

don't reset screen colors on mode switch

SCREEN $FF works, but changes the colors to default (white on blue) instead of keeping the colors like it does when you use SCREEN 3 or SCREEN 6. I tried to use SCREEN $FF in order to make a version that works both in R38 and R41 and later.

Link to comment
Share on other sites

  • Administrators
On 5/10/2022 at 8:45 PM, mobluse said:

There seems to be a bug in R41 RC in Linux (Raspberry Pi OS Buster) concerning automatic line breaks when you run a simple test program in SCREEN 6 (20x15 text mode). Each third line is blank when it prints 4 digit numbers. You can hold down Ctrl to make it scroll slower.

10 SCREEN 6
60 N=0
70 PRINT N;
80 N=N+1
90 GOTO 70

Not a regression, but a problem with r40, too. Filed https://github.com/commanderx16/x16-rom/issues/319

Link to comment
Share on other sites

  • Administrators
On 5/10/2022 at 10:11 PM, mobluse said:

SCREEN -1 doesn't work here in Linux (Raspberry Pi OS Buster) when compiled now from current source.

SCREEN $FF works, but changes the colors to default (white on blue) instead of keeping the colors like it does when you use SCREEN 3 or SCREEN 6. I tried to use SCREEN $FF in order to make a version that works both in R38 and R41 and later.

Can you check with r41rc1? I just tested these again and they work for me.

Link to comment
Share on other sites

  • Administrators
On 5/7/2022 at 7:11 PM, mobluse said:

There are some more characters in ISO8859-15 that are on the US International keyboard in Linux "setxkbmap us intl" and "setxkbmap us altgr-intl":
œŒ on xX and kK with Alt Gr, ïÏ on jJ. It's a bit strange that œŒ are on two keys.

US-International keyboard layout (Linux) also has ®® on vV and ëË on rR. I think one should at least have ®® also on vV since it is unused now, and that would open the opportunity to have ëË on rR later.

When using "setxkbmap us intl" in Linux you can type ' using AltGr+' and " using AltGr+Shift+'. I think this is better than ' followed by space and Shift+' followed by space which are the only alternatives in Windows with US-International to type ' and ".

Filed https://github.com/commanderx16/x16-rom/issues/320 (for post r41).

Link to comment
Share on other sites

On 5/11/2022 at 12:43 PM, Michael Steil said:

Can you check with r41rc1? I just tested these again and they work for me.

SCREEN -1 and SCREEN $FF work now as they should when I use the current source from GitHub in Raspberry Pi OS Buster. I can not test r41rc1 in Raspberry Pi  OS since it is not compiled for ARM and there is no source.

Link to comment
Share on other sites

  • Administrators
On 5/7/2022 at 3:52 PM, Michael Steil said:

This is RC2:

http://www.pagetable.com/docs/tmp/x16emu_linux-r41_rc2.zip
http://www.pagetable.com/docs/tmp/x16emu_mac-r41_rc2.zip
http://www.pagetable.com/docs/tmp/x16emu_win-r41_rc2.zip

Difference: Default layout has no dead keys, can reach all of ISO-8859-15 using (Shift+)Alt/AltGr.

  • Like 1
Link to comment
Share on other sites

Posted (edited)
On 5/12/2022 at 9:03 PM, Michael Steil said:

Difference: Default layout has no dead keys, can reach all of ISO-8859-15 using (Shift+)Alt/AltGr.

Doesn't work in EN-US United States (with Mac extensions):
Alt+;    =    ×
Alt+X    . (Alt+x followed by space gives .; Alt+x seems to be a dead key.)
Alt+,    ␣    ,
Alt+.    ␣    .

These should work according to https://github.com/commanderx16/x16-docs/blob/master/X16 Reference - 02 - Editor.md

The only real problem is how to type × (multiplication sign, $D7).

I found this helpful page: https://sites.psu.edu/symbolcodes/mac/codemacext/

In Linux a similar map is English (US) - English (Macintosh): setxkbmap us mac

That is not exactly the same U.S. Extended in macOS: https://askubuntu.com/questions/292729/keyboard-layout-identical-to-us-extended-on-macbook-pro

Edited by mobluse
Link to comment
Share on other sites

  • Administrators
On 5/13/2022 at 12:44 AM, mobluse said:

Doesn't work in EN-US United States (with Mac extensions):
Alt+;    =    ×
Alt+X    . (Alt+x followed by space gives .; Alt+x seems to be a dead key.)
Alt+,    ␣    ,
Alt+.    ␣    .

Wow, thanks for testing it all. These were all documentation bugs, which are now fixed.

  • Alt+; = should be Shift+Alt+; =
  • Alt+. ␣ should be Alt+x ␣ (Yes, Alt+x is a dead key)
  • Alt+, ␣ should be Alt+p ␣
Link to comment
Share on other sites

Posted (edited)
On 5/13/2022 at 7:19 AM, Michael Steil said:

Wow, thanks for testing it all. These were all documentation bugs, which are now fixed.

  • Alt+; = should be Shift+Alt+; =
  • Alt+. ␣ should be Alt+x ␣ (Yes, Alt+x is a dead key)
  • Alt+, ␣ should be Alt+p ␣

There are still some characters that cannot be typed in ISO mode AFAIK: ¬¹²³.

BTW this Mac keyboard layout is called U.S. Extended or ABC Extended; not just U.S. or ABC because that is a slightly different layout with some AltGr dead keys on other positions.

Edited by mobluse
Link to comment
Share on other sites

  • Administrators
On 5/13/2022 at 2:10 PM, mobluse said:

There are still some characters that cannot be typed in ISO mode AFAIK: ¬¹²³.

BTW this Mac keyboard layout is called U.S. Extended or ABC Extended; not just U.S. or ABC because that is a slightly different layout with some AltGr dead keys on other positions.

You are right! Those as well as µ are not reachable. (My auto-test code was faulty.)

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.

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.

 Share

×
×
  • Create New...

Important Information

Please review our Terms of Use