B-Em new Windows builds

want to talk about MESS/model b/beebem/b-em/electrem/elkulator? do it here!
Post Reply
Coeus
Posts: 1416
Joined: Mon Jul 25, 2016 11:05 am
Contact:

B-Em new Windows builds

Post by Coeus » Tue Aug 13, 2019 12:33 am

There are two new builds of B-Em for Windows. Each can be downloaded in both 32bit and 64bit versions:

1. m6809 support: https://github.com/stardot/b-em/releases/tag/mc6890 (branch master)
2. Integra B emulation: https://github.com/stardot/b-em/releases/tag/integra1 (branch sf/integra)

The Integra branch is not well tested but follows on from a discussion on here: viewtopic.php?f=3&t=17401#p244851

In each case it should be sufficient to unzip into a folder and double-click b-em. You may have to tell Windows you really want to run it.

For Linux these can be built from the downloadable source or via git from the appropriate branch.
Last edited by Coeus on Tue Aug 13, 2019 12:35 am, edited 1 time in total.

User avatar
vanekp
Posts: 675
Joined: Thu Nov 30, 2000 7:09 am
Location: The Netherlands
Contact:

Re: B-Em new Windows builds

Post by vanekp » Mon Aug 19, 2019 8:06 am

found a problem with the tape eject/rewind menu items on this build they are swapped around, I submitted a ticket on github for it.
I also see no difference in tape loading on normal or Fast.
Peter.

User avatar
KenLowe
Posts: 853
Joined: Mon Oct 18, 2004 4:35 pm
Location: Scotland
Contact:

Re: B-Em new Windows builds

Post by KenLowe » Mon Sep 23, 2019 11:39 pm

Hi,

Would it be possible to consider using the patched IBOS ROM that I posted in this thread, which changes the default century from 19xx to 20xx? Useful for when entering the year as a 2 digit number. I've also made another couple of default setting tweaks in this patched ROM.

Another minor point (and Beebem is the same). The IBOS reset [Ctrl-@-Break] behaviour does not match that of the real hardware. On initial boot up, [Ctrl-@-Break] works fine. However, if the default language is then set to Basic (*CONF. LANG 14), any subsequent [Ctrl-@-Break] don't work. Setting the default language back to IBOS (*CONF. LANG 15) gets it working again. On real hardware, a [Ctrl-@-Break] will work when the language is set to Basic.

Other than that, it looks to be working well.
Last edited by KenLowe on Mon Sep 23, 2019 11:41 pm, edited 1 time in total.

Coeus
Posts: 1416
Joined: Mon Jul 25, 2016 11:05 am
Contact:

Re: B-Em new Windows builds

Post by Coeus » Wed Sep 25, 2019 12:28 pm

KenLowe wrote:
Mon Sep 23, 2019 11:39 pm
Would it be possible to consider using the patched IBOS ROM that I posted in this thread, which changes the default century from 19xx to 20xx? Useful for when entering the year as a 2 digit number. I've also made another couple of default setting tweaks in this patched ROM.
Yes, that's fine.
KenLowe wrote:
Mon Sep 23, 2019 11:39 pm
Another minor point (and Beebem is the same). The IBOS reset [Ctrl-@-Break] behaviour does not match that of the real hardware. On initial boot up, [Ctrl-@-Break] works fine. However, if the default language is then set to Basic (*CONF. LANG 14), any subsequent [Ctrl-@-Break] don't work. Setting the default language back to IBOS (*CONF. LANG 15) gets it working again. On real hardware, a [Ctrl-@-Break] will work when the language is set to Basic.
I wonder what is happening there, then. Is there some hidden feature of the real hardware that is not in the documentation or some other subtlety we have both missed? It may be possible to spot this from a disassembly of IBOS, especially if there is a commented one. If not I could trace the accesses to the known hardware, i.e. ROMSEL, ACCON and the RTC/CMOS and see if there is anything obvious there but perhaps we would also need the equivalent from the real hardware to stop the difference.

