Advance Mess and BBC Micro and joystick control
-
@caver01 Hi. Thanks. I've done it. I've now got working BBC Micro emulation for Thrust where (a) the game starts automatically and (b) exiting the emulator is possible with the joystick in the same way as Retroarch/libretro cores.
I'm still using xboxdrv for exiting, but I will adapt your QBERT example to see if I can exit AdvMess without xboxdrv.
The
script_play
for Thrust needs to be as follows:script_play delay(750); simulate_key(key_scrlock,75); simulate_key(key_c,75); delay(75); simulate_key(key_h,75); delay(75); simulate_key(key_a,75); delay(75); simulate_key(key_i,75); delay(75); simulate_key(key_n,75); delay(75); simulate_key(key_space,75); delay(200); simulate_key(key_lshift,150); simulate_key(key_2,50); delay(200); simulate_key(key_t,75); delay(75); simulate_key(key_h,75); delay(75); simulate_key(key_r,75); delay(75); simulate_key(key_u,75); delay(75); simulate_key(key_s,75); delay(75); simulate_key(key_t,75); delay(200); simulate_key(key_lshift,150); simulate_key(key_2,50); delay(200); simulate_key(key_enter,75); delay(75);
It is possible for parentheses/inverted commas (ie SHIFTmodifier+2) to be simulated on the BBC Micro command line with the following:
delay(200); simulate_key(key_lshift,150); simulate_key(key_2,50); delay(200);
Note that there is no
delay
command between theshift
key and the2
. Effectively,shift
is being held down as the2
is typed.The script above can just be adapted for every game. However, it does mean that every game requires its own
advmess.rc
because every game is going to have a differentscript_play
command.At the moment, I'm still using individual bash scripts to invoke xboxdrv so I can exit cleanly without a keyboard. However, I've been thinking about runcommand and what @edmaul69 has recently said above.
Just thinking: as each game will need a separate
advmess.rc
, would something like this inemulators.cfg
work?advmess= sudo /opt/retropie/emulators/advmame/bin/advmess bbcb -cfg /opt/retropie/configs/bbcmicro/%BASENAME%.rc -floppy %ROM% default = "advmess"
I have not tested this as yet as I'm just pleased that I've got a configuration to work for one game that can be replicated.
The Holy Grail though would be to get some form of automatic configuration for starting BBC Micro games and for exiting the BBC Micro emulator using runcommand without a keyboard and without xboxdrv. Absent a specific libretro core for the BBC Micro, this would just about mean that everyone using RetroPie could emulate the BBC Micro without a lot of difficulty.
-
@caver01 and @edmaul69 This came as a bit of a nice surprise. I definitely don't need individual .rc files. Even the
script_play
command can be individualised in the generaladvmess.rc
file eg for Thrust and Chuckie Egg.bbcb[home_pi_retropie_roms_bbcmicro_thrust]/script_play delay(750); simulate_key(key_scrlock,75); simulate_key(key_c,75); delay(75); simulate_key(key_h,75); delay(75); simulate_key(key_a,75); delay(75); simulate_key(key_i,75); delay(75); simulate_key(key_n,75); delay(75); simulate_key(key_space,75); delay(200); simulate_key(key_lshift,150); simulate_key(key_2,50); delay(200); simulate_key(key_t,75); delay(75); simulate_key(key_h,75); delay(75); simulate_key(key_r,75); delay(75); simulate_key(key_u,75); delay(75); simulate_key(key_s,75); delay(75); simulate_key(key_t,75); delay(200); simulate_key(key_lshift,150); simulate_key(key_2,50); delay(200); simulate_key(key_enter,75); delay(75); bbcb[home_pi_retropie_roms_bbcmicro_chuckie]/script_play delay(750); simulate_key(key_scrlock,75); simulate_key(key_c,75); delay(75); simulate_key(key_h,75); delay(75); simulate_key(key_a,75); delay(75); simulate_key(key_i,75); delay(75); simulate_key(key_n,75); delay(75); simulate_key(key_space,75); delay(200); simulate_key(key_lshift,150); simulate_key(key_2,50); delay(200); simulate_key(key_c,75); delay(75); simulate_key(key_h,75); delay(75); simulate_key(key_u,75); delay(75); simulate_key(key_c,75); delay(75); simulate_key(key_k,75); delay(75); simulate_key(key_i,75); delay(75); simulate_key(key_e,75); delay(75); simulate_key(key_space,75); delay(75); simulate_key(key_e,75); delay(75); simulate_key(key_g,75); delay(75); simulate_key(key_g,75); delay(200); simulate_key(key_lshift,150); simulate_key(key_2,50); delay(200); simulate_key(key_enter,75); delay(75);
So tonight I'll have a look and see whether I can get AdvMess to accept exiting using 2 joystick buttons and, if so, I've got everything I need and I should be able to just go back to using runcommand.
-
@spud11 glad you figured out the prefixes. I have been saying that all along. It is coming together!
-
Here are some tipps to adjust advmess.rc (...\configs\mame-advmame):
Get rid off the nag screen:
misc_quiet yes
If you just want to auto load your ssd's without typing CHAIN"LOAD" each time, then use this script:
bbcb/script_play delay(750); simulate_key(key_scrlock,75); simulate_key(key_c,75); delay(75); simulate_key(key_h,75); delay(75); simulate_key(key_a,75); delay(75); simulate_key(key_i,75); delay(75); simulate_key(key_n,75); delay(75); simulate_key(key_space,75); delay(200); simulate_key(key_lshift,150); simulate_key(key_2,50); delay(200); simulate_key(key_l,75); delay(75); simulate_key(key_o,75); delay(75); simulate_key(key_a,75); delay(75); simulate_key(key_d,75); delay(75); simulate_key(key_lshift,150); simulate_key(key_2,50); delay(200); simulate_key(key_enter,75); delay(75);
-
Is it possible to remap specific games without making .sh files for each game and using a single advmess.rc file without destroying the bootup scripts?
In other words I use the CHAIN"LOAD" script and additionally I 'd like to remap a keyboard game to joystick (I'd prefer to play Exile.ssd with a Joystick). Do I scramble up those letters which are already used by the chain load script? -
@teller I don't know the answer to that. Instead of using advmess's internal joystick controls, I use
xboxdrv
so my joysticks mimic the keys that are already set by each game. It means I don't need to fiddle too much with theadvmess.rc
file, except to add in thescript_play
commands to autostart games. @John_RM_70 or @SpudsMcToole may have a better idea as I'm pretty sure both of them are using joysticks via the advmess.rc file. -
@teller Yes, you can remap autoboots and key maps to specific games in a single RC file. See my guide to AdvMESS And The BBC Micro For Dummies which I think is still on the front page.
-
splendid!
here's my joystick config for SEE EMILY PLAY ;)bbcbp128[home_pi_retropie_roms_bbcmicro_seeemilyplay]/input_map[key_capslock] joystick_digital[046d_c219,0,0,1] or keyboard[0566_3029,capslock] bbcbp128[home_pi_retropie_roms_bbcmicro_seeemilyplay]/input_map[key_ctrl] joystick_digital[046d_c219,0,0,0] or keyboard[0566_3029,lcontrol] bbcbp128[home_pi_retropie_roms_bbcmicro_seeemilyplay]/input_map[key_space] joystick_button[046d_c219,tr] or keyboard[0566_3029,space] bbcbp128[home_pi_retropie_roms_bbcmicro_seeemilyplay]/input_map[key_n] joystick_button[046d_c219,tl] or keyboard[0566_3029,n] bbcbp128[home_pi_retropie_roms_bbcmicro_seeemilyplay]/input_map[key_enter] joystick_button[046d_c219,a] or keyboard[0566_3029,enter]
I use a Logitech F710 which is working very well on RetroPie!
The funny thing was that the capslock didn't turn up to be saved, so I had to manually enter that line into advmess.rc. -
Are there any games that only work with the bbcb, that can't be loaded on bbcbp128?
I ask because I think it's not possible to switch between the two without modifying manually the emulators.cfg. -
@teller said in Advance Mess and BBC Micro and joystick control:
Are there any games that only work with the bbcb, that can't be loaded on bbcbp128?
I ask because I think it's not possible to switch between the two without modifying manually the emulators.cfg.I found a few, I'd recommend using bbcb rather tham bbcbp128.
-
unfortunately in this game SABRE WULF the input key SHIFT is used for using the sword. It can't be mapped twice, otherwise i get a Type mismatch error and the autoboot command looks like this:
CHAIN 2LOAD2 instead of CHAIN "LOAD"input map (SWORD):
bbcb[home_pi_retropie_roms_bbcmicro_sabrewulf]/input_map[key_shift] joystick_button[046d_c219,a] or keyboard[0566_3029,lshift]
autoboot command
bbcb[home_pi_retropie_roms_bbcmicro_sabrewulf]/script_play delay(750); simulate_key(key_scrlock,75); simulate_key(key_c,75); delay(75); simulate_key(key_h,75); delay(75); simulate_key(key_a,75); delay(75); simulate_key(key_i,75); delay(75); simulate_key(key_n,75); delay(75); simulate_key(key_space,75); delay(200); simulate_key(key_lshift,150); simulate_key(key_2,50); delay(200); simulate_key(key_l,75); delay(75); simulate_key(key_o,75); delay(75); simulate_key(key_a,75); delay(75); simulate_key(key_d,75); delay(75); simulate_key(key_lshift,150); simulate_key(key_2,50); delay(200); simulate_key(key_enter,75); delay(75);
I also tried rshift.
In other words, a game which uses the same keys for the autoboot command can't be used. -
@teller Could you use capslock instead? That's what I use in the script_play commands.
-
@spud11 Good idea!
But if I try key_capslock I get
CHAIN load -
@teller Ok. Repeat the capslock command in your script_play so that it is capitalised again and make sure you use the "2" to create the quotations. Have a look at some of my scripts in the other thread.
-
@teller In fact, here are my scripts for you:
bbcb/script_play delay(750); simulate_key(key_scrlock,75); simulate_key(key_c,75); delay(75); simulate_key(key_h,75); delay(75); simulate_key(key_a,75); delay(75); simulate_key(key_i,75); delay(75); simulate_key(key_n,75); delay(75); simulate_key(key_space,75); delay(75); simulate_key(key_capslock,75); delay(75); simulate_key(key_2,75); delay(75); simulate_key(key_l,75); delay(75); simulate_key(key_o,75); delay(75); simulate_key(key_a,75); delay(75); simulate_key(key_d,75); delay(75); simulate_key(key_2,75); delay(75); simulate_key(key_capslock,75); delay(75); simulate_key(key_enter,75); delay(75); bbcbp128/script_play delay(750); simulate_key(key_scrlock,75); simulate_key(key_c,75); delay(75); simulate_key(key_h,75); delay(75); simulate_key(key_a,75); delay(75); simulate_key(key_i,75); delay(75); simulate_key(key_n,75); delay(75); simulate_key(key_space,75); delay(75); simulate_key(key_capslock,75); delay(75); simulate_key(key_2,75); delay(75); simulate_key(key_l,75); delay(75); simulate_key(key_o,75); delay(75); simulate_key(key_a,75); delay(75); simulate_key(key_d,75); delay(75); simulate_key(key_2,75); delay(75); simulate_key(key_capslock,75); delay(75); simulate_key(key_enter,75); delay(75); bbcbp128[home_pi_retropie_roms_bbcmicro_chuckie]/script_play delay(750); simulate_key(key_scrlock,75); simulate_key(key_c,75); delay(75); simulate_key(key_h,75); delay(75); simulate_key(key_a,75); delay(75); simulate_key(key_i,75); delay(75); simulate_key(key_n,75); delay(75); simulate_key(key_space,75); delay(200); simulate_key(key_capslock,75); delay(75); simulate_key(key_2,75); delay(75); simulate_key(key_c,75); delay(75); simulate_key(key_h,75); delay(75); simulate_key(key_u,75); delay(75); simulate_key(key_c,75); delay(75); simulate_key(key_k,75); delay(75); simulate_key(key_i,75); delay(75); simulate_key(key_e,75); delay(75); simulate_key(key_space,75); delay(75); simulate_key(key_e,75); delay(75); simulate_key(key_g,75); delay(75); simulate_key(key_g,75); delay(75); simulate_key(key_2,50); delay(75); simulate_key(key_capslock,75); delay(75); simulate_key(key_enter,75); delay(75); bbcbp128[home_pi_retropie_roms_bbcmicro_thrust]/script_play delay(750); simulate_key(key_scrlock,75); simulate_key(key_c,75); delay(75); simulate_key(key_h,75); delay(75); simulate_key(key_a,75); delay(75); simulate_key(key_i,75); delay(75); simulate_key(key_n,75); delay(75); simulate_key(key_space,75); delay(75); simulate_key(key_capslock,75); delay(75); simulate_key(key_2,75); delay(75); simulate_key(key_t,75); delay(75); simulate_key(key_h,75); delay(75); simulate_key(key_r,75); delay(75); simulate_key(key_u,75); delay(75); simulate_key(key_s,75); delay(75); simulate_key(key_t,75); delay(75); simulate_key(key_2,75); delay(75); simulate_key(key_capslock,75); delay(75); simulate_key(key_enter,75); delay(75); bbcbp128[home_pi_retropie_roms_bbcmicro_elite]/script_play delay(750); simulate_key(key_scrlock,75); simulate_key(key_capslock,75); delay(75); simulate_key(key_quote,75); delay(75); simulate_key(key_1,75); delay(75); simulate_key(key_b,75); delay(75); simulate_key(key_o,75); delay(75); simulate_key(key_o,75); delay(75); simulate_key(key_t,75); delay(75); simulate_key(key_enter,75); delay(75); bbcb[home_pi_retropie_roms_bbcmicro_chuckie]/script_play delay(750); simulate_key(key_scrlock,75); simulate_key(key_c,75); delay(75); simulate_key(key_h,75); delay(75); simulate_key(key_a,75); delay(75); simulate_key(key_i,75); delay(75); simulate_key(key_n,75); delay(75); simulate_key(key_space,75); delay(200); simulate_key(key_capslock,75); delay(75); simulate_key(key_2,75); delay(75); simulate_key(key_c,75); delay(75); simulate_key(key_h,75); delay(75); simulate_key(key_u,75); delay(75); simulate_key(key_c,75); delay(75); simulate_key(key_k,75); delay(75); simulate_key(key_i,75); delay(75); simulate_key(key_e,75); delay(75); simulate_key(key_space,75); delay(75); simulate_key(key_e,75); delay(75); simulate_key(key_g,75); delay(75); simulate_key(key_g,75); delay(75); simulate_key(key_2,50); delay(75); simulate_key(key_capslock,75); delay(75); simulate_key(key_enter,75); delay(75); bbcb[home_pi_retropie_roms_bbcmicro_elite]/script_play delay(750); simulate_key(key_scrlock,75); simulate_key(key_capslock,75); delay(75); simulate_key(key_quote,75); delay(75); simulate_key(key_1,75); delay(75); simulate_key(key_b,75); delay(75); simulate_key(key_o,75); delay(75); simulate_key(key_o,75); delay(75); simulate_key(key_t,75); delay(75); simulate_key(key_enter,75); delay(75); bbcb[home_pi_retropie_roms_bbcmicro_thrust]/script_play delay(750); simulate_key(key_scrlock,75); simulate_key(key_c,75); delay(75); simulate_key(key_h,75); delay(75); simulate_key(key_a,75); delay(75); simulate_key(key_i,75); delay(75); simulate_key(key_n,75); delay(75); simulate_key(key_space,75); delay(75); simulate_key(key_capslock,75); delay(75); simulate_key(key_2,75); delay(75); simulate_key(key_t,75); delay(75); simulate_key(key_h,75); delay(75); simulate_key(key_r,75); delay(75); simulate_key(key_u,75); delay(75); simulate_key(key_s,75); delay(75); simulate_key(key_t,75); delay(75); simulate_key(key_2,75); delay(75); simulate_key(key_capslock,75); delay(75); simulate_key(key_enter,75); delay(75); bbcb[home_pi_retropie_roms_bbcmicro_repton]/script_play delay(750); simulate_key(key_scrlock,75); simulate_key(key_c,75); delay(75); simulate_key(key_h,75); delay(75); simulate_key(key_a,75); delay(75); simulate_key(key_i,75); delay(75); simulate_key(key_n,75); delay(75); simulate_key(key_space,75); delay(75); simulate_key(key_capslock,75); delay(75); simulate_key(key_2,75); delay(75); simulate_key(key_l,75); delay(75); simulate_key(key_o,75); delay(75); simulate_key(key_a,75); delay(75); simulate_key(key_d,75); delay(75); simulate_key(key_e,75); delay(75); simulate_key(key_r,75); delay(75); simulate_key(key_2,75); delay(75); simulate_key(key_capslock,75); delay(75); simulate_key(key_enter,75); delay(75); bbcbp128[home_pi_retropie_roms_bbcmicro_repton]/script_play delay(750); simulate_key(key_scrlock,75); simulate_key(key_c,75); delay(75); simulate_key(key_h,75); delay(75); simulate_key(key_a,75); delay(75); simulate_key(key_i,75); delay(75); simulate_key(key_n,75); delay(75); simulate_key(key_space,75); delay(75); simulate_key(key_capslock,75); delay(75); simulate_key(key_2,75); delay(75); simulate_key(key_l,75); delay(75); simulate_key(key_o,75); delay(75); simulate_key(key_a,75); delay(75); simulate_key(key_d,75); delay(75); simulate_key(key_e,75); delay(75); simulate_key(key_r,75); delay(75); simulate_key(key_2,75); delay(75); simulate_key(key_capslock,75); delay(75); simulate_key(key_enter,75); delay(75); bbcb[home_pi_retropie_roms_bbcmicro_tempest]/script_play delay(750); simulate_key(key_scrlock,75); simulate_key(key_c,75); delay(75); simulate_key(key_h,75); delay(75); simulate_key(key_a,75); delay(75); simulate_key(key_i,75); delay(75); simulate_key(key_n,75); delay(75); simulate_key(key_space,75); delay(75); simulate_key(key_capslock,75); delay(75); simulate_key(key_2,75); delay(75); simulate_key(key_t,75); delay(75); simulate_key(key_e,75); delay(75); simulate_key(key_m,75); delay(75); simulate_key(key_p,75); delay(75); simulate_key(key_e,75); delay(75); simulate_key(key_s,75); delay(75); simulate_key(key_t,75); delay(75); simulate_key(key_2,75); delay(75); simulate_key(key_capslock,75); delay(75); simulate_key(key_enter,75); delay(75); bbcbp128[home_pi_retropie_roms_bbcmicro_tempest]/script_play delay(750); simulate_key(key_scrlock,75); simulate_key(key_c,75); delay(75); simulate_key(key_h,75); delay(75); simulate_key(key_a,75); delay(75); simulate_key(key_i,75); delay(75); simulate_key(key_n,75); delay(75); simulate_key(key_space,75); delay(75); simulate_key(key_capslock,75); delay(75); simulate_key(key_2,75); delay(75); simulate_key(key_t,75); delay(75); simulate_key(key_e,75); delay(75); simulate_key(key_m,75); delay(75); simulate_key(key_p,75); delay(75); simulate_key(key_e,75); delay(75); simulate_key(key_s,75); delay(75); simulate_key(key_t,75); delay(75); simulate_key(key_2,75); delay(75); simulate_key(key_capslock,75); delay(75); simulate_key(key_enter,75); delay(75); bbcb[home_pi_retropie_roms_bbcmicro_meteors]/script_play delay(750); simulate_key(key_scrlock,75); simulate_key(key_c,75); delay(75); simulate_key(key_h,75); delay(75); simulate_key(key_a,75); delay(75); simulate_key(key_i,75); delay(75); simulate_key(key_n,75); delay(75); simulate_key(key_space,75); delay(75); simulate_key(key_capslock,75); delay(75); simulate_key(key_2,75); delay(75); simulate_key(key_m,75); delay(75); simulate_key(key_e,75); delay(75); simulate_key(key_t,75); delay(75); simulate_key(key_e,75); delay(75); simulate_key(key_o,75); delay(75); simulate_key(key_r,75); delay(75); simulate_key(key_s,75); delay(75); simulate_key(key_2,75); delay(75); simulate_key(key_capslock,75); delay(75); simulate_key(key_enter,75); delay(75); bbcbp128[home_pi_retropie_roms_bbcmicro_meteors]/script_play delay(750); simulate_key(key_scrlock,75); simulate_key(key_c,75); delay(75); simulate_key(key_h,75); delay(75); simulate_key(key_a,75); delay(75); simulate_key(key_i,75); delay(75); simulate_key(key_n,75); delay(75); simulate_key(key_space,75); delay(75); simulate_key(key_capslock,75); delay(75); simulate_key(key_2,75); delay(75); simulate_key(key_m,75); delay(75); simulate_key(key_e,75); delay(75); simulate_key(key_t,75); delay(75); simulate_key(key_e,75); delay(75); simulate_key(key_o,75); delay(75); simulate_key(key_r,75); delay(75); simulate_key(key_s,75); delay(75); simulate_key(key_2,75); delay(75); simulate_key(key_capslock,75); delay(75); simulate_key(key_enter,75); delay(75); bbcb[home_pi_retropie_roms_bbcmicro_snapper]/script_play delay(750); simulate_key(key_scrlock,75); simulate_key(key_c,75); delay(75); simulate_key(key_h,75); delay(75); simulate_key(key_a,75); delay(75); simulate_key(key_i,75); delay(75); simulate_key(key_n,75); delay(75); simulate_key(key_space,75); delay(75); simulate_key(key_capslock,75); delay(75); simulate_key(key_2,75); delay(75); simulate_key(key_s,75); delay(75); simulate_key(key_n,75); delay(75); simulate_key(key_a,75); delay(75); simulate_key(key_p,75); delay(75); simulate_key(key_2,75); delay(75); simulate_key(key_capslock,75); delay(75); simulate_key(key_enter,75); delay(75); bbcbp128[home_pi_retropie_roms_bbcmicro_snapper]/script_play delay(750); simulate_key(key_scrlock,75); simulate_key(key_c,75); delay(75); simulate_key(key_h,75); delay(75); simulate_key(key_a,75); delay(75); simulate_key(key_i,75); delay(75); simulate_key(key_n,75); delay(75); simulate_key(key_space,75); delay(75); simulate_key(key_capslock,75); delay(75); simulate_key(key_2,75); delay(75); simulate_key(key_s,75); delay(75); simulate_key(key_n,75); delay(75); simulate_key(key_a,75); delay(75); simulate_key(key_p,75); delay(75); simulate_key(key_2,75); delay(75); simulate_key(key_capslock,75); delay(75); simulate_key(key_enter,75); delay(75); bbcb[home_pi_retropie_roms_bbcmicro_loderunner]/script_play delay(750); simulate_key(key_scrlock,75); simulate_key(key_capslock,75); delay(75); simulate_key(key_quote,75); delay(75); simulate_key(key_r,75); delay(75); simulate_key(key_u,75); delay(75); simulate_key(key_n,75); delay(100); simulate_key(key_space,100); simulate_key(key_2,75); delay(75); simulate_key(key_l,75); delay(75); simulate_key(key_o,75); delay(75); simulate_key(key_d,75); delay(75); simulate_key(key_e,75); delay(75); simulate_key(key_2,75); delay(75); simulate_key(key_capslock,75); delay(75); simulate_key(key_enter,75); delay(75); bbcbp128[home_pi_retropie_roms_bbcmicro_loderunner]/script_play delay(750); simulate_key(key_scrlock,75); simulate_key(key_capslock,75); delay(75); simulate_key(key_quote,75); delay(75); simulate_key(key_r,75); delay(75); simulate_key(key_u,75); delay(75); simulate_key(key_n,75); delay(100); simulate_key(key_space,100); simulate_key(key_2,75); delay(75); simulate_key(key_l,75); delay(75); simulate_key(key_o,75); delay(75); simulate_key(key_d,75); delay(75); simulate_key(key_e,75); delay(75); simulate_key(key_2,75); delay(75); simulate_key(key_capslock,75); delay(75); simulate_key(key_enter,75); delay(75);
-
That trick with double capslock didn't work either.
Thanks for your scripts.
I also tested your default script_play commands on my system.
All I get is
CHAIN 2load2
do you have different keyboard settings? I didn't change anything in raspi-config. -
@teller I think you may have capslock on automatically. That can be the only explanation if using one of my scripts switches you to small letters when you "press" capslock.
Leave the capslock out and just use the "2" key to create the quotations (capslock + 2 should create quotations).
It's probably the difference between the UK-style keyboard and the US-style keyboard. The BBC Micro was a UK computer. I'm using a US-style keyboard. On my US-style keyboard, the quotation key appears next to the enter key. However, in order to create quotations using the capslock on the BBC Micro, I need to press the "2" key. I figured this out by trial and error by just typing various keys.
-
Yeah, must be a keyboard setup difference.
Or it could be that we use a different Acorn DFS Basic ROM?
But if I have another game that uses capslock, then the autoboot won't work as well.
THRUST uses capslock if I remember. -
@teller Possibly. Advmess is a mess indeed.
You could have separate scripts for Sabre Wulf and for Thrust - one that uses capslock and one that doesn't.
Worst case, remove all the scripts, start a BBC Micro game, attach your keyboard to the Pi (or use a bluetooth keyboard) and experiment by pressing keys with or without capslock/shift to see what comes up on the BBC. That's what I ended up doing for a few of my scripts, particularly because I found the
*
was in a completely different location on the BBC from where it was on my keyboard. -
@spud11 found the right key to get " working ! i need to press alt + 2, then I'll get "
Contributions to the project are always appreciated, so if you would like to support us with a donation you can do so here.
Hosting provided by Mythic-Beasts. See the Hosting Information page for more information.