Hello Joel and all other M100/102/T200 enthusiasts,. Here what I figure out how the thing seems to work. 1. RESRAM reserves a block of 6 pages byte each and sets LOMEM address to 0xA600 2. INSTAL copies a KB/PRN handler to 0xA010..0xA2DA ( until line 550 DATA ..,201) and the KB map from 0xA2DB to 0xA358, 2 bytes per key scheme OLD key - NEW key 3. PRN specific code is loaded to 0xA3B0, pending on selection
I hope the above brings a little light in the "dark" Regards Georg from Germany ========== Ihre Nachricht ========================================== von : Joel BARBE <quara...@gmail.com> gesendet : Samstag, 27. Oktober 2018, 23:13 an : georg.kae...@gk-engineering-services.de Betreff : [M100] Tandy 200 azerty rom __________ Originalnachricht _______________________________________ Hello Georg, Thanks you again for the details provided I’m trying to find on the files you have send the part of the data related to the keyboard map. I suppose the keyboard map is on install.ba file. I’m struggling to find the part of the mapping. The character code table from service manual didn’t help on it. I have tried to change some data on VistualT, But I’m unable to find any logic on it right now. Do you have any idea wich DATA lines are related to the keyboard ? If I can find a couple of key mapped on it I should be able to decipher it. 5 AD=40976 7 CLS:PRINT:PRINT:PRINT:PRINT:PRINT" DRIVER INSTALLATION, PLEASE WAIT." 8 PRINT :PRINT " Version 01.00.00" 10 READ A 20 IF A=9999 THEN GOTO 80 30 POKE AD,A 40 AD=AD+1 50 GOTO 10 80 CLS:PRINT" *********************************":PRINT" * LOADING OF THE PRINTER DRIVER *":PRINT" *********************************" 90 PRINT:PRINT:PRINT" WHICH PRINTER DO YOU HAVE :" 100 PRINT:PRINT:PRINT" 1 = DAISY WHEEL II":PRINT" 2 = DAISY WHEEL IIB, 410, 510":PRINT" 3 = DOT MATRIX PRINTER": PRINT" 4 = NO PRINTER" 120 PRINT:PRINT:INPUT"YOUR CHOICE AND THEN <ENTER> :";A 130 IF A=1 THEN 140 133 IF A=2 THEN 150 136 IF A=3 THEN 160 137 IF A=4 THEN 160 138 GOTO 80 140 CLOAD"DWPOLD",R 150 CLOAD"DWPNEW",R 160 CALL 40976 170 NEW 200 DATA 243, 33, 194, 238, 126, 254, 201, 194, 37, 160, 62, 195, 50, 194, 238, 33, 162, 161, 195, 49 210 DATA 160, 35, 17, 194, 238, 123, 190, 202, 52, 160, 33, 106, 161, 34, 195, 238, 175, 50, 213, 161 220 DATA 62, 49, 6, 208, 205, 96, 160, 6, 212, 62, 50, 205, 96, 160, 58, 213, 160, 254, 50, 194 230 DATA 86, 160, 62, 85, 50, 212, 160, 195, 33, 161, 6, 216, 62, 51, 205, 96, 160, 195, 33, 161 240 DATA 50, 210, 160, 120, 50, 211, 160, 33, 0, 160, 205, 177, 155, 122, 254, 6, 220, 116, 160, 201 250 DATA 33, 255, 165, 58, 211, 160, 71, 22, 170, 197, 205, 176, 155, 193, 22, 0, 33, 255, 165, 205 260 DATA 177, 155, 122, 254, 170, 202, 165, 160, 33, 0, 161, 205, 197, 160, 58, 210, 160, 50, 213, 160 270 DATA 205, 60, 80, 33, 18, 161, 195, 197, 160, 33, 214, 160, 62, 85, 50, 212, 160, 126, 35, 254 280 DATA 36, 202, 188, 160, 229, 205, 60, 80, 225, 195, 173, 160, 58, 210, 160, 205, 60, 80, 33, 230 290 DATA 160, 126, 35, 254, 36, 200, 229, 205, 60, 80, 225, 195, 197, 160, 0, 0, 0, 0, 69, 82 300 DATA 82, 79, 82, 32, 58, 32, 66, 65, 78, 75, 32, 35, 32, 36, 32, 78, 79, 84, 32, 67 310 DATA 79, 82, 82, 69, 67, 84, 76, 89, 32, 82, 69, 83, 69, 82, 86, 69, 68, 13, 10, 36 320 DATA 87, 65, 82, 78, 73, 78, 71, 32, 58, 32, 66, 65, 78, 75, 32, 35, 32, 36, 32, 78 330 DATA 79, 84, 32, 80, 82, 69, 83, 69, 78, 84, 13, 10, 36, 58, 212, 160, 192, 58, 213, 160 340 DATA 254, 50, 200, 33, 0, 160, 6, 212, 205, 66, 161, 58, 213, 160, 254, 51, 200, 33, 0, 160 350 DATA 6, 216, 205, 66, 161, 201, 86, 229, 197, 205, 176, 155, 193, 225, 35, 124, 254, 165, 194, 66 360 DATA 161, 125, 254, 254, 194, 66, 161, 33, 194, 238, 86, 229, 197, 205, 176, 155, 193, 225, 35, 125 370 DATA 254, 197, 194, 90, 161, 201, 245, 34, 207, 161, 225, 34, 209, 161, 235, 34, 211, 161, 33, 0 380 DATA 0, 57, 17, 128, 255, 223, 218, 150, 161, 17, 192, 255, 223, 210, 150, 161, 225, 42, 211, 161 390 DATA 235, 42, 209, 161, 229, 42, 207, 161, 241, 201, 42, 211, 161, 235, 42, 209, 161, 229, 42, 207 400 DATA 161, 241, 51, 51, 229, 213, 197, 245, 33, 219, 161, 229, 229, 229, 229, 229, 58, 213, 161, 183 410 DATA 250, 194, 161, 58, 30, 253, 246, 128, 50, 213, 161, 195, 189, 28, 225, 225, 225, 225, 225, 230 420 DATA 127, 50, 213, 161, 195, 189, 28, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 243 430 DATA 62, 13, 48, 251, 58, 213, 161, 230, 127, 50, 213, 161, 71, 58, 30, 253, 79, 144, 202, 181 440 DATA 138, 33, 29, 253, 50, 214, 161, 121, 7, 95, 22, 0, 25, 126, 229, 197, 205, 97, 162, 193 450 DATA 225, 119, 58, 214, 161, 61, 202, 181, 138, 13, 195, 241, 161, 62, 0, 50, 215, 161, 34, 216 460 DATA 161, 33, 31, 163, 241, 245, 190, 35, 202, 49, 162, 126, 35, 254, 0, 194, 28, 162, 42, 216 470 DATA 161, 241, 195, 129, 162, 126, 42, 216, 161, 71, 241, 120, 201, 62, 0, 50, 215, 161, 34, 216 480 DATA 161, 33, 45, 163, 195, 28, 162, 62, 241, 50, 215, 161, 62, 0, 50, 218, 161, 241, 58, 218 490 DATA 161, 202, 82, 162, 201, 62, 31, 50, 215, 161, 195, 76, 162, 245, 62, 240, 50, 218, 161, 241 500 DATA 245, 254, 197, 202, 71, 162, 254, 190, 202, 89, 162, 58, 215, 161, 254, 241, 202, 17, 162, 254 510 DATA 31, 202, 57, 162, 241, 245, 58, 22, 253, 7, 7, 7, 7, 210, 158, 162, 241, 245, 33, 59 520 DATA 163, 190, 35, 202, 216, 162, 35, 71, 126, 183, 120, 194, 145, 162, 58, 22, 253, 7, 7, 7 530 DATA 210, 196, 162, 241, 245, 254, 59, 194, 178, 162, 241, 62, 178, 201, 254, 91, 194, 187, 162, 241 540 DATA 62, 179, 201, 254, 39, 194, 196, 162, 241, 62, 177, 201, 33, 219, 162, 241, 245, 190, 35, 202 550 DATA 216, 162, 35, 71, 126, 183, 120, 194, 201, 162, 241, 201, 241, 126, 201, 90, 89, 89, 90, 122 560 DATA 121, 121, 122, 45, 185, 61, 43, 64, 34, 35, 39, 94, 38, 38, 47, 42, 40, 40, 41, 41 570 DATA 61, 95, 63, 43, 42, 59, 183, 58, 178, 39, 182, 34, 177, 60, 59, 62, 58, 47, 45, 63 580 DATA 95, 182, 64, 184, 91, 213, 60, 177, 35, 179, 93, 212, 62, 91, 184, 93, 179, 0, 25, 25 590 DATA 0, 0, 0, 97, 192, 101, 193, 105, 194, 111, 195, 117, 196, 32, 94, 0, 0, 97, 182, 101 600 DATA 198, 105, 199, 111, 183, 117, 184, 32, 190, 0, 0, 48, 48, 49, 49, 50, 50, 51, 51, 52 610 DATA 52, 53, 53, 54, 54, 55, 55, 56, 56, 57, 57, 43, 43, 42, 42, 45, 45, 47, 47, 46 620 DATA 46, 0, 0, 9999 De : M100 [mailto:m100-boun...@lists.bitchin100.com] De la part de Georg Käter Envoyé : Friday, October 26, 2018 4:19 PM À : Joel Barbe Objet : Re: [M100] Tandy 200 azerty rom Hello Joel and all M100/102/T200 enthusiasts, you can find in the KB mapping in the T200 8k ROM from address 0x1763 onwards. the KB table is organized in 6 blocks of 44 bytes, 264 bytes in total. 1. key 2. SHIFT key 3. GRAPH key 4. GRAPH-SHIFT key 5. CODE key 6. CODE-SHIFT key I modified a T200 ROM in that way to a GERMAN KB layout and it works perfect. Before programing an EEPROM I´ve used VirtualT for testing. Anyway the "cleanest" way would be a KB patch loaded to RAM.The files attached was provided w/my T200 sold in Germany in 1986 to do this task. Regards Georg from Germany ========== Ihre Nachricht ========================================== von : Josh Malone <josh.mal...@gmail.com> gesendet : Montag, 22. Oktober 2018, 17:56 an : m...@bitchin100.com Betreff : [M100] Tandy 200 azerty rom __________ Originalnachricht _______________________________________ > On Mon, Oct 22, 2018 at 6:54 AM Joel Barbé <quara...@gmail.com> wrote: >> My question is: do someone have an azerty rom dump file? So i'll try To burn >> it. > I don't have an actual azerty ROM, and I assume that there is a > genuine one available. However, I just thought I'd note that Bunnie > Huang has a great article about having the 102 to support Dvorak: > https://www.bunniestudios.com/blog/?page_id=27 > and presumably his principle would also apply to an azerty mod as well. > -Josh __________ Ende Originalnachricht __________________________________ Vertraulichkeitsinformation: Diese Nachricht ist vertraulich. Die Informationen dieser Nachricht sind ausschließlich für die persönliche und vertrauliche Verwendung durch den/die oben genannten Empfänger bestimmt. Wenn Sie kein beabsichtigter Empfänger sind, bitte lesen, kopieren und verwenden Sie die Nachricht nicht. Machen Sie sie nicht anderen zugänglich. Bitte informieren Sie uns umgehend über den Zustellfehler und senden Sie die Originalnachricht per E-Mail an uns zurück. Confidentiality Notice: This message is confidential. The information contained in this message is intended only for the personal and confidential use of the recipient(s) named above. If you are not the intended recipient, please do not read, copy, or use it and do not disclose it to others. Please inform us immediately of the delivery error and return the original message to us via e-mail. __________ Ende Originalnachricht __________________________________ Vertraulichkeitsinformation: Diese Nachricht ist vertraulich. Die Informationen dieser Nachricht sind ausschließlich für die persönliche und vertrauliche Verwendung durch den/die oben genannten Empfänger bestimmt. Wenn Sie kein beabsichtigter Empfänger sind, bitte lesen, kopieren und verwenden Sie die Nachricht nicht. Machen Sie sie nicht anderen zugänglich. Bitte informieren Sie uns umgehend über den Zustellfehler und senden Sie die Originalnachricht per E-Mail an uns zurück. Confidentiality Notice: This message is confidential. The information contained in this message is intended only for the personal and confidential use of the recipient(s) named above. If you are not the intended recipient, please do not read, copy, or use it and do not disclose it to others. Please inform us immediately of the delivery error and return the original message to us via e-mail.