Cancelling or stopping the feature 'input text' ... and some more

Page 1/2
| 2

By Accumulator

Expert (114)

Accumulator's picture

30-12-2022, 23:11

I am hybrid testing some stuff on bare MSX and programming on OpenMSX, which is a super combination by the way.
When I copy some code to import it by usjng 'input text' and it is not going my way, like differences in coding or disassembling and importing, I am unable to stop the input text feature. It continues and continues, even when In stop my editor, it continues and continuous., sometimes for a long long time, and have to reset the entire instance.
Also I have to remove the \t (tab) in my copied text for importing, Otherwise it doesn't do anything.
When then import takes so long I have to modify the 'performance controls', like for example emulation speed and max to maximum to reduce waiting time... any idea to import directly without waiting 6 happy meals and 3 cola's? As importing an ascii file gives I/O error (Wbass2), I have no other choice!

It would be helpful to create a 'snapshot' and when something goes 'wrong' , just return to the snapshot.
Also when going back and forth, fyi, the bar above, the disk will be 'write protected'. A possibility to override? instead of removing and attaching directory again?
Now I am busy anyway, when changing vdp#0 #1 #2 and #9(10) the last lines (1 or 2) at the bottom of the screen start to blipper... when it starts, I am not able to stop it.

Any advice?

Login or register to post comments

By Manuel

Ascended (19219)

Manuel's picture

31-12-2022, 00:05

1. that pasting isn't very suitable for long texts. It cannot be interrupted, except by jumping back in time to the point before you pasted and then interrupting the replay by giving other input (e.g. a keyboard stroke). But an ASCII file should load fine. I don't know what WBAss2 expects though.
2. tabs work fine for me when pasting... but not with Catapult indeed. Well, better just paste into the MSX then Smile Or not, see previous point.
3. Did you consider to cross compile on the PC and not in an emulated MSX? That would save you a lot of hassle.
4. That snapshot exists. It's called the reverse feature. See the bar at the top. You can move to any time before, as you already found out...
5. ...however, writes to disk are not undone when you jump back in time. So to protect the integrity of the disk image, openMSX will make the disk image (including folders) readonly if they were changed. This cannot be overridden, as it will most likely really destroy your disks.
6. That VDP stuff most likely happens on a real MSX as well. If that's indeed true, it's not on-topic Smile

By NYYRIKKI

Enlighted (6011)

NYYRIKKI's picture

31-12-2022, 12:12

One more tip... Try on console:
set default_type_proc type_via_keybuf

It is not really universal solution for every use case, but generally it makes the copy/paste very fast as it skips the keyboard emulation completely. After this the software speed to handle input is usually the one that limits the speed. This method also transfers better those nonwritable characters.

By Manuel

Ascended (19219)

Manuel's picture

31-12-2022, 12:16

Do you have an example to support that last remark?

By NYYRIKKI

Enlighted (6011)

NYYRIKKI's picture

31-12-2022, 12:27

Manuel wrote:

Do you have an example to support that last remark?

Yes... Try ie. to write "ÄÄÖÖ" to MSX tR and the computer does not get input at all.

By Manuel

Ascended (19219)

Manuel's picture

31-12-2022, 18:22

That is to be expected as the turboR doesn't have these characters in its character set. What would you expect to happen?

By NYYRIKKI

Enlighted (6011)

NYYRIKKI's picture

31-12-2022, 19:16

Well... In my mind "something" is better than "nothing". In my ideal world "Ä" would produce ASCII code #8E that looks something like "よ" in MSX tR. In this case I could ie. save the BASIC program and load it on 8250 and there it would display it correctly as "Ä"... How ever I'm not blaming you that this does not happen. I just think that filling keyboard buffer works usually better for me. How ever there are multiple ways to look this issue and I don't try to claim that my way is the right one... It could also produce ie. "A" that is rather close...

By Grauw

Ascended (10679)

Grauw's picture

31-12-2022, 21:53

Accumulator wrote:

As importing an ascii file gives I/O error (Wbass2)

WBASS2 should have the ability to load ASCII files, it says so in the manual.

If it doesn’t work regularly, have you tried to end the file with a ^Z character (ASCII code 26)?

By Accumulator

Expert (114)

Accumulator's picture

31-12-2022, 23:11

No, When I code I use all different kind of tools, gedit, scite, geany, msx basic, wbass, gen80, etc.. But most problems occur when I have to copy or import code to MSX, like to compile on MSX, for some reason. Currently testing all kinds of screen modes and possibilities and have to test on bare MSX. Coding on PC, but combining codes is the most challenging I have noticed Cool
After I finished my code I will publish it, and possible differences in OpenMSX and bare MSX, I will highlight.

I noticed the bar on the top, but would like a snapshot button, in case the coding hangs, due to infinite loop or no return. That case, press button, alter code, and run again.. Or sounds stupid and have to code correctly in one time... Smile

By Accumulator

Expert (114)

Accumulator's picture

01-01-2023, 02:32

I was just thinking, is it possible to create extensions for OpenMSX / Catapult? With API documentation?
If possible to create something like:
- To read/write from/to MSX Memory (incl slot select) (Hex Monitor)
- Editor / Assembler / Disassembler (in-line), using files from drive/directory selected with 'Disk drives, or memory.

Where can I find some documentation?

By Manuel

Ascended (19219)

Manuel's picture

01-01-2023, 16:03

Accumulator wrote:

No, When I code I use all different kind of tools, gedit, scite, geany, msx basic, wbass, gen80, etc.. But most problems occur when I have to copy or import code to MSX, like to compile on MSX, for some reason. Currently testing all kinds of screen modes and possibilities and have to test on bare MSX. Coding on PC, but combining codes is the most challenging I have noticed Cool

I'm not sure what you mean, but using WBass2 to compile on an emulated MSX doesn't sound like the easiest way to go to me.

Quote:

After I finished my code I will publish it, and possible differences in OpenMSX and bare MSX, I will highlight.

Always interested to hear about differences. Unfortunately we cannot always easily address them, but it's good to have a list of things that are wrong anyway.

Quote:

I noticed the bar on the top, but would like a snapshot button, in case the coding hangs, due to infinite loop or no return. That case, press button, alter code, and run again..

The bar on the top is visualizing a continuous snapshot... you can jump backwards in time to any moment, e.g. before your test run where the code hangs.
You can even bookmark specific times in the timeline with a console command:
[code}reverse_bookmarks create mylabel[/code] which creates a bookmark on the timeline with the label 'mylabel' at the current time. It will also show up in the timeline at the top. And if you want to go back to that time, you can click the label there.
Bookmarks can be saved and loaded as well.

Alternatively, you can make a savestate at the time you want.

Quote:

I was just thinking, is it possible to create extensions for OpenMSX / Catapult? With API documentation?
If possible to create something like:
- To read/write from/to MSX Memory (incl slot select) (Hex Monitor)
- Editor / Assembler / Disassembler (in-line), using files from drive/directory selected with 'Disk drives, or memory.
Where can I find some documentation?

The openMSX Debugger is a separate program that interfaces with openMSX, via the method described here: https://openmsx.org/manual/openmsx-control.html
It already features most of the the things you mention there, except for an assembler.

You can also write scripts in Tcl that directly interact with the emulated MSX. There are many examples coming with openMSX itself in the share/scripts directory. Documentation is mostly here: https://openmsx.org/manual/commands.html
Note that the openMSX console is an interactive Tcl shell.

Page 1/2
| 2