Page 1 of 2
XRoar 1.11 released
Posted: Tue May 12, 2026 9:09 pm
by sixxie
https://www.6809.org.uk/xroar/
Here's the ChangeLog:
- New option -trap-trace-n N turns on trace mode for N instruction
- Fix trap address range check
- Windows: try to use consoles more intelligently
- Mac OS X+: fail gracefully when system audio channels > 2 [Steve Clamage]
- Option -no-cart disables cartridge for first running machine
- Support loading Motorola S19 records [Ken Willmott]
- Fix command-line loading of HEX and S19
- Initial iMMUnity support [by Jim Brain]
- New option for dragon/coco1/2: -machine-opt immunity
- Update CoCo3 keyboard IRQ state more often [craig]
- 74LS785 SAM support
- New option for dragon/coco1/2: -machine-opt sam=74ls783|74ls785|samx8
The first one is pretty useful - for example to see exactly what's setting the video mode:
Code: Select all
$ xroar -trap write=0xff22 -trap-trace-n 1
[...]
bb5b| a702 STA 2,X cc=58 a=f8 b=34 dp=00 x=ff20 y=b39b u=0000 s=0000
bb63| 6f02 CLR 2,X cc=54 a=f8 b=34 dp=00 x=ff20 y=b39b u=0000 s=0000
a958| b7ff22 STA $ff22 cc=a1 a=06 b=51 dp=00 x=ffc8 y=dec1 u=b4b3 s=7f2b
[...]
You can still enable the SAMx8 support with -ram 512, but you can also use -machine-opt sam=samx8 and use -ram 0 to ditch the on-board RAM.
I guess I didn't mention it in the ChangeLog, but the implication of the 74LS785 support is you can:
Code: Select all
$ xroar -m coco -ram 16 -ram-org 16kx4 -machine-opt sam=74ls785 -bas bas13
And it will simulate RAM used in later 16K CoCos.
iMMUnity is a new MMU/RAM expansion created by Jim Brain (that's been called CoCoMEM Jr. until now), and he contributed the code. Like the SAMx8, you can shortcut it by using -ram 2048, but you can actually specify amusing configurations that
should be possible in real life:
Code: Select all
$ xroar -m dragon64 -ram 0 -machine-opt sam=samx8 -machine-opt immunity
[...]
[part:dragon64] Dragon Data | Dragon 64
[samx8:ram] 1 bank * 512K = 512K SRAM
[immunity:ram] 1 bank * 2048K = 2048K extended RAM
[dragon64:ram] 0 banks * 0K = 0K motherboard RAM
[...]
I also failed to mention that GDB support is a bit more robust, and with Pere raising multiple issues, I've done some work on the
GDB patches. Tormod did a good job forward porting the patches, but it turned out there was actually quite a weird bug in the old version where if a breakpoint address contained zero at the point you set it, GDB would assume that was a software breakpoint. That bug remained and each version needed a different fix.
Sorry Mike, no aggregate per-instruction cycle counting yet.
..ciaran
Re: XRoar 1.11 released
Posted: Tue May 12, 2026 9:58 pm
by Go4Retro
I ask for grace on the code quality of my contribution. To assist Pere in testing code on his Dragon with the MMU, I quickly converted the Verilog to C to get the patch going. Once Pere and John prove out the correctness of the HW implementation, I will work to clean up the code.
Jim
Re: XRoar 1.11 released
Posted: Tue May 12, 2026 10:19 pm
by pser1
Hi Ciaran,
thanks for that update!
I have tried it on Windows and the new param -machine-opt immunity works perfectly.
GDB on Windows works flawlessly too!
But on Ubuntu, after adding your repository and "apt update", I got a message telling me
that there were 68 possible updates ...
I ended issuing
sudo apt upgrade
and after quite a lof of messages it ended correctly ... I hope
Then I modified the bash file "d64.sh" to use the new parameter and it didn't work!
So, I put back the previous name "-machine-opt cocomemjr" and that way the test programs
do work well.
I asume/hope that this 'new' parameter has not yet been added to the linux version.
In case it has been added, then I might have update something older ... I am afraid

thanks a lot for your unvaluable support!
cheers!
Re: XRoar 1.11 released
Posted: Wed May 13, 2026 7:04 am
by sixxie
pser1 wrote: ↑Tue May 12, 2026 10:19 pm
But on Ubuntu, after adding your repository and "apt update", I got a message telling me
that there were 68 possible updates ...
I ended issuing
sudo apt upgrade
and after quite a lof of messages it ended correctly ... I hope
Then I modified the bash file "d64.sh" to use the new parameter and it didn't work!
So, I put back the previous name "-machine-opt cocomemjr" and that way the test programs
do work well.
Hmm, are you using
https://answers.launchpad.net/~sixxie/+ ... ubuntu/ppa for Ubuntu packages? I did push out updates for jammy and noble, and both seem to have built.
I'm not sure if my Debian repo (
https://www.6809.org.uk/debian/) will work properly with Ubuntu, but it might.
Anyway, some debugging you can do is:
Code: Select all
$ apt-cache policy xroar
xroar:
Installed: 1.11+12SNAPSHOT20260512200000-1
Candidate: 1.11+12SNAPSHOT20260512200000-1
Version table:
*** 1.11+12SNAPSHOT20260512200000-1 500
500 http://www.6809.org.uk/debian testing/main amd64 Packages
100 /var/lib/dpkg/status
You should see the version number start with 1.11 (the rest of the version string is date based snapshot versioning - only because there used to be guidelines for uploading to the PPA about that, not sure if it's the done thing any more).
Alternatively you can just build from source again - the 'master' branch is now up to date. Or indeed the versioned source tarball linked on the main XRoar page.
..ciaran
Re: XRoar 1.11 released
Posted: Wed May 13, 2026 11:20 am
by pser1
Hi Ciaran,
The commands I had used yesterday to add your repository were these ones
Code: Select all
sudo add-apt-repository ppa:sixxie/ppa
sudo apt update
sudo apt upgrade
Today I have tried "apt-cache policy xroar" as you said, and this is the answer/message ...
Code: Select all
pser@pser-ERAZER-X7853-MD60707:~$ apt-cache policy xroar
xroar:
Instalados: (ninguno)
Candidato: 1.11+12SNAPSHOT20260512200001-0ubuntu1~noble
Tabla de versión:
1.11+12SNAPSHOT20260512200001-0ubuntu1~noble 500
500 https://ppa.launchpadcontent.net/sixxie/ppa/ubuntu noble/main amd64 Packages
pser@pser-ERAZER-X7853-MD60707:~$
So clearly I did something wrongly ...
If you know the dev branch is ok right now, I wouldn''t mind to go the hard way and ...
Code: Select all
rename xroar -> Z-xroar
git clone -b dev https://www.6809.org.uk/git/xroar.git
cd xroar
./autogen.sh
./configure
make
Any hint?
cheers!
pere
Re: XRoar 1.11 released
Posted: Wed May 13, 2026 1:07 pm
by sixxie
pser1 wrote: ↑Wed May 13, 2026 11:20 am
The commands I had used yesterday to add your repository were these ones
Code: Select all
sudo add-apt-repository ppa:sixxie/ppa
sudo apt update
sudo apt upgrade
Today I have tried "apt-cache policy xroar" as you said, and this is the answer/message ...
Code: Select all
pser@pser-ERAZER-X7853-MD60707:~$ apt-cache policy xroar
xroar:
Instalados: (ninguno)
Candidato: 1.11+12SNAPSHOT20260512200001-0ubuntu1~noble
Tabla de versión:
1.11+12SNAPSHOT20260512200001-0ubuntu1~noble 500
500 https://ppa.launchpadcontent.net/sixxie/ppa/ubuntu noble/main amd64 Packages
pser@pser-ERAZER-X7853-MD60707:~$
That implies you don't actually have it installed as a package!
Try "sudo apt install xroar". The package binary will be /usr/bin/xroar.
So clearly I did something wrongly ...
If you know the dev branch is ok right now, I wouldn''t mind to go the hard way and ...
That's fine - you don't even need the dev branch now - the current "master" is up to date (the default, so if you omit "-b dev" that's what you'd get), and may be preferable now. "dev" was while I was wrangling several different changes at once.
Just remember what you build locally is different to installing as a package. If you've been running "sudo make install" after building, it's probably been installed as /usr/local/bin/xroar, and that may take precedence over the packaged version found in /usr/bin - check your PATH environment variable.
..ciaran
Re: XRoar 1.11 released
Posted: Wed May 13, 2026 1:47 pm
by robcfg
Hi Ciaran!
Does the audio update on Mac address the issue when the devices change (say, you connect or disconnect bluetooth headsets) and either you get no sound or (specially if you disconnect the BT headset) it freezes?
Re: XRoar 1.11 released
Posted: Wed May 13, 2026 1:59 pm
by pser1
Hello Ciaran,
I have just done "sudo apt install xroar"
Issuing apt-cache policy xroar, now I can see
Code: Select all
pser@pser-ERAZER-X7853-MD60707:~$ apt-cache policy xroar
xroar:
Instalados: 1.11+12SNAPSHOT20260512200001-0ubuntu1~noble
Candidato: 1.11+12SNAPSHOT20260512200001-0ubuntu1~noble
Tabla de versión:
*** 1.11+12SNAPSHOT20260512200001-0ubuntu1~noble 500
500 https://ppa.launchpadcontent.net/sixxie/ppa/ubuntu noble/main amd64 Packages
100 /var/lib/dpkg/status
pser@pser-ERAZER-X7853-MD60707:~$ cd ..
I have edited my bash files that until now were calling xroar doing
xroar/src/xroar
And now just need a direct call to xroar ... that is correctly installed!
The new -machine-opt immunity works perfectly
Just a side note ... I asume that right now I have two installations ...
But there is only one 'xroar' folder
Could I asume that the contents of src/xroar and usr/bin/xroar are the very same?
will call them next time I switch to Ubuntu
thanks a lot"
pere
Re: XRoar 1.11 released
Posted: Wed May 13, 2026 2:09 pm
by pser1
well ... just tested on Ubuntu to discover ...
usr/bin/xroar (the installed one) is v1.11
but the one inside xroar/src/ is v1.10
What files could be deleted?
For instance gdb that was installed correctly, created a folder "binutils-gdb" as a result of the clone command
So xroar was created by the clone command some time ago ...
Would it be enough to delete or rename the exec file inside xroar/src ?
cheers!
pere
Re: XRoar 1.11 released
Posted: Wed May 13, 2026 2:43 pm
by sixxie
robcfg wrote: ↑Wed May 13, 2026 1:47 pm
Does the audio update on Mac address the issue when the devices change (say, you connect or disconnect bluetooth headsets) and either you get no sound or (specially if you disconnect the BT headset) it freezes?
Probably not - the specific problem was when it tried to open a device and couldn't get one with only two channels.
In both cases you're probably better off running with "-ao sdl" to side-step the macosx-specific audio code, as it's clearly not handling everything it needs to.
Your problem sounds like a need to respond to some event that wasn't obvious when I wrote it (and macosx was significantly younger!)
..ciaran