If we wanted to compare real hardware with emulators it would probably be best to start with the real hardware and see what could be traced there and have the emulators trace the same thing. I know we can do an instruction trace from the tube port with a very cheap logic analyser that Dave was involved with but we may need to capture quite a lot to see what is happenning. The other possibility would be to use a logic analyser on just ROMSEL/ACCCON/RTC and see what that finds.

One quirk I am aware of is that a real RTC has a regular update cycle where the clock registers are not available and there is a bit in register A to say when this is in progress. B-Em's standard CMOS implementation didn't emulate that as clock updates work completely differently, i.e. that module doesn't count time itself but simply asks the OS for the current time when any of those registers are read. It does implement an offset, so one can set the time/date to something other than the real current date/time and then that offset is applied when the time is read. This provides the illusion that the RTC is counting up from the value it was set to but using the real system clock for improved accuracy. IBOS does check the bit is register A, i.e. sometimes it will wait for it to say "busy" and then wait for it to go back to "free" before reading the clock so I have had to insert a hack to return busy every so many reads of register A. What I can't see if why this would affect the way language selection works at start-up.

User avatar
KenLowe
Posts: 853
Joined: Mon Oct 18, 2004 4:35 pm
Location: Scotland
Contact:

Re: B-Em new Windows builds

Post by KenLowe » Wed Sep 25, 2019 3:33 pm

Coeus wrote:
Wed Sep 25, 2019 12:28 pm
KenLowe wrote:
Mon Sep 23, 2019 11:39 pm
Another minor point (and Beebem is the same). The IBOS reset [Ctrl-@-Break] behaviour does not match that of the real hardware. On initial boot up, [Ctrl-@-Break] works fine. However, if the default language is then set to Basic (*CONF. LANG 14), any subsequent [Ctrl-@-Break] don't work. Setting the default language back to IBOS (*CONF. LANG 15) gets it working again. On real hardware, a [Ctrl-@-Break] will work when the language is set to Basic.
I wonder what is happening there, then. Is there some hidden feature of the real hardware that is not in the documentation or some other subtlety we have both missed? It may be possible to spot this from a disassembly of IBOS, especially if there is a commented one. If not I could trace the accesses to the known hardware, i.e. ROMSEL, ACCON and the RTC/CMOS and see if there is anything obvious there but perhaps we would also need the equivalent from the real hardware to stop the difference.
I have a partially commented disassembly of IBOS that I can send to you. It's a Work in Progress. I began a debug on Beebem yesterday to see if I could understand where things were going wrong. One thing I did notice on Ctrl-@-Break, is that the OS would never step into the Language entry point for ROM 15 (IBOS) when the IBOS LANG parameter was set to a ROM slot lower than 15. Thus, IBOS was never getting the opportunity to trigger an IBOS reset. I'm guessing that something is happening during OS initialisation via the Service entry route to the IBOS ROM which is telling the OS to ignore ROM 15 when subsequently initialising a language. As you can probably tell, I'm not familiar with the way the OS initialises the beeb!

Coeus
Posts: 1416
Joined: Mon Jul 25, 2016 11:05 am
Contact:

Re: B-Em new Windows builds

Post by Coeus » Wed Sep 25, 2019 3:50 pm

KenLowe wrote:
Wed Sep 25, 2019 3:33 pm
I have a partially commented disassembly of IBOS that I can send to you. It's a Work in Progress.
That would be very helpful.
KenLowe wrote:
Wed Sep 25, 2019 3:33 pm
I began a debug on Beebem yesterday to see if I could understand where things were going wrong. One thing I did notice on Ctrl-@-Break, is that the OS would never step into the Language entry point for ROM 15 (IBOS) when the IBOS LANG parameter was set to a ROM slot lower than 15. Thus, IBOS was never getting the opportunity to trigger an IBOS reset. I'm guessing that something is happening during OS initialisation via the Service entry route to the IBOS ROM which is telling the OS to ignore ROM 15 when subsequently initialising a language. As you can probably tell, I'm not familiar with the way the OS initialises the beeb!
I suspect this works a bit like JGH's language ROMs targetted at the tube. Somewhere in the OS initialisation it makes a "catalogue" of the ROMs in OS workspace by copying the rom type byte from the ROM header of each ROM. At the same time it does a compare to eliminate shadow copies of the same ROM due to incomplete address decoding.

