Here are two very rare keyboard layouts:
Belgian-French keyboard
Swiss-German keyboard
CMD Hardware checking
This is source code how to check CMD-RAMLink, CMD-RAMDrive, CMD-FD and CMD-HD:
(it's executatble by SYS 8192,,device)
by GoDot
// I/O variables
.var toscreen = $ffd2 // BSOUT
.var listn = $ffb1
.var secnd = $ff93
.var ciout = $ffa8
.var unlsn = $ffae
.var talk = $ffb4
.var tksa = $ff96
.var acptr = $ffa5
.var untlk = $ffab
.pc=$2000 "CMD-HW CHECK"// sys8192,,devnr
starthere:
lda #<commandbuf
sta $bb // address of filename or command for floppy os, lobyte
lda #>commandbuf
sta $bc // hibyte
lda #6
sta $b7 // length of command string
// ldx drivenumber
txa
ldy #$6f
jsr listn // LISTEN
tya
jsr secnd // send secondary address after LISTEN
ldy #0
lp1:
lda ($bb),y
jsr ciout // send command bytes
iny
cpy $b7 // until length of command
bcc lp1
jsr unlsn // UNLISTEN
txa // recall drivenumber
ldy #$6f
jsr talk // TALK
tya
jsr tksa // send secondary address after TALK
jsr acptr // read bytes from drive
sta results // this is the contents of location $fea4, byte 1: h, f, or r
jsr acptr
sta results+1 // byte 2: d, d, or l
jsr untlk // UNTALK
lda results
jsr toscreen
lda results+1
jsr toscreen
rts
commandbuf:
.text "M-R"
.word $fea4
.byte $02
drivenumber:
.byte 8
results:
.byte $00,$00
Results on screen seems:
RL = RAMLink
RD = RAMDrive
FD = CMD-FD
HD = CMD-HD
If is result other it's not CMD-hardware
Detecting CMD SuperCPU in BASIC 7.0:
10 print"SuperCPU: ";:bank15
20 if(peek(53433)and128)<>128thenprint"yes, now at";peek(53432);"MHz":goto40
30 print"no, current CPU speed:";(peek(53296)-251);"MHz"
40 poke53370,0:poke53371,0:end
qWERTY CAPS LOCK bug fix:
CAPS LOCK key, in older versions of Commodore 128 (1985), it doesn't appear to affect the Q key. Actually, the problem is that whoever prepared the CAPS LOCK decoding table used the wrong value for the Q key entry. The following shows how to fix the CAPS-Q bug by setting up a new copy of the decoding table for that shift pattern:
100 REM ** COPY CAPS LOCK TABLE TO RAM
110 FOR 1=0 TO 88:POKE 6912 + I,PEEK(64484 + I):NEXT
120 REM ** CHANGE INCORRECT CHARACTER CODE FOR Q
130 POKE 6912 + 62,209
140 REM ** REDIRECT POINTER TO NEW TABLE
150 POKE 840,0:POKE 841,27
A custom table should consist of 89 values in matrix code order.
List of hardware supporting RTC (Real-Time-Clock)