![]() |
![]() |
#161 | |
Registered User
Join Date: Sep 2007
Location: Melbourne/Australia
Posts: 4,354
|
Quote:
![]() I'm running OS 3.9, maybe a different OS is causing the problem? Tried it with 'keyboardlayout' set to both 'us' and 'gr' and neither caused a crash with the latest Aminet version 0.74.032. Code:
# This is the configurationfile for DOSBox 0.74. # Lines starting with a # are commentlines and are ignored by DOSBox. # They are used to (briefly) document the effect of each option. [sdl] # fullscreen: Start dosbox directly in fullscreen. (Press ALT-Enter to go back) # autolock: Mouse will automatically lock, if you click on the screen. (Press CTRL-F10 to unlock) # sensitivity: Mouse sensitivity. # mapperfile: File used to load/save the key/event mappings from. Resetmapper only works with the defaul value. # usescancodes: Avoid usage of symkeys, might not work on all operating systems. # closewb: Close the Workbench (if possible). fullscreen=false autolock=true sensitivity=100 mapperfile=mapper-0.74.map usescancodes=false closewb=true [dosbox] # language: Select another language file. # machine: The type of machine tries to emulate. # Possible values: hercules, cga, tandy, pcjr, ega, vgaonly, svga_s3, svga_et3000, svga_et4000, svga_paradise, vesa_nolfb, vesa_oldvbe. # memsize: Amount of memory DOSBox has in megabytes. # This value is best left at its default to avoid problems with some games, # though few games might require a higher value. # There is generally no speed advantage when raising this value. language= machine=svga_s3 memsize=16 [render] # frameskip: How many frames DOSBox skips before drawing one. frameskip=0 [cpu] # core: CPU Core used in emulation. # Possible values: auto, normal, simple. # cputype: CPU Type used in emulation. auto is the fastest choice. # Possible values: auto, 386, 386_slow, 486_slow, pentium_slow, 386_prefetch. # cycles: Amount of instructions DOSBox tries to emulate each millisecond. # Setting this value too high results in sound dropouts and lags. # 'fixed #number' will set a fixed amount of cycles. # cycleup: Amount of cycles to decrease/increase with keycombo.(CTRL-F11/CTRL-F12) # cycledown: Setting it lower than 100 will be a percentage. core=simple cputype=auto cycles=fixed 1156 cycleup=10 cycledown=20 [mixer] # nosound: Enable silent mode, sound is still emulated though. # rate: Mixer sample rate, setting any device's rate higher than this will probably lower their sound quality. # Possible values: 44100, 48000, 32000, 22050, 16000, 11025, 8000, 49716. # blocksize: Mixer block size, larger blocks might help sound stuttering but sound will also be more lagged. # Possible values: 1024, 2048, 4096, 8192, 512, 256. # prebuffer: How many milliseconds of data to keep on top of the blocksize. # priority: Mixer thread priority. nosound=false rate=11025 blocksize=2048 prebuffer=20 priority=1 [midi] # mpu401: Type of MPU-401 to emulate. # Possible values: intelligent, uart, none. # mididevice: Device that will receive the MIDI data from MPU-401. # Possible values: default, camd, none. # midiconfig: Special configuration options for the device driver. This is usually the id of the device you want to use. # See the README/Manual for more details. mpu401=intelligent mididevice=camd midiconfig= [sblaster] # sbtype: Type of Soundblaster to emulate. gb is Gameblaster. # Possible values: sb1, sb2, sbpro1, sbpro2, sb16, gb, none. # sbbase: The IO address of the soundblaster. # Possible values: 220, 240, 260, 280, 2a0, 2c0, 2e0, 300. # irq: The IRQ number of the soundblaster. # Possible values: 7, 5, 3, 9, 10, 11, 12. # dma: The DMA number of the soundblaster. # Possible values: 1, 5, 0, 3, 6, 7. # hdma: The High DMA number of the soundblaster. # Possible values: 1, 5, 0, 3, 6, 7. # sbmixer: Allow the soundblaster mixer to modify the DOSBox mixer. # oplmode: Type of OPL emulation. On 'auto' the mode is determined by sblaster type. All OPL modes are Adlib-compatible, except for 'cms'. # Possible values: auto, cms, opl2, dualopl2, opl3, none. # oplemu: Provider for the OPL emulation. compat might provide better quality (see oplrate as well). # Possible values: default, compat, fast. # oplrate: Sample rate of OPL music emulation. Use 49716 for highest quality (set the mixer rate accordingly). # Possible values: 44100, 49716, 48000, 32000, 22050, 16000, 11025, 8000. sbtype=sb16 sbbase=220 irq=7 dma=1 hdma=5 sbmixer=false oplmode=auto oplemu=fast oplrate=11025 [gus] # gus: Enable the Gravis Ultrasound emulation. # gusrate: Sample rate of Ultrasound emulation. # Possible values: 44100, 48000, 32000, 22050, 16000, 11025, 8000, 49716. # gusbase: The IO base address of the Gravis Ultrasound. # Possible values: 240, 220, 260, 280, 2a0, 2c0, 2e0, 300. # gusirq: The IRQ number of the Gravis Ultrasound. # Possible values: 5, 3, 7, 9, 10, 11, 12. # gusdma: The DMA channel of the Gravis Ultrasound. # Possible values: 3, 0, 1, 5, 6, 7. # ultradir: Path to Ultrasound directory. In this directory # there should be a MIDI directory that contains # the patch files for GUS playback. Patch sets used # with Timidity should work fine. gus=false gusrate=8000 gusbase=240 gusirq=5 gusdma=3 ultradir=C:\ULTRASND [speaker] # pcspeaker: Enable PC-Speaker emulation. # pcrate: Sample rate of the PC-Speaker sound generation. # Possible values: 44100, 48000, 32000, 22050, 16000, 11025, 8000, 49716. # tandy: Enable Tandy Sound System emulation. For 'auto', emulation is present only if machine is set to 'tandy'. # Possible values: auto, on, off. # tandyrate: Sample rate of the Tandy 3-Voice generation. # Possible values: 44100, 48000, 32000, 22050, 16000, 11025, 8000, 49716. pcspeaker=false pcrate=8000 tandy=off tandyrate=8000 [joystick] # joysticktype: Type of joystick to emulate: auto (default), none, # 2axis (supports two joysticks), # 4axis (supports one joystick, first joystick used), # 4axis_2 (supports one joystick, second joystick used), # fcs (Thrustmaster), ch (CH Flightstick). # none disables joystick emulation. # auto chooses emulation depending on real joystick(s). # (Remember to reset dosbox's mapperfile if you saved it earlier) # Possible values: auto, 2axis, 4axis, 4axis_2, fcs, ch, none. # timed: enable timed intervals for axis. Experiment with this option, if your joystick drifts (away). # autofire: continuously fires as long as you keep the button pressed. # swap34: swap the 3rd and the 4th axis. can be useful for certain joysticks. # buttonwrap: enable button wrapping at the number of emulated buttons. joysticktype=auto timed=false autofire=false swap34=false buttonwrap=false [serial] # serial1: set type of device connected to com port. # Possible values: dummy, disabled. # serial2: see serial1 # Possible values: dummy, disabled. # serial3: see serial1 # Possible values: dummy, disabled. # serial4: see serial1 # Possible values: dummy, disabled. serial1=disabled serial2=disabled serial3=disabled serial4=disabled [dos] # xms: Enable XMS support. # ems: Enable EMS support. # umb: Enable UMB support. # keyboardlayout: Language code of the keyboard layout (or none). xms=true ems=true umb=true keyboardlayout=gr |
|
![]() |
![]() |
#162 |
Senior Member
Join Date: Jun 2001
Location: Germany
Posts: 1,121
|
As I wrote earlier, I'm running a fresh install of 3.1.4. If the port is OS-friendly, which I assume, it should work the same way as with OS 3.9.
Maybe it's not the character "ö" sent to DOSBox, but the scancode? Are the scancodes of a German keyboard different? Also note this issue has been reported by others in this thread: https://eab.abime.net/showpost.php?p...9&postcount=50 (OS 3.1) https://eab.abime.net/showpost.php?p...5&postcount=78 https://eab.abime.net/showpost.php?p...&postcount=114 And yes, keyboardlayout is not related to the issue. But it also does not fix it when set to the "correct" layout. |
![]() |
![]() |
#163 |
Registered User
Join Date: Sep 2007
Location: Melbourne/Australia
Posts: 4,354
|
Check my configuration file posted above, scan codes are set to false.
|
![]() |
![]() |
#164 |
Senior Member
Join Date: Jun 2001
Location: Germany
Posts: 1,121
|
I know, that was not the reason for my question.
I'm just trying to think what could cause the crash. Also, if I'm not mistaken, that option only controls the mapper, but at some layer in the code, it has to deal with scancodes anyway when processing the input, doesn't it? Not sure if that helps finding the culprit, but the crash does not happen in the mapper. I can press "ö" or any other non-standard key there just fine. But the mapper has no name for the key(s) and just says "key unknown". Trying to assign anything to one of those unknown keys results in a freeze and a GURU. |
![]() |
![]() |
#165 |
Senior Member
Join Date: Jun 2001
Location: Germany
Posts: 1,121
|
I assume you were not able to find anything that could be the cause of the keyboard/freeze issue?
Also, I noticed that "vgaonly" does not work. It complains about not finding a suitable screen mode, even when fullscreen is set to false. Seems like some checks are in the wrong order. In windowed mode, there's no need to search for a suitable screen mode. In fullscreen, I can have about 1250 cycles before it starts to struggle. This is with svga_s3. I would guess vgaonly could allow a few more cycles. |
![]() |
![]() |
#166 | |||
Registered User
Join Date: Sep 2007
Location: Melbourne/Australia
Posts: 4,354
|
Quote:
Quote:
Quote:
A long time ago we tried to improve the core emulation speed with a JIT compiler but it proved too difficult and the dosbox community weren't too interested in helping, that's the only way to make this port faster. Last edited by NovaCoder; 05 September 2023 at 02:48. |
|||
![]() |
![]() |
#167 | ||
Senior Member
Join Date: Jun 2001
Location: Germany
Posts: 1,121
|
Quote:
Quote:
As for speed, I'm not blaming you. It seems something in the design of DosBox makes it slow, but certainly not the interpreter approach. PC-Task 4 in the interpreter version has no issue performing like a 486 @ 33-40 MHz on Emu68, whereas DosBox only reaches AT speed (286, 6-8 MHz). I still want to be able to use it due to sound emulation, which PC-Task lacks. Last edited by derSammler; 05 September 2023 at 10:41. |
||
![]() |
![]() |
#168 | |
Registered User
Join Date: Sep 2007
Location: Melbourne/Australia
Posts: 4,354
|
Quote:
|
|
![]() |
![]() |
#169 |
Senior Member
Join Date: Jun 2001
Location: Germany
Posts: 1,121
|
You always only read half of my posts, do you?
![]() PC-Task comes with both. As I wrote, I was refering to the non-jit interpreter version. The jit version can not be benchmarked, as its speed is all over the place. |
![]() |
![]() |
#170 |
Senior Member
Join Date: Jun 2001
Location: Germany
Posts: 1,121
|
As for "vgaonly", I sorted that. Seems like in your port, the option is just "vga".
|
![]() |
![]() |
#171 |
Senior Member
Join Date: Jun 2001
Location: Germany
Posts: 1,121
|
After lots of testing, I think I found the root for the keyboard issue: the mapper file is *completely* ignored.
I noticed other strange behavior first, like that y and z are swapped when they shouldn't. So I edited the mapper-0.74.map and made key_y use 122 instead of 121 and key_z 121 instead of 122. But nothing changed, the keys were still swapped. Did the same using the included mapper and it worked. Well, almost. Despite clicking on "Save", the change was gone on next start. No changes were written to mapper-0.74.map (which, as just described, would not have worked anyway), and I can even delete the file completely without any feedback from DOSBox. The file is simply not used. Conclusion: without the mapper file being used, one can never fully adapt the keyboard to a non-English one. The freeze when pressing e.g. the "Ö" key can most likely be solved if key_ö would be added to the mapper file. But that requires that it is actually used... |
![]() |
![]() |
#172 | |
Registered User
Join Date: Sep 2007
Location: Melbourne/Australia
Posts: 4,354
|
Quote:
When I get the time I'll take a look at the code. |
|
![]() |
![]() |
#173 |
Senior Member
Join Date: Jun 2001
Location: Germany
Posts: 1,121
|
Let's hope it is an easy fix.
![]() |
![]() |
Currently Active Users Viewing This Thread: 1 (0 members and 1 guests) | |
Thread Tools | |
![]() |
||||
Thread | Thread Starter | Forum | Replies | Last Post |
[ongoing] DosBox AGA (v0.74) | NovaCoder | project.Amiga Game Factory | 182 | 14 January 2022 03:26 |
DosBox v0.74 AGA 68k Port | NovaCoder | Amiga scene | 20 | 07 June 2018 02:17 |
68k SoftCore development for DosBox AGA | NovaCoder | Coders. Asm / Hardware | 0 | 18 February 2013 06:04 |
Can I use this for AGA/RTG switching? | Smiley | support.Hardware | 18 | 21 November 2006 13:23 |
AGA/RTG switch on amigakit.com | keropi | Hardware pics | 44 | 16 November 2006 00:10 |
|
|