After that there are some ROM service calls made and then finally the OS searches this ROM catalogue for the first language ROM and enters that.

With non-6502 tube processors there can be an issue that a non-6502 language is sent across the tube and crashes the co-processor because it overwrites code already executing there. What JGH did in his tube language ROMs was to use one of the ROM services calls that happen between the initial cataloguing of the ROMs and the language being entered to edit that catalogue and remove the language bit from any ROM that wasn't suitable for the co-processor attached. Then, when the OS searched for a language ROM, it only found suitables ones.

So IBOS could be doing the same and using a service call to remove the language bit in the ROM catalogue of any ROMs that don't match the configured language slot number, or at least any that would be higher priority. Maybe it should also be checking for the reset condition and not remove the language flag from its own entry in the catalogue in that case.

User avatar
KenLowe
Posts: 853
Joined: Mon Oct 18, 2004 4:35 pm
Location: Scotland
Contact:

Re: B-Em new Windows builds

Post by KenLowe » Wed Sep 25, 2019 4:35 pm

I suspect that is exactly what's happening. You've managed to articulate it much better than I could ever have done!

The odd thing, though, is that a Ctrl-@-Break on a real beeb seems to bypass the service call code that modifies the ROM catalogue (if that's what's happening); where-as the emulators seem to process the service call code that modifies the ROM catalogue :?.

User avatar
KenLowe
Posts: 853
Joined: Mon Oct 18, 2004 4:35 pm
Location: Scotland
Contact:

Re: B-Em new Windows builds

Post by KenLowe » Wed Sep 25, 2019 8:11 pm

Just been doing some more testing on real hardware. IBOS in bank 15, Basic in 14, Viewsheet in 13 and ViewStore in 12.

If I *CONF. LANG into any of the 3 slots 14, 13 or 12 the beeb will boot into that language. If I then do a Ctrl-@-Break, I will get the IBOS reset message.
Doing the same in B-Em (and Beebem), it just continues to boot into the previously *CONFd language. If I then *CONF. LANG 15, reboot, and then do a Ctrl-@-Break, I will get the IBOS reset message.

I wonder if the '@' key is not being processed correctly by the emulator, when being pressed along with the 'CTRL' & 'F12' keys?

Another minor point... In the ROM drop down menu, If I select RAM for one of the banks, I get a check mark against it, but the bank then seems to report it as ROM. When I delselect the RAM, the check mark disappears, but the bank then reports it as RAM. It seems to be reversed?

Coeus
Posts: 1416
Joined: Mon Jul 25, 2016 11:05 am
Contact:

Re: B-Em new Windows builds

Post by Coeus » Wed Sep 25, 2019 8:17 pm

Ken,

I have just found the issue. IBOS tests some flags in the RTC chip to see if it has been reset and B-Em, at least, was not implementing this. I implemented this in B-Em's cmos.c module:

Code: Select all

void cmos_reset(void)
{
    cmos[0xb] &= 0x87; /* clear bits in register B */
    cmos[0xc] = 0;
}
and arranged for that to be called when the break key is pressed. Now doing Ctrl@-Break gives the "Reset Y/N?" message. I assume from that the RTC reset line is connected to the processor reset line on the real hardware.

Coeus
Posts: 1416
Joined: Mon Jul 25, 2016 11:05 am
Contact:

Re: B-Em new Windows builds

Post by Coeus » Wed Sep 25, 2019 8:30 pm


User avatar
KenLowe
Posts: 853
Joined: Mon Oct 18, 2004 4:35 pm
Location: Scotland
Contact:

Re: B-Em new Windows builds

