openMSX bugs

Page 7/9
1 | 2 | 3 | 4 | 5 | 6 | | 8 | 9

By Manuel

Ascended (17078)

Manuel's picture

11-11-2020, 00:02

It is not really possible when emulating at the low level that openMSX does. The MSX writes just 'high' and 'low' signals to the tape. You can't just change that to a CAS file.

However, a workaround is to use NYYRIKKI's cashandler script that is part of openMSX. What it does is that it uses debugger functionality to intercept calls to the BIOS which write/read data. So, that works on a bit higher level. (It's actually a kind of hack... which is also used in blueMSX.)

To use that script you need to work from the console. Type help cassave for instance to get the basic help.

By manolito74

Paragon (1154)

manolito74's picture

11-11-2020, 00:51

Hi Manuel. Ok, thanks for your reply. But I don't know how to do that. Is it supposed that I should be in the prompt, from the OpenMSX directory and do that?:

C:\Program Files\openMSX\openmsx help cassave

Or I should do that from the Debugger...? Or from the Emulator but with the Debugger running...? :-(

By Manuel

Ascended (17078)

Manuel's picture

11-11-2020, 07:32

No, open the console with F10 and then enter that command.

By mzoran

Expert (92)

mzoran's picture

14-11-2020, 12:37

I am seeing some display issues with SDLGL-PP renderer and odd scaling factor (simple scaler). This program should produce perfectly straight parallel lines:

10 SCREEN 7
20 FOR X=0 TO 511
30 LINE (X,0)-(X,211),(X MOD 15)+1
40 NEXT X
50 GOTO 50

But there appears an offset where lines after a certain y coordinate become 1 pixel shifted to the right.
If I set scaling factor to an even value or set renderer to SDL things look as expected.
Any hints on what am I doing wrong ?

By wouter_

Champion (437)

wouter_'s picture

14-11-2020, 14:57

You're not doing anything wrong. It's a bug in openMSX.
I'll look into it. Thanks for reporting!

By ericb59

Paladin (1015)

ericb59's picture

21-11-2020, 19:27

Hi,

Not sure I'm posting in the right thread... But..

It seems it not possible to cumulate other starting options when starting openMSX with a script file... right ?

In fact I would like to do that :
openmsx -script myStart_Script.tcl -carta Myrom.rom

but the rom is never loaded, only parameters from the script are taken into account.

By Manuel

Ascended (17078)

Manuel's picture

21-11-2020, 21:30

That works fine for me. If you try this in a command prompt, do you get any messages?

By Manuel

Ascended (17078)

Manuel's picture

21-11-2020, 23:46

Manuel wrote:

That works fine for me. If you try this in a command prompt, do you get any messages?

Also, what's in your script? That may matter a lot Smile

By ericb59

Paladin (1015)

ericb59's picture

22-11-2020, 08:52

So this is the script that overriding the -cart parameter ?
Here the content of the script

# MACHINE DEFINITION USED with FUSION-C 1.3
# Script version 1.1
#
# MSX1 With Floppy A
# Config based on
# MSX1 Sanyo PHC28L 64K + Sony_HBD-F1 Disk Drive MSX-DOS 1
# 

# _______________________________________________________________________________________
# -- Machine Configuration Variables --
# _______________________________________________________________________________________

# -- Set The MSX Machine to emulate
variable MSX_MACHINE Sanyo_PHC-28L

# -- Use Musical Memory Cartridge to have 1024K of RAM : 1=on 0=off
variable USE_MEMORY_1024K 0

# -- Use GFX9000 Video Cartridge : 1=on 0=off
variable USE_GFX9000 0

# -- Use FM PAC FM Cartridge : 1=on 0=off
variable USE_FMPAC 0

# -- Use SCC+ Cartridge : 1=on 0=off
variable USE_SCC 0

# -- Use a Slot Exnansio, Cartridge (To use more than 2 cartridges at same time) : 1=on 0=off
variable USE_EXPANDER 0

# -- Use Fusion-C's OpenMSX skin interface : 1=on 0=off
variable USE_FUSIONSKIN 1

# -- Default Scale Factor (OPenMSX's Window size  : 1, 2, 3)
variable DEFAULT_SCALE 2

# _______________________________________________________________________________________
# -- Drives source folders --
# _______________________________________________________________________________________

# -- Use Floppy Disk drive A : 1=on 0=off
variable USE_FLOPPY_A 1

# -- Use Floppy Disk drive B : 1=on 0=off
variable USE_FLOPPY_B 0

# -- Drive A: Content folders --
variable CONTENT_DSK_FOLDER1 "dsk/dska/"

# -- Drive B: Content folders --
variable CONTENT_DSK_FOLDER2 "dsk/dskb/"

# -- ROM content folder --
variable ROM_CONTENT_FOLDER "dsk/rom/"

# _______________________________________________________________________________________
# -- Export folders --
# _______________________________________________________________________________________

# -- Export folder for DSKA: --
variable CONTENT_EXPORT_DSKA "dsk/export/dska/"

# -- Export folder for DSKB: --
variable CONTENT_EXPORT_DSKB "dsk/export/dskb/"


# _______________________________________________________________________________________
# -- General settings --
# _______________________________________________________________________________________

#-- Video & sound Settings --
set horizontal_stretch 302
set scale_algorithm simple
set scale_factor $DEFAULT_SCALE
set scanline 23
set blur 32
set glow 10
set maxframeskip 3
set master_volue 75
#set mute off
set save_settings_on_exit off
#set auto_enable_reverse off
#disable_reversebar
escape_grab
#set fullspeedwhenloading on

if {$USE_FUSIONSKIN eq "1"} {
	load_icons fusion-c
	set consolebackground skins/ConsoleBackgroundFusionC.png
	set consolecolumns 155
}


# _______________________________________________________________________________________ 
# Keys mapping Configuration
# meta = CMD key on MacOS / Win key on Windows
# _______________________________________________________________________________________

# Press META+CTRL+U Toggle Mute
bind META+CTRL+U "toggle mute"

# Press F11 to cycle from different video-sources if exists
bind F11 cycle videosource						

# Press F12 to Force or release all Mouse/Keyboard inputs grabbed by OpenMSX
bind F12 "toggle grabinput"		
 
# Press ALT+F11 to decrease OpenMSX window
bind ALT+F11 -repeat "incr scale_factor -1"					

# Press ALT+F12 to increase OpenMSX window
bind ALT+F12 -repeat "incr scale_factor 1"			

# Press SHIFT+F11 to decrease emulation Speed 10%
bind SHIFT+F11 -repeat "incr speed -10"							

# Press SHIFT+F12 to increase emulation Speed 10%
bind SHIFT+F12 -repeat "incr speed 10"		

# Press META+W to toggle Power ON/OFF
bind META+W "toggle power"	

# Press META+R to Reset The Emulated MSX
bind META+R reset	

# Press META+Y to Type the content of the file "autoexec.bat" to the MSX DOS windows / Basic Screen
bind META+Y "type_from_file $CONTENT_DSK_FOLDER1/autoexec.bat"	


# _______________________________________________________________________________________

# MSX Machine emulated
machine $MSX_MACHINE
extb Sony_HBD-F1

# Plug a Slot Expansion cartridge
if {$USE_EXPANDER eq "1"} {
	ext slotexpander
}	

# Plug The Musical Memory Mapper with 1024K of RAM
if {$USE_MEMORY_1024K eq "1"} {							
	ext Musical_Memory_Mapper
}

# Plug GFX9000 Graphic Interface 
if {$USE_GFX9000 eq "1"} {
	ext gfx9000											
}

# Plug The FMPAC MUSIC Expansion cartridge
if {$USE_FMPAC eq "1"} {
	 ext fmpac
}

# Plug The SCC+ Expansion cartridge
if {$USE_SCC eq "1"} {
	 ext scc+
}
								
# Emulate the Cursors keys as Joystick in MSX's joystick Port A
plug joyporta keyjoystick1								

# Emulate your mouse as a MSX mouse in MSX's joystick port B
plug joyportb mouse 									

# Plug a Simple/Covox Module in the Printer Port. Default Audio output used
plug printerport simpl 									

# Enable The Fusion-C Debug Port. Use it with openMSX Debugger	
debug set_watchpoint read_io 0x2E						
		
# Starting the emulation at Full Speed
set throttle off										

# After 18 OpenMSX clocks (?), the normal speed of the computer is set back to normal
after time 18 "set throttle on"									


# _______________________________________________________________________________________
# Drive & Hard-drive
# _______________________________________________________________________________________

if {$USE_FLOPPY_A eq "1"} {
	diska $CONTENT_DSK_FOLDER1 										
}
if {$USE_FLOPPY_B eq "1"} {
	diskb $CONTENT_DSK_FOLDER2 									
}

By Manuel

Ascended (17078)

Manuel's picture

22-11-2020, 13:26

You're right, I guess it's because you're changing to a different machine in the script. You could set your default MSX machine to that Sanyo PHC-28L, or use the -machine command line option or also insert the ROM cartridge in the script or ... we should check out what's going on in detail. I'll discuss in the team.

Note that if you are always using this script, you can just as well save these as normal settings. All key bindings and lines starting with 'set' can be saved in openMSX so that they will be used again next time.

Also, the "18 OpenMSX clocks (?)", that's just 18 seconds of MSX time.

Page 7/9
1 | 2 | 3 | 4 | 5 | 6 | | 8 | 9