Post by KenLowe » Wed Sep 25, 2019 9:38 pm

Coeus wrote:
Wed Sep 25, 2019 8:17 pm
Ken,

I have just found the issue. IBOS tests some flags in the RTC chip to see if it has been reset and B-Em, at least, was not implementing this. I implemented this in B-Em's cmos.c module:

Code: Select all

void cmos_reset(void)
{
    cmos[0xb] &= 0x87; /* clear bits in register B */
    cmos[0xc] = 0;
}
and arranged for that to be called when the break key is pressed. Now doing Ctrl@-Break gives the "Reset Y/N?" message. I assume from that the RTC reset line is connected to the processor reset line on the real hardware.
That's fixed it. Thanks for sorting that out. You certainly got there quicker than I would have done. I'll see if I can port this back into Beebem too. You are correct in your assumption regarding the RTC reset line. This is connected directly to the CPU reset line. IC2 is the RTC, and the IC at the bottom is part of the 6502 & the header which connect to the main BBC motherboard:
Attachments
Reset.PNG
Edit: Correct line highlighted!
Last edited by KenLowe on Wed Sep 25, 2019 11:10 pm, edited 1 time in total.

User avatar
KenLowe
Posts: 853
Joined: Mon Oct 18, 2004 4:35 pm
Location: Scotland
Contact:

Re: B-Em new Windows builds

Post by KenLowe » Fri Sep 27, 2019 12:14 am

I'm getting a bit confused with the ROM selection process. If I change the ROMs via the drop down menu, I don't seem to be able to get the selection to stick. With the previous version of B-Em ('BBC B w/8271 FDC + Integra B' model), I modified the ROMs list from the drop down menu as follows:
ROMs.PNG
ROMS
With the new version of B-Em, whilst I can still change the ROMs via the drop down menu, it always defaults back to what you see in the screenshot if I switch to another model, and then back again. None of these selections are in the b-em.cfg file, either. It's as if B-Em is picking up a .cfg file from a different (read only) location. I've searched, but can't find any other b-em.cfg files. Any ideas?

Code: Select all

[model_00]
name=BBC A w/OS 0.1
fdc=none
65c02=false
b+=false
master=false
modela=true
os01=true
compact=false
os=os01
tube=none
romsetup=os01
rom15=basic1
[model_01]
name=BBC B w/OS 0.1
fdc=none
65c02=false
b+=false
master=false
modela=false
os01=true
compact=false
os=os01
tube=none
romsetup=os01
rom15=basic1
[model_02]
name=BBC A
fdc=i8271
65c02=false
b+=false
master=false
modela=true
os01=false
compact=false
os=os12
tube=none
romsetup=std
rom15=basic2
rom14=vdfs
[model_03]
name=BBC B w/8271 FDC
fdc=i8271
65c02=false
b+=false
master=false
modela=false
os01=false
compact=false
os=os12
tube=none
romsetup=std
rom15=basic2
rom14=vdfs
rom13=dfs09
[model_04]
name=BBC B w/8271+SWRAM
fdc=i8271
65c02=false
b+=false
master=false
modela=false
os01=false
compact=false
os=os12
tube=none
romsetup=swram
rom15=basic2
rom14=vdfs
rom13=dfs09
[model_05]
name=BBC B w/1770 FDC
fdc=acorn
65c02=false
b+=false
master=false
modela=false
os01=false
compact=false
os=os12
tube=none
romsetup=swram
rom15=basic2
rom14=vdfs
rom13=dfs226
[model_06]
name=BBC B US
fdc=i8271
65c02=false
b+=false
master=false
modela=false
os01=false
compact=false
os=usmos
tube=none
romsetup=std
rom15=usbasic
rom14=vdfs
rom13=usdnfs
[model_07]
name=BBC B German
fdc=i8271
65c02=false
b+=false
master=false
modela=false
os01=false
compact=false
os=deos
tube=none
romsetup=std
rom15=usbasic
rom14=vdfs
rom13=usdnfs
[model_08]
name=BBC B+ 64K
fdc=acorn
65c02=false
b+=true
master=false
modela=false
os01=false
compact=false
os=bpos
tube=none
romsetup=std
rom15=basic2
rom14=vdfs
rom13=dfs226
[model_09]
name=BBC B+ 128K
fdc=acorn
65c02=false
b+=true
master=false
modela=false
os01=false
compact=false
os=bpos
tube=none
romsetup=bp128
rom15=basic2
rom14=vdfs
rom11=dfs226
[model_10]
name=BBC Master 128
fdc=master
65c02=true
b+=false
master=true
modela=false
os01=false
compact=false
os=mos320
cmos=cmos
tube=none
romsetup=master
rom08=vdfs
[model_11]
name=BBC Master 512
fdc=master
65c02=true
b+=false
master=true
modela=false
os01=false
compact=false
os=mos320
cmos=cmos
tube=80186
romsetup=master
rom08=vdfs
[model_12]
name=BBC Master Turbo
fdc=master
65c02=true
b+=false
master=true
modela=false
os01=false
compact=false
os=mos320
cmos=cmos
tube=6502 Internal
romsetup=master
rom08=vdfs
[model_13]
name=BBC Master Compact
fdc=master
65c02=true
b+=false
master=true
modela=false
os01=false
compact=true
os=os51
cmos=cmosc
tube=none
romsetup=std
rom15=utils
rom14=basic48
rom13=adfs210
rom12=vdfs
[model_14]
name=ARM Evaluation System
fdc=master
65c02=true
b+=false
master=true
modela=false
os01=false
compact=false
os=mos320
cmos=cmosa
tube=ARM
romsetup=master
rom08=vdfs
[model_15]
name=BBC Master 128 w/MOS 3.5
fdc=master
65c02=true
b+=false
master=true
modela=false
os01=false
compact=false
os=mos350
cmos=cmos350
tube=none
romsetup=master
rom08=vdfs
[model_16]
name=BBC B wo/FDC w/SWRAM
fdc=none
65c02=false
b+=false
master=false
modela=false
os01=false
compact=false
os=os12
tube=none
romsetup=swram
rom15=basic2
rom14=vdfs
[model_17]
name=BBC B w/Solidisk 1770 FDC
fdc=stl
65c02=false
b+=false
master=false
modela=false
os01=false
compact=false
os=os12
tube=none
romsetup=swram
rom15=basic2
rom14=vdfs
rom13=stldfs21
[model_18]
name=BBC B w/Opus 1770 FDC
fdc=opus
65c02=false
b+=false
master=false
modela=false
os01=false
compact=false
os=os12
tube=none
romsetup=swram
rom15=basic2
rom14=vdfs
rom13=oddos345
[model_19]
name=BBC B w/Watford 1770 FDC
fdc=watford
65c02=false
b+=false
master=false
modela=false
os01=false
compact=false
os=os12
tube=none
romsetup=swram
rom15=basic2
rom14=vdfs
rom13=wddfs153
[model_21]
name=BBC B with 65C02, no FDC
fdc=none
65c02=true
b+=false
master=false
modela=false
os01=false
compact=false
os=os12
tube=none
romsetup=swram
rom15=basic4
rom14=vdfs
[model_20]
name=BBC B, 65C02, Acorn 1770
fdc=acorn
65c02=true
b+=false
master=false
modela=false
os01=false
compact=false
os=os12
tube=none
romsetup=swram
rom15=basic4
rom14=vdfs
rom13=dfs226
[model_22]
name=BBC B w/Test ROM
fdc=acorn
65c02=false
b+=false
master=false
modela=false
os01=false
compact=false
os=testrom
cmos=cmos
tube=none
romsetup=swram
rom08=vdfs
rom07=/home/fozzy/Computing/BBC/roms/ViewPD110.rom
rom15=basic2
rom14=vdfs
rom13=dfs226
[model_23]
name=BBC Master 128 w/MOS 3.22
fdc=master
65c02=true
b+=false
master=true
modela=false
os01=false
compact=false
os=mos322.rom
cmos=cmos
tube=none
romsetup=master
rom08=vdfs
[model_24]
name=BBC Master 128 w/MOS 3.52
fdc=master
65c02=true
b+=false
master=true
modela=false
os01=false
compact=false
os=mos352.rom
cmos=cmos350
tube=none
romsetup=master
rom08=vdfs
[model_25]
name=BBC B w/1770 FDC + Integra B
fdc=acorn
65c02=false
b+=false
master=false
modela=false
os01=false
compact=false
os=os12
tube=none
integra=true
cmos=cmos_integra
romsetup=swram
rom15=integra12p
rom14=basic2
rom13=vdfs
rom12=dfs226
[model_26]
name=BBC B w/8271 FDC + Integra B
fdc=i8271
65c02=false
b+=false
master=false
modela=false
os01=false
compact=false
os=os12
tube=none
integra=true
cmos=cmos_integra
romsetup=swram
rom15=integra12p
rom14=basic2
rom13=vdfs
rom12=dfs09
[disc]
defaultwriteprotect=false
scsienable=true
ideenable=false
vdfsenable=true
[sound]
sndinternal=true
sndbeebsid=true
sndmusic5000=true
snddac=false
sndddnoise=true
sndtape=false
soundfilter=false
soundwave=0
sidmethod=0
cursid=2
buflen_music5000=1500
ddvol=2
ddtype=0
[video]
fullborders=1
displaymode=1
[tape]
fasttape=false
tape=
[midi]
music4000_jack_enabled=false
music2000_out1_jack_enabled=false
music2000_out2_jack_enabled=false
music2000_out3_jack_enabled=false
music4000_alsa_seq_enabled=false
music4000_alsa_raw_enabled=false
music4000_alsa_raw_device=default
music2000_out1_alsa_seq_enabled=false
music2000_out2_alsa_seq_enabled=false
music2000_out3_alsa_seq_enabled=false
music2000_out1_alsa_raw_enabled=false
music2000_out2_alsa_raw_enabled=false
music2000_out3_alsa_raw_enabled=false
music2000_out1_alsa_raw_device=default
music2000_out2_alsa_raw_device=default
music2000_out3_alsa_raw_device=default
[user_keyboard]
key_define_057=58
key_define_071=70
key_define_086=71
key_define_087=56
key_define_088=47
[joymap X Box One Standard]
joystick=Microsoft X-Box One S pad
stick0axis0adc=1
stick0axis0scale=-1
stick0axis1adc=2
stick0axis1scale=-1
stick1axis0adc=0
stick1axis1adc=4
stick2axis0adc=3
stick2axis1adc=0
stick0axis0nkey=A
stick0axis0pkey=S
[bbc_b_8271]
name=BBC B w/8271 FDC
rom15=basic2
rom14=vdfs
rom13=dfs09
[bbc_b_swram]
name=BBC B w/8271+SWRAM
rom15=basic2
rom14=vdfs
rom13=dfs09

Coeus
Posts: 1416
Joined: Mon Jul 25, 2016 11:05 am
Contact:

Re: B-Em new Windows builds

Post by Coeus » Fri Sep 27, 2019 12:18 pm

Ken, which OS?

When reading the config file B-Em searches for one in various places. For Windows, that search is done by the following:

Code: Select all

static bool win_file_exists(ALLEGRO_PATH *path, const char *name, const char *ext) {
    const char *cpath;
    DWORD dwAttrib;

    al_set_path_filename(path, name);
    al_set_path_extension(path, ext);
    cpath = al_path_cstr(path, ALLEGRO_NATIVE_PATH_SEP);
    dwAttrib = GetFileAttributes(cpath);
    if (dwAttrib != INVALID_FILE_ATTRIBUTES && !(dwAttrib & FILE_ATTRIBUTE_DIRECTORY)) {
        log_debug("win: %s found at '%s'", name, cpath);
        return true;
    }
    else {
        log_debug("win: %s not found at '%s'", name, cpath);
        return false;
    }
}

ALLEGRO_PATH *find_cfg_file(const char *name, const char *ext) {
    ALLEGRO_PATH *path;

    if ((path = al_get_standard_path(ALLEGRO_USER_SETTINGS_PATH))) {
        if (win_file_exists(path, name, ext))
            return path;
        al_destroy_path(path);
    }
    if ((path = al_get_standard_path(ALLEGRO_RESOURCES_PATH))) {
        if (win_file_exists(path, name, ext))
            return path;
        al_destroy_path(path);
    }
    return NULL;
}
The Allegro documentation on al_get_standard_path is here: https://liballeg.org/a5docs/trunk/syste ... ndard_path

On windows I think it is a directory in your roaming profile. So essentially it is looking for a user-specific settings file first and, if not found using the one from the same directory as the executable. When saving it uses:

Code: Select all

ALLEGRO_PATH *find_cfg_dest(const char *name, const char *ext) {
    ALLEGRO_PATH *path;
    const char *cpath;

    if ((path = al_get_standard_path(ALLEGRO_USER_SETTINGS_PATH))) {
        cpath = al_path_cstr(path, ALLEGRO_NATIVE_PATH_SEP);
        CreateDirectory(cpath, NULL);
        al_set_path_filename(path, name);
        al_set_path_extension(path, ext);
        return path;
    }
    return NULL;
}
so it is going straight for the user-specific one.

User avatar
KenLowe
Posts: 853
Joined: Mon Oct 18, 2004 4:35 pm
Location: Scotland
Contact:

Re: B-Em new Windows builds

Post by KenLowe » Fri Sep 27, 2019 12:26 pm

It's windows 10. The odd thing is that the config file doesn't seem to get updated with any changes I make, regardless of where it's located. It keeps defaulting back to a config I made with the previous version of B-Em. I did have a quick search through my user profile directory structure yesterday, and couldn't find anything. I'll try again later, once I get home.

Coeus
Posts: 1416
Joined: Mon Jul 25, 2016 11:05 am
Contact:

Re: B-Em new Windows builds

Post by Coeus » Fri Sep 27, 2019 12:42 pm

In Windows it looks like the user-specific config location is C:\Users\<username>\AppData\Roaming\b-em.exe
On Linux it is ~username/.config/b-em

The ROM profiles are model specific but B-Em should be saving back to the config file when the model changes. I'll check to see if that is an omission.

User avatar
KenLowe
Posts: 853
Joined: Mon Oct 18, 2004 4:35 pm
Location: Scotland
Contact:

Re: B-Em new Windows builds

Post by KenLowe » Fri Sep 27, 2019 2:00 pm

Coeus wrote:
Fri Sep 27, 2019 12:42 pm
In Windows it looks like the user-specific config location is C:\Users\<username>\AppData\Roaming\b-em.exe
On Linux it is ~username/.config/b-em

The ROM profiles are model specific but B-Em should be saving back to the config file when the model changes. I'll check to see if that is an omission.
Thank you. Found the files in C:\Users\<username>\AppData\Roaming\b-em.exe. This hidden folder obviously isn't searched when using the Windows search feature.

Doing some further testing, I can see that the ROM configuration is saved on exit of B-Em, but it doesn't seem to get saved when switching models. I think this is what was confusing me yesterday.

There's also something strange going on with the ROM / RAM toggle:
ROMRAM1.PNG
Sometimes RAM enabled without being selected
ROMRAM2.PNG
Sometimes RAM enabled when selected
Last edited by KenLowe on Fri Sep 27, 2019 2:05 pm, edited 1 time in total.

Coeus
Posts: 1416
Joined: Mon Jul 25, 2016 11:05 am
Contact:

Re: B-Em new Windows builds

Post by Coeus » Fri Sep 27, 2019 4:21 pm

I believe I have fixed these issues: https://github.com/stardot/b-em/releases/tag/integra3

Post Reply