Home
annexes
Contents
1. BNE SEEI RTS FCD AGA NADO ISSN AK SIGA LR E UK AAS R EEO interpreter routine copied 2 m RAR BR ORGK ORR RK KERR BRK OK UR KK OK OK RUN EK KRR EUR RR SD OK BRR a RUN KK ADREI ACE E9 00E8 FA EA60 20 0000 EA41 NC BNE NC LDA CMP BEQ JSR RTS E 9 02 EA 60 EA 20 41 EA F3 N 4 J oo EE Ee LH DH Di 1 Di D Hj FAIRA OR BERR a RTE OR GE UR DK o E DE REA RP EE DARIN gt gt EA 60 EA 2C 60 80 4F C7 52 58 2C 60 REEL E8 I Ee e AIDS RK RARER RRR K R RER BR KK ERR BRD ER Switching routines transfered to page 4 address 0480 EF67 355 080518 PR ae ook Be ak KK RIS N do uc D D DAT ISSO LE DS ca koc ucc v PEN On ae a UE PILI N E temporary storage for
2. nand failed Seek track Com GI LDA 504 AND STA 04F CLI RTS UJ 04 MED UJ 0100 DS o U o E32D 0 2 5 6 E33 E33 E33 E33 e Ck Ck CK CC CC k k k k k k k k k k k k k k k k k k k k k k k k k k k k k k k k k k k k k k k k k k k k k k k k k k k k k k k k k k k k k k k k k k k k k x x x x updates the track register if needed i e the selected drive side changes programs drive and side numbers were the drive side numbers the same no checks the drive unless it is a seek command no need to move twice So No ae Or a format command reads the first address id encountered gets the track number and updates the track register 526 DA C004 HA DA C3 TA C004 DA C008 DX 0 JSR SE21C Ep t tg E PLA STA 4 STY 5 005 LDA 04FE LDA 0312 NOP NOP NOP STA 0311 CLC RTS SEC RTS NOP NOP CO 03 04 04 CO CO CO 03 00 03 2D FO 29 04 C3 04 08 CU 1C O rJ O O N W LT Pod D E D gt p co gt D
3. e Ck k k k k k k k k k k k k k k k k k k k k k k k k k k k k k k k k k k k k k k k k k k k k k k k k k k k k k k k k k k k k k k k k k k k x x x routine copied 00 0 ED3F ED59 switches to overlay ram and starts the OS LDA 584 SE STA 0480 STA 0314 BFF8 LDX 4 LDY 500 JSR 5 CLI JSR D45A calls the Basic interpreter no return JMP C14B init the OS E KU EE NUR OU O LD ac oa pua UO Saa peak ice EE 54 55 50 00 00 BOOTUP 72 14 20 73 79 73 74 65 6D 20 64 69 73 63 00 insert system disc 65 72 61 74 69 6E 67 20 73 79 73 74 65 6D 20 6F 6E 20 64 69 73 63 08 00 No operating system on disc 64 6A 75 73 74 6D 65 6E 74 20 72 65 71 75 69 72 65 64 08 00 RV1 adjustment required 45 58 54 45 4E 44 45 44 20 42 41 53 49 43 20 56 31 2E 30 OD OA ORIC EXTENDED BASIC V1 0 1983 TANGERINE D 00 47870 BYTES FREE 4 1 53 49 43 20 56 31 2E 31 45 58 54 45 48 44 45 44 20 OD OA 0810 EXTENDED BASIC V1 1 Dp 20 42 59 54 45 53 20 46 52 45 45 02 00 37631 BYTES FREE 6F 70 20 61 43 20 38 3
4. 5 EJ E T SEI 50 BCC CMP BCC CLC RTS digit returns C 1 if success 1 6 1 4 06 EF 42 Ur JSR BCS SBC CMP BCS CMP RTS 04 0A ES 90 C9 90 18 60 KS 20 BO 9 C9 BO C9 60 EIE9 EIEB EIED EIEF 0 ELF 14 EIF6 8 E1FC EE EE ee IE KRI OR OR HE UK OR ERINA IAKA EK UK IR OK no return SE05A JSR Basic 5A EO 20 A3 04 96 4 Switch to ElFF E202 SURGE UK RARAS KRR EN NOE KERR RRR SERA REKA RR DESE K SRS AAA OR UR OK DER write sector command T EASE RI AORERE KERANKA A e 0 SE20C LDX BNE AO 02 2 20 E206 E208 SEPA E CHEER E eo pU E cU T eo eU cu ook e ccu ING UK UR Rae E leu E ALUKA 580 command specified in register X read sector comma
5. E563 DO 1 BNE SE576 E565 9 20 0 E567 20 57 EO JSR 5 057 562 9 2A CO LDA C02A Y E56D 20 4D 1 JSR E14D E570 B9 29 C LDA C029 Y 573 20 4D 1 JSR 5514 E576 20 54 E 0598 4 E579 AD 4D 1 LDA SC14D E57C 85 OC STA 60 E57E 4E 1 LDA SC14E E581 85 OD STA 500 E583 18 CLC E584 98 TYA E585 69 08 ADC 508 E587 TAX E588 FO 25 SE5AF E58A 23 CO LDA C023 X taille du record E58D FO 10 SE5AC E58F C9 5 E591 DO 03 BNE E596 E593 4C F5 4 IMP SE4F5 596 8D 41 1 STA C141 E599 AO 00 LDY 500 E59B E8 INX E59C BD 23 CO LDA 5 023 E59F 91 OC STA 50 E5A1 OC INC 0C 523 DO 02 BNE SE5A7 525 6 OD INC 0D E5A7 CE 41 Cl DEC C141 DO E BNE SE59B 520 8 INX DO DB BNE SE58A E5AF AD 23 CO LDA C023 E5B2 8D 01 CO STA 5 001 E5B5 AD 24 CO 4 558 FO 07 5 5 1 E5BA 20 8 JSR SE83F ESBD A2 02 2 E5BF 10 9 BPL SE58A 501 60 RTS R IOE RARER KERR RRR KCB Re ORR RL RR RR KR KERR BRR NADAS RK AR ARR DRESSA SE SSS AVES SAKE NAS RAR RR initializes some parameters 502 9 LDA 5 504 8D STA C14F 507 8D 50 STA C150 E5CA 8D 1 STA C13C E5CD A9 0 LDA 500 8D 4D Cl STA C14D E5D2 8D 4E Cl STA SC14E 505 8D 41 STA 1 508 60 RTS 509 46 69 6C 65 20 6E
6. 177 FO F9 5 172 179 Y 23 CMP 23 17B DO 24 BNE SE1A l is it a 4 170 B1 9 LDA SE9 Y yes reads the hex number 175 20 1 1 JSR SF1F1 182 90 1B 5 19 is it a hex digit 184 C8 INY yes computes the hex number read so far 185 A2 04 LDX 4 187 OE 45 1 ASL 5 18A 2E 46 Cl ROL C146 18D CA DEX 18E DO F7 BNE SE187 190 18 CLC 191 6D 45 Cl ADC C145 194 8D 45 Cl STA 5 197 90 4 BCC 5 170 199 EE 46 Cl INC C146 19C 4 7D El JMP SE17D 19F 38 SEC no returns 1 60 RTS 1 1 88 DE first char was not a goes back on it 1 2 20 6 1 58 6 and reads decimal number 1A5 90 F9 2000 0 1A7 C8 INY 1A8 48 PHA 1A9 AD 46 0 LDA C146 1AC 48 PHA 1AD AD 45 Cl LDA C145 180 OE 45 1 ASL C145 183 2E 46 1 ROL C146 186 45 1 ASL C145 189 2E 46 1 ROL C146 1 18 CLC 1BD 6D 45 ADC 5 145 1 0 8D 45 1 STA 5 1C3 68 PLA 1 4 6D 46 Cl ADC C146 1 7 8D 46 Cl STA C146 1CA 45 Cl ASL 5 145 1CD 2E 46 Cl ROL C146 1D0 68 PLA 1D1 18 CLC 1D2 6D 45 Cl ADC C145 1D5 8D 45 Cl STA C145 1D8 90 03 BCC SEI1DD 1DA EE 46 1 INC C146 100 9 LDA SE9 Y 1DF 20 6 El JSR 5 1 6 1E2 BO C3 BCS 1 7 1E4 38 SE 1E5 60 RTS checks for decimal digit returns C 1 if success 11 6 38 SEC 1E7 9 30 SBC 0 521 5
7. 2 Piste 20 Secteur 4 00 14070000 00000000 00000000 0 1COM 06041040 2 COM 07041040 E R E ER E ER E 10 R ICH 4 20 TECH T ICH I 0 Piste 20 Secteur 7 00 00007000 00000000 00000000 00000000 T Hj Hj Hj Hj H H HH 000000 HH H H H H H H 1 10 20 30 40 50 60 70 00000000 00000000 00000000 00000000 80 00000000 00000000 00000000 0000etc Drive A V3 Mst XX XX XX FICHIERO1 COM 16 FICHIERO2 COM 16 FICHIERO3 COM 100 FICHIERO4 COM 100 FICHIERO5 COM 100 FICHIERO6 COM 100 FICHIERO7 COM 100 FICHIERO8 COM 100 FICHIERO9 COM 100 FICHIER10 COM 100 FICHIER11 COM 100 FICHIER12 COM 100 FICHIER13 COM 100 FICHIER14 COM 100 FICHIER15 COM 100 FICHIER16 COM 100 FICHIER17 COM 100 FICHIER18 COM 100 FICHIER19 COM 100 FICHIER22 COM 100 FICHIER21 COM 100 521 sectors free D 80 16 21 Files Piste 20 Secteur 2 DEL 20e fichier 00 FF000902 15005010 02200000 0 10 00000000 00000000 00000000 00000000 20 00000000 00000000 00000000 0000etc 90 00000000 00000000 00000000 00000000 A0 00000000 00000000 00000000 00000000 0 00000000 00000000 00000000 00000000 60 00000000 00000000 00000000 0000etc 0 00000000 0080FFFF FFFFFFFF FFFFFFFF Pour terminer nous allons voir ce qui se passe lorsqu on effectue des suppressions multiples le douzi me fichier puis le deuxi me fichier qui sont r pertori s dan
8. H ttg D K lt DK gt CO 04 04 02 02 CO 02 02 02 02 02 02 02 20 EO 00 EA FO OF A9 01 8D 07 A9 44 8D DC A9 47 8D 4 A2 FF 86 A9 A9 FF AO 97 85 A6 84 A7 8D C1 80 C2 85 A2 84 A3 A2 1C BD CF 95 E CA DO F8 AD 07 FO 28 A9 B9 85 F0 A9 EC 85 F1 A9 20 8D 4E A9 04 8D 4F A9 00 8D 60 A2 12 BD 5D 9p 38 CA 10 F7 A9 0 A0 CC 30 19 A9 FF A0 8D E 8C E A2 08 BD 54 9D 28 10 F7 A9 ED A0 CB 85 1B 84 1C A9 4C B3 B6 B8 BA BC BC 04 06 UJ UJ UJ D 0 Ei DCH I EC25 EC28 EC29 EC2B EC2F EC3T EC33 Basic routine of C with the NMI 51 5 S2 02FB 0 5 2 C007 536 3 522 523 502 02FD 5 4 504 502 5 02F6 500 504 04FD 505 inits the OR 550 530 500 prints insert system disc 543 STA STA STA D STA PHA STA STA STA STA STA STA STA STA TA DA TA D
9. 156 et 315 VUSER cites 117 et 357 WID EET ee dates lg 297 WINDOW ere 363 SEC AR ET 406 pr 438 et 439 iu N qs 393 V e Lapa a acl ES 328 576 ANNEXE n 9 Codes de fonctions Fonctions re d finissables Les 16 premi res fonctions sont d finies par la table REDEF de C880 C97F 000 00 espace rien 001 801 DOKE 2F5 002 02 DOKE 2F5 467 CR 003 03 DOKE 2F9 004 04 DOKE 2F9 D070 CR 005 05 DOKE 2FC 006 06 DOKE 2FC 461 CR 007 07 PAPERO INK7 CR 008 08 CALL F8D0 CR 009 09 ASCII n 126 7E 010 80A HEXS PEEK t 011 0B HEXS DEEK Gt 012 0C PEEK 013 0D DEEK 014 0E POKE 015 0F DOKE Fonctions pr d finies Les 16 fonctions suivantes sont d finies par la table PREDEF de C980 a C9DD 016 10 HEX 017 11 CALL 018 12 TEXT 019 13 FORI ITO 020 14 1 021 15 MID 022 16 RIGHT 023 17 STR 024 18 UNPROT 025 19 ASCII n 96 60 026 HIA USING 027 1B VISUHIRES 028 1C VUSER 029 1 WIDTH 030 WINDOW 031 1 IRESTORE 577 Mots cl s du DOS Ce sont les commandes de SEDORIC 032 20 APPEND 033 21 APPEND 034 22 AZERTY 035 23 ACCENT 036 24 BOX 037 25 BACKUP 038 26 BUILD 039 27 CHANGE 040 28 CLOSE 041 29 COPY 042 2A CREATEW 043 2B CRESEC 044 2C CHKSUM 045 2D DELETE 046 2E DESTROY 047 2F DELBAK 048 30 DEL 049 31 DIR 050 32 DTRACK 051 33 DNU
10. recognizes and executes the command error yes busy j was it type I command or a type command or else a read write track command or else a Read address id command no just a Force Interrupt forgets the error e Ck k Ck k k k k k k k k k k k k k k k k k k k k k k k k k k k k k k k k k k k k k k k k k k k k k k k k k k k k k k k k k k k k k k k k k k x x x ommand takes care of seek and crc errors only returns error 1 if both seek and crc errors so only one of these returns error 1 if step command but retries if Restore track 0 E22C 20 A2 E2 JSR SE2A2 E22F FO 16 BEQ SE247 E231 A8 TAY E232 6A ROR E233 BO 55 BCS 5 28 E235 9 20 0 E237 20 05 CO BIT 5 005 E23A 10 15 BPL 5 251 E23C 50 29 BVC SE267 E23E DO 4A BNE SE28A E240 A9 10 0 E242 20 05 CO BIT C005 E245 FO 3B BEQ SE282 E247 A2 00 0 E249 18 CLC E24A 8E FE 04 STX 504 E24D 68 PLA 24 8 24 68 250 60 RTS T got an error in a type I c T E251 98 TYA E252 29 18 AND 518 E254 FO BEQ SE247 E256 CO 18 CPY 518 E258 FO 30 BEQ E28A E25A AD 05 CO LDA 5 005 E25D C9 20 CMP 520 E25F 29 BCS SE28A E261 C9 10 CMP 0 E263 90 10 6 282 265 0 10 BCS 5 277 amp x x x k k k k k k k
11. Ur Ur Ur 47 lt gt 528 SEA63 E05A LDX LDA STA DEX BPL JSR JSR EQ B BC UJ Oo 5 H za HU vot D H Xx J n 2 O 13 tg E tU E Q H E lt lt lt 0 Cj ou UJ H BPL JSR Li I DO D7 E 17 CF A2 OB A9 20 9D BD 1 CA 10 FA 20 60 20 00 69 38 E9 30 C9 04 BO OF C8 8D 2 A2 0 A9 2 9D 2 CA DO FA E9CA 9 9 E9D1 E9D2 4 E9D7 E9DA E9DC E9DD E9DF 9 1 9E3 9E 4 9E7 9E 9 9EB 9EE 9EF E9F1 9F 2 9 4 9 5 E9F 7 E9F8 E9F9 E9FA E9FC 9FE 02 05 09 AOD A10 LE m m m m m I D BD in 1 Stores the first 12 chars invalid filename ur Kal UJ Ur
12. I GR BPR BBR EKER DS KR clears the top line and prints a message on it prints a message on the top line clears the top line JSR SEEA3 JMP SEE9D INX STA 5 82 INY LDA SED63 X BNE 98 RTS LDY 1B LDA 520 STA SBB81 Y DEY BNE SEEA7 RTS E92 20 95 4C 90 E98 E8 E99 99 82 1 78 9 BD 63 1 DO 6 60 AO 1B 9 99 1 88 FAB DO EAD 60 1 T I I I T T I I SS SON E DK ES UK UR UK KEIN UE D OK AREA OR E DR AC SEKEN i NAATO ORB ERU 546 Checks overlay ram LDX 0 LDA COA5 X TAY LDA 555 STA COA5 X CMP 5 0 5 BNE SEE70 LDA AA STA COA5 X CMP 5 0 5 BNE SEE70 TYA STA COA5 X INX CO CO CO CO CO CO EAE 2 00 A5 8 EB4 9 55 6 9D 5 9 DD A5 DO B2 9 ECO 9D 5 503 DD 5 566 DO EC8 98 EC9 9D 5 ECC 8 ri 1 p P 1 1
13. bh hop EE Ek kk EP REB EB FEE bb EES kb KE 6 00 FE EE FE 5 00 00 FE pae EE pipe 4 00 00 ER 22 7 3 FF 00 02 00 00 00 00 EE GE EU Bob Eh EES bk EE EE kk EF bake EP EARS SEE PPE EP ER EES Cet exemple provient d une disquette Master vierge format e 42 pistes de 17 secteurs simple face Les 3 octets qui diff rent de leur homologues de la version 1 006 sont indiqu s en gras La bitmap r percute l existence de la nouvelle BANQUE n 7 et indique 5 secteurs libres de moins En 0003 amp 0004 le nombre de secteurs libres passe de 612 0264 607 025F dans mon exemple En 001B amp 001 5 bits de moins sont positionn s 1 CO amp FF deviennent 00 amp F8 soit en binaire 1000000 amp 11111111 qui deviennent 00000000 amp
14. D EE E J D p UHH CO ET 02 BF ES F2 ED 80 F7 OC 68 1 F7 R B7F B80 B82 B83 B84 B85 B86 B87 B89 B8A B8C B8F B92 B94 B97 B98 B9A B9C B9F BA2 BA3 BA5 BBO is it Basic v1 0 indicates a Basic v1 1 fakes the Basic s initialization atmos part 08101 part 542 SBFEO 5 SEBC9 501 C007 04DC 5 SA9 SEF 597 5 6 7 502 1 02C2 SE1 X x N 21 JSR Ua 119 K BUKU H gt K D SS D gt pp gt gt gt IO H dt lt gt STA STY STA 4 K DX HU gt gt TA 4H D OD p p p p DD 2 GI p 33 D Du L I
15. N UJ 538 lt K PQ 5 H J lt m z D STA PLA CLC STA SBC EOR TAY PLA STA RTS HU K D p CP D O O OP H Z Ju Wy Er 2 ZH X lt Dd H D J D X lt lt D X O UU O O JUO lt gt U Z CO C1 E9 00 00 kk k k k k k k k k k k k k k k k k k k k k k k k k k k k k k k k k k k k k k k k k k k k k k k k k k k k k k k k k k k k k k k k k k k k k k k k x x 539 LDA 503 JSR SEA8C JSR 0000 BEQ SEA8B CMP 20 BNE SEA63 RTS STA C141 LDA E9 Y CMP S2A BEQ EAAB 4 3F BEQ SEAAO JSR 5 04 0 BEQ SEAAA STA C12C X INX INY DEC 5 141 BNE SEA8F RTS LDA 3F STA 8 INX DEC 5 141 BNE SEAAD INY RTS alphanumeric CMP 530 BCC 0 CMP 3A 200 2 CMP 1 0 CMP S5B BCC 2 CMD 1 200 0 CMP 8 BCC 2 500 reads first directory sector E033 C126 C001 XE Wel JSR DA TA DA TA DA TA MP
16. 574 ANNEXE n 18 Mots cl s SEDORIC page ACCENT 324 APPEND wau Sata ai qas 447 AZERTY Tbe 326 ID 51 359 BOX EX E URN 350 et 354 BUILD Sa od eodein EE 452 CHANGE bte i a 74 et 359 CHKSUM e nets 146 et 316 CLOSE 431 COPY eee 89 359 CREATBW EE RETTEN 258 CRBSEC EE 415 DEL a Rv RS 283 DEPBAK beren EC 23 DELETE X 25 xe ext ER 43 et 358 DESTROY SES oer eas eg 283 DIR n erine PUR So ene AE TAS 278 18 A SG te 115 et 357 Ah peck a 103 et 358 DAMES sc 108 et 357 111 et 357 D TRACK cese PRESIDE 104 et 358 ERR oxi een wax EE 311 ERRGOTO oes aca Nd REN RR 312 313 ESAVE upes iR XU ER 256 EXT 144 et 315 FIELD uud ite LA Dr MULA 433 FROEC EE 414 HEUR peut 328 INIST EE 110 358 INITA EE 123 360 INS TR iiu e RE Doe kusaka 329 JUMP Scents Ste EAR SOS M IA 447 7 206 RBYXDED eS 233 KBEYIE 2 255 e d be YUAN 234 ICE YS AE as ER Od S PIU 256 KEYU SE ese oap RES S EE 232 TAKE EE 409 TREN 307 TRACK is tenues EE 106 et 358 eus N sto ban kena ka 451 Livi ense ER Dep 155 et 316 UNTKEN sue then RET 308 USER EE 318 LEE LEE Eas RR E o 342 VISUHIRES
17. 6 E411 C8 INY yes reads next char E412 B1 9 LDA SE9 Y E414 4E CMP is it 8 N E416 DO 5 BNE SE41D 418 8D Cl STA C14F E41B 10 7 BPL E404 E41D 44 CMP 44 is it a 0 418 DO BNE SE42B 421 8D 50 STA C150 E424 10 DE BPL E404 E426 A2 01 LDX 501 invalid command end 428 4C 1B EO JMP 5 01 EA2B C9 4A CMP 54 inm UE d capt D E42D DO 15 4 428 8D 41 Cl STA C141 yes Join E432 5 9C LDA 9C 8 SE E435 E9 2 550 2 E437 8D 4D 1 STA C14D 4 A5 9D LDA 590 430 E9 00 SBC 500 438 8 4E 1 STA 8 E441 40 04 4 JMP 4 E444 C9 1 CMP 1 is it a A 446 DO DE BNE SE426 E448 80 4 1 STA C14F E44B 8D 41 1 STA 1 445 C8 INY 528 reads number execs the command ie loads specified file loads file auto run uncomplete points to 0000 links Basic program lines E command ESTOR interpreter points to the basic points to 0000 Basic s R let s th runs Basic interpreter program uncomplete D 2 9051 SEA C14 5003 LA C14 5 405 5 009 o 1 SE498 SE05A C7 AF C7
18. LA D n gt 1 C00 9 OY I PB OO Q Oy Oy Oy DAT COM HLP HLP COM BK7 1 HLP NIBBLERAY COM HLP HLP HLP HLP COM HRS COM HLP HLP SM HLP COM COM COM COM HLP HLP BAS HLP COM HLP HLP HLP COM HLP MEN COM HLP MAC COM HLP 624 COM COM KEY KEY COM COM PG2 DDRESS LPHA DDISK HKSUM EMO UPHORIC lt O DJ gt gt RILLYS MARC NIBBLE NIBBLE2 ROMORIC MENU SEDORIC SEDORI STAT V2 V2 3 3 NEWSO2 NEWSO4 30NEWSO6 30NEWSOS ERSION ELCOME ENU2 OOT AT DA OO 0c V V V V V W M B C C CDA CDS CF 2 2 1 1 9000 5 ISKCOMP2 ISKSPY HERAMY2 DITECRA3 DITECRAN DITECRAN XPLOSEDM ARDCOPYT ARDCOPYT iDITECRA2 5 0 D D 5 D DH E H H Mst COM 12 WIN 5P COM 59 COM 59 COM BK6 65 22P B2 157P BIN 2P COM 6P HLP 6P HLP 6P HLP 6P COM 66 BIN 2P DAT 5P FIX 6P KEY 3P 256 130P PG1 5P HLP 6P HLP 6P HLP 6P HLP 6P HLP 6P HLP 6P COM 4 COM 6 PRN 8 COM 9 COM 4 HLP 6 COM 9 HLP 6
19. 04 00 03 OD 04 OC 03 OB 02 SF SF 90 90 91 91 92 92 0 93 93 94 94 95 95 96 96 97 97 98 98 99 99 Troisi me descripteur fichier D avec les coordonn es du premier du fichier F 0 9A OF 9A 10 9A 11 9 8 7 6 5 4 9A 9A OD 9A OE 00 00 00 00 00 00 00 00 00 00 00 00 00 00 3 2 01 0 9B ClFF idem uniquement des z ros Quatri me descripteur fichier E avec les coordonn es du deuxi me descripteur E 502 O o OOO OO 0 Dm tU Ed 6 9B 9B 9C 9C 9C 9D 9D 9E 9E 9F 9F AO AO Al Al A2 FC 00 09 11 08 10 07 OF 06 9E OE 9F 05 9F OD AO 04 AO Al 03 A1 OB A2 02 tO tO 0 D 8 0 D D D 4 00 9B 9B DC DC 90 90 9E 9E EI 0 0 0 Al A 3 40 05 OD 04 00 03 OB 02 OA 01 09 08 10 07 OF 2 D Qo d 9F 9F 9F 0 0 1 1 180 X A A A Ei e CO 0 0 CH CH bh C43 Ca CEET EE PRE H H nj
20. des ne semblent pas savoir lire d autre format que donc il n est probablement pas possible d adapter READDISK pour lire les disquettes du PRAVETZ Mais le contr leur du MICRODISC est capable de lire les formats FM Il existe un bit de s lection qui n est g r par aucun des DOS ORIC Selon Fabrice il serait possible d crire une routine sp ciale pour permettre aux ORIC de lire les disquettes APPLE PRAVETZ D LE TELESTRAT D 1 ORIC PRODUCTS INTERNATIONAL ET IQI64 STRATOS Tr s curieusement Micr Oric revue officielle de ORIC FRANCE alias l importateur A S N pr sente quelques pages d intervalle du m me num ro Micr Oric 7 de f vrier 85 le STRATOS pages 9 11 et l IQ164 pages 43 45 avec les m mes caract ristiques encore heureux Information reprise par Th oric 6 mars 85 page 14 qui avance un prix d environ 4000F En fait en Angleterre le nom STRATOS tait d j brevet et faute de mieux la machine aurait gard son nom de d veloppement le IQ164 Pourquoi s int resser une machine qui ne fut jamais diffus e En ce qui nous concerne pour l instant savoir les drives et DOS nous aimerions simplement reconstituer l volution jusqu au STRATSED Nous ne ferons aucun commentaire sur les autres possibilit s de la machine notamment sur 620 le mode d affichage 26 lignes sur 80 colonnes ou la haute r solution adress e bit par avec attributs parall les Premi re r volutio
21. 1 Num ro de Piste 1 Num ro de Piste 1 Num ro de Face 1 Num ro de Face 1 Num ro de Secteur 1 Num ro de Secteur 1 01 Longueur 256 1 01 Longueur 256 1 F7 crit 2 CRC 1 F7 crit 2 CRC 22 4 22 4 12 00 12 00 3 F5 crit A1 3 F5 crit A1 1 FB Flag Data 1 FB Flag Data 256 Octets de Data 256 Octets de Data 1 F7 crit 2 CRC 1 F7 crit 2 CRC 54 80 4 40 30 12 12 4 fin de cycle d une piste fin de cycle d une piste Jusqu la fin de la piste 4 Jusqu la fin de la piste 4 Note le d but de piste ORIC indiqu ci dessus soit 96 octets n est valable que pour 16 ou 17 secteurs piste Il est carr ment supprim pour 18 ou 19 secteurs piste Groupe IV Force Interrupt DX commande utilis e pour terminer une commande de lecture criture multiple Les bits 00 b3 repr sent s par un X sont positionn s selon diverses Interupt Conditions Apparemment 551 SEDORIC n utilise pas les commandes 90 98 220 8 DX Voir la notice du FD1793 pour toute utilisation sp ciale de la routine XRWTS avec ces commandes Status Register A r ception d une commande sauf Force Interrupt le 00 est mit 1 busy et les autres bits sont mis jour en fonction de la nouvelle commande Si la commande Force Interrupt est re ue alors qu une autre commande est en cours d ex cution le bO est mit 0 et les autres bits sont inchang
22. F 007 00 00 00 0 SS ule eae ote OO 00 003 Aessen Des 503 B D A B C 9 6 7 8 5 2 3 4 0 1 00 00 A9 OF A9 10 A9 11 00 00 00 00 00 00 00 00 00 00 00 00 00 00 120 CIFF idem uniquement des 26208 100 110 302000000006000000420 C C C ANNEXE n 8 Que se passe t il lors d un SAVE Nombreux sont ceux qui veulent savoir comment SEDORIC sauve un fichier afin de pouvoir impl menter cette fonction essentielle dans un programme en cours de d veloppement Il est bien s r possible d aller fouiner dans les d dales de la commande SAVE Mais c est ardu et un r sum des modifications subies par la disquette lors d un SAVE m a souvent t demand Voici donc en tr s simplifi ce que fait SEDORIC sans entrer dans les d tails tels que gestion des param tres nom de fichier type de fichier adresses v rification des noms de fichiers d j existants mise jour de diverses variables etc 1 SEDORIC cherche dans la bitmap BUF2 le premier secteur libre et le r serve le marque occup pour y mettre le premier descripteur Il labore le premier descripteur BUF1 ce faisant il cherche les secteurs libres suivants et les r serve les marque occup s pour les secteurs de data proprement dits Il copie le premier descripteur BUF1 dans le secteur r serv cet effet Si n cessaire cherche un nouveau secteur libre
23. XSETOFF Teste si le param tre est SET ou OFF retourne avec C 1 si SET ou C 0 si OFF sinon g n re une SYNTAX ERROR XVERHRS v rifie si on est bien en mode HIRES sinon g n re une DISP TYPE MIS MATCH ERROR r initialise la pile et retourne au Ready OPERATIONS TXTPTR JSR C73A ROM place TXTPTR au d but du programme BASIC JSR 4 amp CA3F ROM calcule le d placement l instruction suivante met jour TXTPTR en ajoutant Y JSR D39E RAM overlay puis JSR CAE2 ROM relit le caract re le convertit en MAJUSCULE puis value le num ro de ligne TXTPTR r sultat en 33 34 JSR CF17 ROM value une expression num rique TXTPTR Retourne avec la valeur 601 D16F D178 D180 D1D4 D26C D67E D685 D6C9 D79E D7BD 07 0 DC6C DFDE E94D F070 DIAC DIDC DIF3 D216 num rique dans ACCI JSR CFO9 ROM v rifie que l expression valu e TXTPTR est bien num rique JSR CFO9 ROM v rifie que l expression valu e TXTPTR est bien alphanum rique JSR CFO9 ROM v rifie que l expression valu e TXTPTR est bien conforme JSR CF17 ROM value une expression TXTPTR retourne avec une valeur num rique dans et 00 dans 28 ou l adresse d une cha ne dans D3 D4 et FF dans 28 et A N et Z positionn s selon l exposant r sultat num rique ou la longueur de chaine JSR D067 ROM puis D3A1 RAM overlay exige une
24. dans BUFNOM revient avec C 1 si pas trouv ou g n re une WILDCARD S NOT ALLOWED ERROR si trouv V rifie si drive demand est on line et le valide actif si non g n re une erreur V rifie si le drive Y est on line si oui le valide actif si non g n re une erreur Recherche et met jour les variables syst me XLKEY prend un caract re au clavier entr e sp ciale LINPUT XKEY prend un caract re au clavier entr e g n rale XPMAP prend le premier secteur de bitmap dans BUF2 v rifie le format met z ro le b7 de 2F flag premi re bitmap charg e Charge le secteur de bitmap de coordonn es AY dans BUF2 et v rifie le format XPBUFI charge dans BUFI le secteur Y de la piste A XPBUF2 charge dans BUF2 le secteur Y de la piste A XPBUF3 charge dans BUF3 le secteur Y de la piste A Charge la page X le secteur Y de la piste A XPAY charge dans RWBUF le secteur Y de la piste A XPRSEC lit un secteur selon DRIVE PISTE SECTEUR et RWBUF XSCAT sauve le secteur de catalogue contenu dans BUF3 selon POSNMP et POSNMS Ancienne routine XSMAP sauve le secteur de bitmap sur la disquette a t d port e en DC80 592 D73E D740 D74E D753 D756 D758 D79E D7BD 07 0 D7C9 D843 D845 4 50 DASD DA60 DA63 5 DA6D DA73 DA82 DA8A XSBUFI sauve au secteur Y de la piste A XSBUF3 sauve BUF3 au secteur Y de la piste A Sauve
25. 0 0 0 6 KOCH OCD DO 02 05 D8 D9 DCH P P I I B I Ei PLA STA 04 PLA STA 04 PLA RTI 85 04 81 04 00 0 oo DC DD EO 1 KA E5 EO EO EO EO EO EO pup ONS LADDA ER DS EE Ok p LPA DAS DE DELI S IVD LISS TE LED INIS S IS OE Ce a CURE D DASS a E IRQ handler IRQ wrapper gt switch to ROM and exec the Basic 2 ARIS RARER KERR DS STR RER RRR AK RARER KER BK BERR OR KERR RRR REBAR KORR KSS RR PHA TXA PHA LDA 50481 PHA LDA 50485 PHA LDA 50486 PHA LDA 8A STA 0485 LDA 04 STA 0486 LDA 06 STA 0481 ISR 0490 PLA STA 0486 PLA STA 0485 PLA STA 0481 PLA TAX PLA RTI E 6 E7 E 8 EO EO 48 8A 48 AD 81 04 48 AD 85 04 48 AD 86 04 48 A9 8A 8D 85 04 A9 04 8D 86 04 A9 06 8D 81 04 20 90 04 68 8D 86 04 68 8D 85 04 68 8D 81 04 68 AA 68 40 e Ck Ck k k k k k k k k k k k k k k k k k k k k k k k
26. 00 00 501 16005010 02D00000 00000000 10 00000000 00000000 00000000 00000000 20 00000000 00000000 000000F8 FFFFetc Etat initial 0000000 00000000 00000000 0604104 0704104 0804644 0E08644 1504644 1B08644 210C644 2710644 2E04644 4 4 4 4 4 340864 3A0C64 401064 470464 4D0864 830C644 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 Etat initial 89106440 90046440 96086440 9C0C6440 A2106440 A9046440 AF086440 000000 0000etc M z lt lt lt lt lt lt M M M M M M M M 0 0 0 e 20000000000000020 6 7 8 9 0 1 2 0 OT gt amp H gt amp NM rn Ed 00 H V 2 A Al 2 2 2 Af 2 AAA H 7 ipp 7 0 0 CH R NN HHHHHHHHHHHHH H R R R R R R 00 co Ed Ed T 1 0 H H H H H H H Piste 20 Secteur 4 00 1407000 Q H Hi H H H HH H H H H H H 63 2 61 63 2 Ch ty ty 3 OQ ICH Piste 20 Secteur 7 F00008000 00000000 00000000 00000000 I Hj 1 rz hy rrj rrj rrj rrj rrj rrj rrj rrj rrj rrj rrj rrj 10 20 30 40 50 60 70 804 90 0 80 00 00 50 FO Les octets
27. 0097 0098 009B 009D 009F 00A2 00 5 00 6 00 8 OOAB OOAE 00 0 00 2 00 5 00B7 00 8 00BA OOBD OOBE 00C0 00C2 00C5 00C7 00C9 00CC 012345678 9ABCDEF 00 SYSTEMDOS 00 BOOTUPCOM Dump du troisi me secteur de disquette master BOOT ce n est pas rentable A ros 6 7 8 54 45 4D 54 55 50 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 nt des z Qc cq our 3 00 00 02 53 02 00 00 42 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 OOFF idem uniquem Ce secteur n a pas t modifi depuis la version 1 006 Dump du secteur n 1 de la piste n 14 n 20 SECTEUR SYSTEME 012345678 9ABCDEF 20 RRRR d 20 XX XX XX QT il 21 3 D2 D2 D2 D2 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 00 00 00 0 00 00 00 0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 0 00 00 00 00 00 00 00 0 00 00 00 0 Cet exemple provient d une disquette Master vierge format e en 42 pistes de 17 secteurs simple face Les 4 octets qui different de leur homologues de la version 1 006 sont indiqu s en gras et concernent la table de configuration des lecteurs TABDRV les 4 premiers octets du secteur qui devient D2 D2 D2 D2 soit 82 pistes double face pour les lecteurs A B C et D Le Secteur Syst me secteur 1 de la piste 20 est structur ainsi table des d
28. 17 ANNEXE n 18 ANNEXE n 19 ANNEXE n 20 ANNEXE n 21 ANNEXE n 22 ANNEXE n 23 ANNEXE n 24 ANNEXE n 25 ANNEXE n 26 ANNEXE n 1 630 NOTES PERSONNELLES
29. CiU ED En Cy Ea ZG 4 F7 a char to 0 CT CO C 1 C0 C1 EO 30 14 3A 12 41 EA7D A9 EA7F 20 EA82 20 EA85 0 EA87 9 EA89 DO EA8B 60 EA8C 8D EA8F Bl EA91 C9 EA93 FO EA95 C9 EA97 FO 99 20 90 C9 EA9E EAAO 9D EAA3 E8 4 8 EAA5 CE EAA8 DO EAAA 0 EAAB AQ EAAD 9D EABO 8 EABA 0 6 8 EAB7 60 limits EAB8 C9 EABA 90 EABC C9 EABE 90 EACO 9 EAC2 90 EACA 9 6 90 EAC8 9 EACA 0 EACC 9 EACE 90 EADO 9 EAD2 60 D3 D6 D9 DC DF E 2 E 4 E7 Ed Ed Ed bi s eoe D gt o H DD DD m pn QU Ee LRA AK kk k k k k k k k k k k k k k k k k k k k k k k k k k k k k k k k k k k k k k k kk k k k k k k k k k k k k k k k k k k k k k k k k k k k k k k k k k k k k k k k k k k k k k k k k k k k k k k k k k k k k k xk k x x kk k k k k k k k k k k k k k k k k k k k k k k k k k k k k k k k k k k k k k k k k k k k k k k k k k k k k k k k k k k k k k k k k k k k k k k k k x x 540 LDX 9 LDY C13F LDA C02C Y STA 8 INY INX CPX 4510 BNE SEAE
30. DOS La fa on dons les syst mes comme SEDORIC font croire L EPROM du MICRODISC que la disquette est une ORIC DOS est d j tout un programme Le genre d horreurs n es du souci de compatibilit La question suivante est de savoir comment la ROM du MICRODISC est capable de charger SEDORIC dont le syst me de fichiers a une structure diff rente et qui n utilise pas d enregistrements comme ORICDOS Ceci est r alis en bernant la ROM en lui faisant croire qu il y a bien une disquette ORICDOS dans le lecteur Les trois premiers secteurs des disquettes SEDORIC servent imiter un syst me de fichier ORICDOS L ANNEXE suivante vous montre le contenu de ces 3 secteurs En regardant de plus pr s on voit que dans 16 troisi me secteur de la piste z ro le fichier BOOTUP COM est soit disant pr sent dans le deuxi me secteur de la piste z ro Ceci est utilis pour charger un enregistrement qui est finallement ex cut et ce petit morceau de code est responsable du chargement de SEDORIC en RAM overlay Bien 50 il cela aurait t plus simple si ORICDOS chargeait un secteur de boot et l ex cutait juste apr s C est ainsi que le TELEMON du TELESTRAT op re 483 ANNEXE n 7 Rappel de la structure des disquettes SEDORIC SEDORIC occupe 107 secteurs sur une disquette MASTER en deux groupes Le premier groupe se trouve au d but de la disquette et occupe 99 secteurs partir du secteur n 1 de la piste n 0 Le deuxi me groupe se trouve
31. gt gt lt U ND U O U J 18 7 J Se E33 L E33A E33C E33D 0 1 3 9 6 8 E34 E34 E34 E34 3 15 47 LA R E341 E34 E35 E35 E35 E35 E35 E35A E35C 0 2 4 7 8 E35E E36 E36 E36 E36 E36 E36A E36D 0 E37 E372 5 8 9 E37 E37 E37 E37C 7 E382 4 8 9 E38 E38 E38 E38 F38A D m E38 E38 E38F 0 1 E39 E39 E392 e Ck Ck Ck k k k k k k k k k k k k k k k k k k k k k k k k k k k k k k k k k k k k k k k k k k k k k k k k k k k k k k k k k k k k k k k k k k k k k x x x x x FDC command specified in Y ffectiv SE CO STY 5 005 CO LDA C003 STA SFE CO LDA 5 004 STA FF 03 STY 0310 04 LDA 0480 ORA 4 1 03 STA 0314 04 STA 0480 LDY 0 RTS th issu OY D O o 839150 0 00 x 1 E 3 93 E394 E397 E39A E39C E39F E3A1 E3A4 E3A7 E3A9 E3AC E3AF E3B1 e Ck Ck k k k k k k k k k k k k k k k k k k k k k k k k k k k k k k k k k k k k k k k k k k k k k k k k k k k k k k k k k k k k k k k k k k k k k k x x x preserving status of previous command no load head flag the command wouldn t fail when no disk is in drive LDA 504 LDX 8 1
32. la piste n 20 et occupe les secteurs n 1 2 3 4 7 10 13 et 16 Sur une disquette SLAVE SEDORIC occupe 8 secteurs en 2 groupes Le 1 er groupe se trouve au d but de la disquette et occupe 8 secteurs partir du secteur n 1 de la piste n 0 Ces 8 secteurs sont identiques aux secteurs correspondants d une disquette MASTER sauf le 23 me octet du 2 me secteur qui contient 00 Master ou 01 Slave Le 2 me groupe se trouve la piste n 20 et occupe les secteurs n 1 2 3 4 7 10 13 et 16 Ces 8 secteurs ont identiques aux secteurs correspondants d une disquette MASTER sauf le secteur de bitmap 2 me secteur de la piste 20 dont les octets n 02 03 indiquent un nombre de secteurs libres diff rents et l octet n 0A qui contient 00 Master ou 01 Slave La carte des secteurs occup s bitmap est bien 50 galement diff rente Rappel l utilisation d une disquette Slave n cessite la pr sence de SEDORIC en RAM overlay De plus ce type de disquette ne permet pas d utiliser des commandes n cessitant le chargement d une BANQUE interchangeable Sinon il n y a pas de diff rence Lors d un INIT les 99 premiers secteurs de la disquette master sont charg s en RAM de 3000 92FF et ceci sans consid ration pour la syntaxe de INIT ce qui repr sente une perte de temps quand il s agit de formater un disque SLAVE o seuls les 8 premiers secteurs sont utilis s Apr s certains ajustements 99 Master ou 8 Slave secteu
33. lib rer SECTEUR lib rer XDETSE lib re le secteur Y de la piste A sur la bitmap XSMAP sauve le secteur de bitmap sur la disquette et enfin retour sur la ROM 568 JSR 04F2 LDA STA C000 JSR DA4C LDA 001 LDY C002 JSR DD15 JSR DA8A JSR 04F2 ANNEXE n 7 LES BOGUES DE SEDORIC Sans vouloir porter atteinte ce syst me d exploitation g nial Le lecture de cette ANNEXE d montre que la version 3 0 est bien loin d tre totalement corrig e Les bogues principales ont t trait es Pour les autres il faudra encore du temps et du recul Eliminer une bogue n cessite non seulement d en trouver la cause et de mettre au point un traitement mais aussi et surtout de v rifier que la correction ne sera pas pire que le mal Le code de SEDORIC est tr s optimis et touffu Il est parfois difficile de se rendre couper de toutes les implications qu une modification peut entrainer Probl me de l utilisation des minuscules Ce probl me est totalement corrig l utilisation des minuscules n est d sormais plus support e dans les commandes SEDORIC Vous trouverez ci dessous la liste des inconv nients que cela apportait Le manuel indique page 22 qu il est possible de taper les commandes SEDORIC en minuscules Ceci n est pas tr s pratique puisqu il faut continuer entrer les commandes BASIC en MAJUSCULES ce qui entraine une continuelle utilisation du CTRL T Enfin il y ade nombreux probl mes avec l utilis
34. 22 4E 12 00 3 F5 writes Al 1 FB data address mark 256 DATA 1 F7 2 0808 written 54 4 to the end AE Type IV command The Forced Interrupt command is generally used to terminate a multiple sector read or write command or insure Type 1 status register This command can be loaded into the command register at any time If there is a current command under execution busy status bit set the command will be terminated and the busy status bit reset Status Register Upon receipt of any command except the Force Interrupt command the Busy Status bit is set and the rest of the status bits are updated or cleared for the new command If the Force Interrupt command is received when there is a current command under execution the Busy status bit is 557 he rest of the status bits are unchanged If the Force ommand is received when there is not a current command under the Busy Status bit is reset and the rest of the status bits reset and t Interrupt c execution are updated or cleared In this case Status reflects the Type I S the option of reading the status register through program using the DRQ line with DMA or interrupt methods When the the DRQ bit in the Status register and the DRQ line are ly reset write to the DR also causes both DRQ s to reset t in the status may be monitored with a user program to hen a command is complete in lieu of using the INTRO line the INTRO a busy status check is
35. 4 3 2 1 0 00 00 10 02 10 03 10 04 00 00 00 00 00 00 00 00 CIFF idem uniquement des 26208 Gros Fichier E 3 descripteurs premier descripteur les 2 premiers octets indiquent les coordonn es du descripteur suivant soit le secteur n 0E de la piste 03 de la deuxi me face 20 UG 02 Less tes bw OAL D COB ascension OL 285 DOR lee 2 87 02 db cues E Jd rs I sas 0829103 E Ee UES BO LO auk S ah st 06 016 291 10 Seo re te etes PR wg 9 Zee 016 Sio i e Rog aue UB Aene opa ee emma 04 UD salue 0 93 OD NN Deg A 26 27 27 28 28 28 29 29 00 80 81 81 82 82 83 83 01 00 27 27 27 28 28 29 29 80 80 81 81 82 82 83 83 0 1 8 0 7 6 5 4 3 2 D B 0 0 0 0 0 0 0 0 0 0 0 0 0 0A 00 26 2 27 28 28 29 29 80 80 81 81 82 82 83 83 FF 10 07 OF 06 0 0 0 04 0 03 0B 02 0A 01 09 26 27 21 28 28 29 29 80 80 81 81 82 82 83 83 00 0F 06 0E 00 26 27 27 28 28 29 29 80 80 81 81 82 82 82 83 40 OE 05 OD 0 0 4 e 03 OB 02 01 09 08 10 07 26 2 27 28
36. 6 HU pp gt H H D O DA q D H gt JSR LDA TAX STA INX CO EO m 0 I Cj Ci CO ET CO 0 CO CI CO Cl EO CO CO CO CO I 1 CO C1 CO EO i CO 10 F4 25 3F 08 29 03 2A 1 2 3 2B 02 24 01 24 24 23 23 24 27 01 27 28 00 28 01 24 25 OF 31 24 00 02 23 01 F6 23 39 24 24 23 21 3F 00 23 EO DO 20 60 20 FO DO 60 Ei DP Ei gt Ww T L o J G 60 20 N D H mool D O gt gt OUI GT CY O S E o D Phy pP Jg ES8AE 0 E8B3 E 8B6 7 E8BA E8BC E8BF 1 4 E8C5 E8C8 E8CA E8CD 0 E8D3 E8D6 E8D9 E8DC E8DF E 8E 2 E 8E 3 E 8E 6 E 8E 8 ESEE E8F0 5 E8F6 8 9 ESFC ES8FE E900 E903 E905 E908 E90B E90 E9 1 1 1 1 E91F E922 E925 E927 E928 mi E92C looks for a free entry and returns it NA GE RAK KR ABER BORER RK
37. B extension compl t e droite par des espaces 20 si n cessaire Dans notre exemple de 19 1B on a 43 4F et 4D soit COM Octet XC piste du descripteur ou du premier descripteur pour les gros fichiers ou les fichiers merg s Dans notre exemple en 1C on a 06 pour piste num ro 6 Octet XD secteur du descripteur ou du premier descripteur pour les gros fichiers ou les fichiers merg s Dans notre exemple en 1D on a 04 pour secteur num ro 4 Octet XE LL octet de poids faible du nombre total de secteurs du fichier Dans notre exemple en 1E on a 10 car la taille totale du fichier est de 16 secteurs Octet XF HH octet de poids fort du nombre total de secteurs du fichier de bO b5 et attibut de protection b6 toujours 1 et b7 O si UNPROT ou 1 si PROT Dans notre exemple en 1F on a 40 seul le b6 est 1 car la taille de notre fichier est cod e seulement sur l octet de poids faible et il n est pas prot g Que se passe t il quand un fichier d borde sur la deuxi me face de la disquette Au fur et mesure que SEDORIC crit des fichiers sur la disquettes celle ci subit des modifications analogues celles qui ont t d crites ci dessus criture d un ou de plusieurs descripteurs criture des secteurs de data mise jour de la bitmap et mise jour du directory 507 Rappelons que dans tous les cas op SEDORIC doit utiliser une nouvelle place il re
38. COM MONDO HLP 6 MOVER HLP MOVBAS HLP 6 MOVBAS SM MOVER COM 2 MOVBAS COM QUITAC HLP 6 QUITAC SM 1 QUITAC COM 3 SECTMAP HLP SECTNUL HLP 6 SECTNUL COM SEDCAT20 HLP 6 SEDCAT10 HLP SEDCAT10 BAS 2 SEDUTIL BMO SEDUTIL 1 2 SEDUTIL HCO SEDUTIL COM 33 SEDUTIL UTS SEDUTIL DMP 2 SEDUTIL HLP SHASMO600 COM 37 SHASMO600 HLP SHMON9380 COM 35 SHMON1380 COM 3 SHMON9380 HLP 6 SHMON1380 HLP TBDI HLP 6 TBD COM TBD2 HLP 6 TBDI COM TBD2 COM 5 TBD3 COM TBDO COM 5 E COM M COM 4 UTILI HLP UTILI COM 7 UTIL2 COM UTIL2 HLP 6 VDT COM VDT HLP 6 VH COM VH HLP 6 WARMATMOS SM WARMATMOS HLP 6 WARMATMOS COM WARMSEDOR HLP 6 WARMSEDOR SM WARMSEDOR COM 3 MENU COM PATCH 002 4 PATCH 001 PATCHHELP 001 6P PATCHHELP 002 307 sectors free D 80 17 184 Files 625 88 102 121 et 122 125 et 136 135 138 et 139 146 161 175 ANNEXE n 25 Tables et figures BUFI Dump de la page 4 MOVE descendant par le d but MOVE ascendant par la fin Messages de la BANQUE n 2 Table de formatage BACKUP Structure d une piste Messages de la BANQUE n 3 Messages de la BANQUE n 4 Messages de la BANQUE n 5 Messages de la BANQUE n 6 Table de formatage INIT Structure d une piste INIT Copyright BANQUE n 7 Table des codes de touches Table KEYDER e Ex QA s a is aha REDEF 16 commandes re d finissables avec KEYUSE PREDEF 16
39. D N RA TA TA RTS O gt F Q gt gt Q S S 04 04 04 04 01 02 01 02 04 04 04 03 04 02 80 FD 81 14 80 NP N A J o U w 04C3 04C4 04C6 04C9 04CB 04CE 04D0 04 3 0406 04D7 04D8 04DB 04D 04D 04E 04E 04E 04E7 04E9 04EC 04E 04F1 04F4 04F7 04FA AK IRE GS KORCKOK KGROR R SSA SRI IER KRISS SR ASS RAS SARE LER RR BFEO just to read rom location C002 506 50487 C002 500 50487 routine transfered in KK OK UK CK OR GR KK EUR BRB OR I ARER IR KURSEN EE e E OK OK HE UK SDN RD DA SR DY DA MP Ci EN CNE 04 CO 04 06 87 02 00 87 A9 20 AC A9 4C EF68 EF6A EF6D EF70 EF72 e Ck Ck Ck k k k k k k k k k k k k k k k k k k k k k k k k k k k k k k k k k k k k k k k k k k k k k k k k k k k k k k k k k k k k k k k k x x x EF 5 to FFCF LA ee P nothing from LA e Ck Ck Ck CC k k k k k k k k k k k k k k k k k k k k k k k k k k k k k k k k k k k k k k k k k k k k k k k k k k k k k k k k k k k k k k k k 53 20 56 30 2E 36 00 00 00 Oric DOS V0 6 49 43 20 31 39 38 33 00 00 00 C ORIC 1983 00 00 00 00 NMI EOAE RESET EB7E RQ ES3CO 548 44 52
40. F500 Piste 3 secteur 3 amp 4 2 10 12 octets diff rents CORRECTION BOGUE COMMANDE gt MODIFICATIONS DANS LA BANQUE n 2 qui sera copi en RAM overlay de C400 C7FF C600 Piste 4 secteur 5 amp 6 20 octets diff rents MODIFICATION DE LA COMMANDE BACKUP Le message Formating complete a t raccourci en Done par Ray ce qui permet de d gager 14 octets pour ins rer un sous programme de d bogage STRATORIC V3 0 Cette modification n est pas support e par STRATORIC V3 0 qui plante sans raison apparente Elle a donc du tre neutralis e En outre STRATORIC comporte 2 octets diff rents de SEDORIC qui influent sur les caract ristiques de formatage Lorsque l on veut effectuer un BACKUP avec STRATORIC V3 0 il faut donc imp rativement utiliser une disquette master STRATORIC V3 0 ou V1 0 MODIFICATIONS DANS LA BANQUE n 5 qui sera copi en RAM overlay de C400 C7FF C400 Piste 5 secteur 1 amp 2 53 octets diff rents EXTENSION BIGDISK et NETTOYAGE D TRACK C600 Piste 5 secteur 3 amp 4 110 octets diff rents 472 CORRECTION D UNE BOGUE DE LA BANQUE n 5 Elle affectait les commandes DKEY DNAME DNUM DSYS INIST gt TRACK MODIFICATIONS DANS LA BANQUE n 6 C400 C7FF qui sera copi en RAM overlay de C400 C7FF C400 Piste 5 secteur 6 1 octet diff rent EXTENSION BIGDISK INIT Maximum 101 pistes par face au lieu de 99 utilisable avec EUPHORIC les lecteur
41. JSR SE STA 04 RTS NOP NOP this way 3B2 AD FE 3B5 A2 08 3B7 20 1C 3BA 8D FE 3BD 60 E3BE EA E3BF EA restore track 0 heart of the bug is here command should be 0 Ej Ed Ed Bd Se lt e OR GEHE UOS DRUNK E DR UR UR KASI NAGER dene e RUE OK SK UE DR ue RAR ok idee oc e ak ck eic aep IKER AN ok o t ue o handler DESSERTS SS RRR RREK EAER KORR SSR SSR CRACK CE SSR DER SER KERR EUR KER IRQ comes from disk checks if the yes continue here IRO context get rid of the SO We are now in the interrupted routine store FDC s status only interesting flags enable interrupts and return to the caller of the interrupted routine not the interrupted routine itself doesn t come from disk go to the normal IRQ handler N No ae DA 0314 MI SE3DF DA 0480 ND FE STA 0480 STA 0314 PLA PLA PLA LDA 0310 AND 550 STA 5041 CLI RTS D opt DP rg D GI PLA JMP SEOE6 04 04 03 03 04 EO 80 80 14 Wor Oo E6 4 A 9 6 A 2 8 L o 68 29 8D 58 60 68 4C E3CO 1 4 6 E3C7 E3CA E3CC E3CF
42. Ur Ur E 5 47 ur 92 9D 91 502 9C D D 9 59 SAO 9 SOF SAL 6 SA SA2 SAT SA3 505 4 E069 E05A SC14B 501 SEA Cj E D 5 5 5 5 JSR BCC LDA LDA STA H UJ gt Q D D E E 3 tO C UO D lt D D gt gt LH E MP GI P Q 3 N uU TAQA A KA kA E vs ROO LO Gl e 69 EO 5A EO 04 A8 C4 BF 2 IC4 ICA EE 529 checks drive number searches the fil File not found File found reads first sector of it is it a Join no uses first start address as global address computes end address of record is trace required if yes prints addresses 530 C12B 5 000 02 00 500 4 500 Ur H U gt H Uri SCO2F X 5 001 SCO2E X SE83F 500 502 SEAF7 C14 C025 Y SC027 Y SC027 Y 5 026 5 028 5 028 500 SE53E XY Ur Ay nm Gy nm zb Ur Ur Ur Ur 4 LDA STA JSR X I BNE D x mQ U HU mmm PORE Ge H H W m x rm DP lt
43. XAFIGAU affiche une fl che gauche 598 D364 D36C D372 D3AI D376 D60E D613 D62A D637 D648 D6C9 D73E D740 D74E D753 D756 D758 DAB4 E322 E94D EBA3 EE69 EE73 affiche une fl che droite CONSOLE CLAVIER et ECRAN JSR C816 ROM met l imprimante en service et inhibe l affichage sur l cran Cette routine ne marche qu avec la ROM 1 1 un simple RTS est ex cut avec la ROM 1 0 JSR C82F ROM met l imprimante hors service et restaure l affichage sur l cran JSR D4D2 ROM interdit le mode direct JSR DA22 ROM prend 2 coordonn es TXTPTR et les retourne dans 2F8 x et X y JSR EB78 ROM saisit une touche si touche frapp e alors N 1 et A code ASCII sinon gt 0 JSR EDEO ROM autorise IRQ gestion clavier et curseur JSR FAEF ROM trouve le code ASCII de la touche press e En entr e 0208 contient le code de la touche 0209 le code de la touche SHIFT ou CTRL et 020C le masque minuscule MAJUSCULE En sortie A contient le code ASCII avec 07 1 Si le 07 de A est O pas de touche press e JSR F590 ROM appelle la routine d E S du PSG 8912 Met X dans le registre A du PSG 8912 Programmable Sound Generator JSR F801 ROM teint allume le curseur Si le curseur tait visible bO de 026A 1 et si A 401 le curseur sera mis en vid o inverse sinon le caract re sous le curseur sera en vid o normale JSR F982 ROM r g n re le jeu
44. XNFA lit un nom de fichier ambigu TXTPTR et l crit dans BUFNOM XROM ex cute partir de la RAM une routine ROM Le JSR XROM doit tre suivi dans l ordre de l adresse de la routine pour la V1 0 puis de l adresse pour la V1 1 Convertit n lecteur en lettre et l affiche XAFHEX affiche en hexad cimal le contenu de A XAFCAR affiche le caract re ASCII contenu dans A XAFSTR affiche une chaine termin e par 0 et dont l adresse est donn e par AY Affiche DISC IN DRIVE lettre du lecteur actif AND PRESS RETURN puis demande un ESC C 1 ou un RETURN 0 Demande un ESC C 1 ou un RETURN C 0 Idem mais limine l adresse de retour si ESC Initialise n erreur et continue ERRVEC incr mente X et traite erreur n X Routine de traitement des erreurs Affiche l erreur r initialise la pile et retourne au Ready 591 D364 D36C D372 D376 D398 D39E D3AI D44F D451 0508 D60E D613 D62A D637 D648 D669 D676 D67E D685 D6C9 XCURON rend le curseur visible vid o inverse XCUROFF cache le curseur vid o normale Affiche en d cimal sur 2 digits un nombre A de 00 63 0 99 Affiche en d cimal sur 5 digits un nombre AY de 0000 0 65535 Affiche en d cimal sur 4 digits un nombre AY de 0000 270 0 9999 Affichage en d cimal sur X 2 digits d un nombre AY entr e g n rale XNOWILD recherche
45. bit 05 0 c est le troisi me secteur de directory les secteurs n 11 et 12 sont libres bits et b7 1 Pour l octet n 3C o l on a F6 1111 0110 qui indique que le secteur n 13 est occup bO 0 quatri me secteur de directory que les secteurs n 14 et 15 sont libres b1 et b2 1 le secteur n 16 est occup b3 0 cinqui me secteur de directory et enfin que le secteur n 17 est libre b4 1 Les 3 derniers bits b5 b7 qui sont 1 indiquent que les 3 premiers secteurs de la piste suivante sont libre Il faut noter que les secteurs n 7 10 13 et 16 de la piste n 20 sont marqu s occup s m me si ce n est pas la cas En fait ils sont r serv s pour le directory Cette disposition repr sente une optimisation de SEDORIC la piste n 20 se trouvait au milieu des 40 pistes des disquettes d origine ce qui limitait les d placement de la t te de lecture criture Enfin SEDORIC est capable de lire crire un secteur sur trois de la m me piste et de g rer les informations pendant que la t te passe au suivant sans avoir besoin de faire un tour complet Notez que la complexit apparente de ce codage n est pas due au fait que l tat d occupation des secteurs de la disquette est repr sent par un bit mais au fait qu la suite logique s quentielle du premier secteur de la premi re piste au dernier secteur de la derni re piste correspond une suite de bits lire de droite gauche dans une
46. si le fichier n est pas trouv Ajuste POSNMX sur l entr e suivante du catalogue et reprend la recherche dans le catalogue du fichier indiqu dans BUFNOM Z 1 si fini XTRVCA cherche une place libre dans le catalogue A la sortie POSNMX POSNMP et POSNMS indiquent la position de la place r serv e Cherche le POSNMX de la premi re place libre dans le directory XSAVEB sauve le fichier de nom contenu dans BUFNOM selon VSALOO VSALOI DESALO FISALO EXSALO XLOADA charge le fichier dont le nom est dans BUFNOM selon VSALOO VSALOI DESALO XNOMDE d truit le fichier index par POSNMX dont le secteur de catalogue est dans BUF3 en fait tout est positionn comme apr s un XTVCAT Affiche nom de fichier et taille du fichier POSNMX OPERATIONS sur la BITMAP XPMAP prend le premier secteur de bitmap dans BUF2 v rifie le format met z ro le b7 de 2F flag premi re bitmap charg e 607 DAC3 5 0807 DB17 DB2D DB30 0841 0859 DBAS5 DE9C 0 5 266 22 4 Charge le secteur de bitmap de coordonn es AY dans BUF2 et v rifie le format Ancienne routine XSMAP sauve le secteur de bitmap sur la disquette a t d port e en DC80 XLIBSE cherche un secteur libre dans la bitmap dans BUF2 retourne avec A n de piste et Y 2 n de secteur sinon DISK FULL ERROR Ancienne routine Cherche un secteur libre d port e en E67F pour
47. tait tr s g nante car elle se r percutait sur d autres commandes notamment BACKUP Cette bogue a t corrig e partir de la version 2 0 en C64Af et C76Bf D16F routine Affiche le message DISP TYPE MISMATCH ERROR IeLDA A3 doit tre remplac par un LDX A3 non corrig D479 D47D rempli BUFNOM de or X n est pas nul en entr e mais vaut FF sortie de la boucle D465 D469 donc le premier est crit en C128 au lieu de C029 De plus au retour Z car le dernier DEX entraine X 0B non nul Le BEQ suivant ne sert donc rien non corrig 04 0 0505 il y a un JSR D7BD qui valide le drive demand trop non corrig D801 D802 la variable EO est inutilis e et semble tre un r sidu de mise au point non corrig D907 D927 bogue LOVE routine Prendre un caract re au clavier le sous programme traitant des codes correspondant aux mots cl s SEDORIC tait compl tement bogu et ne marchait pas Ceci a t corrig en D90A et EA30 DE80 DE87 il y a un LDY 0269 de trop il s agit d une bogue mineure due la fatigue du programmeur non corrig E1F8 E20A routine XLOADA bogue vit e de justesse pour l option V car Z par chance il aurait t mieux en E1F8 de brancher en E20A non corrig E38E E39B commande DIR bogue b nigne il aurait fallu un BNE E39B non corrig E68C E6BB commande STATUS incompatibilit entre les options T et AUTO absence de v rifi
48. 07 40 GROSFICHFDSC C3F0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 Un Secteur de Catalogue est structur ainsi C300 octets n 00 01 coordonn es piste secteur du catalogue suivant ici un seul secteur de catalogue est en service il n y a donc pas de suivant C302 octets n 02 n de l octet de la premi re entr e libre 00 si plein C303 octets n 03 0F contient toujours 00 inutilis s C310 octets n 10 FF 15 entr es de catalogue une ligne de 16 octets par entr e Chaque entr e de catalogue est structur e ainsi Octets n 00 08 nom compl t droite par des espaces 20 496 extension idem piste du descripteur secteur du descripteur nombre de secteurs du fichier y compris le s descripteurs attribut de protection b6 1 PROT si b7 1 UNPROT si b7 0 40 0100 0000 pour UNPROT et C0 1100 0000 pour PROT bO b5 HH du nombre de secteurs rarement utilis s sauf pour les tr s gros fichiers merg s comme ci dessus F DOC octets n 09 octet n OC octet n OD octet n OE octet n OF Exemples de descripteurs Voici par exemple le d but du descripteur d un des fichiers syst me celui de la BANQUE n 7 00 00 40 00 04 07 00 00 04 00 05 05 05 00 05 OE 00 00 00 00 00 00 00 00 00 00 00 00 etc Le premier secteur de descripteur charg d
49. 1 mauvaise CRC lue dans l ent te du secteur b2 Track 0 1 la t te est positionn e sur la piste z ro bi Index 1 Index Mark d tect 50 Busy 1 commande en cours 0 pas de commande en cours Status pour commande de type Il et III b7 Not Ready 1 pas pr t O pr t b6 Protected 1 18 disquette est prot g e contre l criture b5 Record 1 F8 d tect deleted data addr mark 0 FB d tect data addr mark Write Fault 1 erreur d criture b4 Not Found 1 piste secteur ou face pas trouv e b3 CRC Error 1 mauvaise CRC lue dans l ent te du secteur ou dans les data 552 b2 Lost Data 1 l ordinateur n a pas r agi assez vite au DRQ bl Data Request 1 satur en lecture ou vide en criture refl te la ligne bO Busy 1 commande en cours 0 pas de commande en cours A3 Floppy Disk Controller 1793 brief reference from Western Digital data sheet General description The FD179X X 1 2 3 4 5 7 can be considered th nd result of both the FD177X and 178X designs In order to maintain compatibility the FD177X FD178X and FD179X were made as close as possible with the instruction set and I O registers being identical The 1793 is identical to the 1791 except the Data Access Lines are TRUE for systems that utilize true data buses The 1792 and 1794 are single density only versions of the 1791 and 1793 respectively The 1795 7 has a side select output for
50. 11111000 rappel il faut lire chaque octet de droite gauche ce qui donne 00000011 11111111 qui devient 00000000 00011111 les bits correspondant au descripteur et aux 4 secteurs de la BANQUE n 7 sont maintenant positionn s occup s Le premier secteur de Bitmap secteur 2 de la piste 20 est structur ainsi contient toujours contient toujours 00 nombre de secteurs libres ici 025F 607 nombre de fichiers ici 0000 aucun nombre de pistes face ici 2A 42 nombre de secteurs piste ici 11 17 nombre de secteurs de directory ici 801 1 copie de l octet n 06 dont le b7 est ajust O si simple face ou 1 si double face Ici c est une disquette simple face On aurait eu pour une disquette double face avec 17 secteurs par face 00 si Master 01 si Slave ou 47 si Games Ici nous sommes donc en pr sence d une disquette Master contient toujours 00 non utilis s Bitmap chaque bit repr sente un secteur Ce secteur est libre si le bit correspondant est 1 ou occup s il est 0 Les bits de chaque octet sont lus de droite gauche sens bO lt b7 mais les octets sont lus de gauche droite sens octet n 10 lt n FF octets 0 octets 0 octets n 3 octets n 04 05 octets n 06 octets n 07 octets 208 octets n 09 octets n 0A octets n OB OF octets n 10 FF C200 C210 C220 230 240 250 260 270 280 290 C2A0 2 0
51. 128 Affiche le 1 me message situ en CDBF et termin par un caract re 128 XminMAJ convertit si n cessaire en MAJUSCULE le caract re dans A Entr e r elle affichage X 1 me message de zone A Y termin par un caract re 128 Convertit n lecteur en lettre et l affiche XAFHEX affiche en hexad cimal le contenu de A XAFCAR affiche le caract re ASCII contenu dans A XAFSTR affiche une chaine termin e par 0 et dont l adresse est donn e par AY Affiche DISC IN DRIVE lettre du lecteur actif AND PRESS RETURN puis demande un ESC C 1 ou un RETURN C 0 Affiche l erreur r initialise la pile et retourne au Ready XCURON rend le curseur visible vid o inverse XCUROFF cache le curseur vid o normale Affiche en d cimal sur 2 digits un nombre A de 00 63 0 99 Affiche en d cimal sur 5 digits un nombre AY de 0000 0 65535 Affiche en d cimal sur 4 digits un nombre AY de 0000 270 0 9999 Affichage en d cimal sur X 2 digits d un nombre AY entr e g n rale Affiche le nom de fichier pr sent POSNMX dans BUF3 Affiche nom de fichier et taille du fichier POSNMX XSETOFF Teste si le param tre TXTPTR est SET ou OFF retourne avec C si SET ou C 0 si OFF sinon g n re une SYNTAX ERROR XCHAR s lectionne le jeu de caract res correct normal ou selon MODCLA XAFXGAU affiche X fois fl che gauche
52. 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 Et enfin 254 FE DEL 255 FF G n ration des num ros de lignes 583 ANNEXE n 0 Futures Extensions Place disponible pour de nouvelles impl mentations Entre parenth se est indiqu le nombre de NOPs occupant l espace disponible Dans le NOYAU DA4F 1 DA8D 1 406 2408 3 265 708 38 EA06 EA2F 42 F608 F609 2 F638 F63F 8 Dans la BANQUES C4AD C4D4 40 C793 C79F 13 et C7BA C7FF 70 Dans la BANQUEO C64F 1 et C65D C65F 3 Dans la BANQUE 7 5 6 1 Il existe encore quelques zones potentiellement libres sous r serve de v rifier qu elles ne servent effectivement rien Dans la BANQUEO C599 C5FF 105 octets Dans la BANQUE2 C7F6 C7FF 10 octets Dans la BANQUEA C7F8 C7FF 8 octets ET SI CELA NE SUFFIT PAS Vous pouvez sans probl me d placer dans une nouvelle BANQUE les deux commandes STRUN et TKEN bloc de E853 E8D5 soit 131 octets Pour ces deux commandes le mode direct n est pas autoris ce qui veut dire qu elles ne sont utilisables qu en mode programme Il faut laisser en place la derni re routine XMAJSTR copie l adresse et la longueur d une cha ne alphanum rique les 3 octets DO D1 et D2 en B6 B7 et B8 situ e de E8D6 ESEO qui est utilis e par d autres commandes UNTKEN et USING Le d placement de
53. 27 00 Missing TO 61 6D 65 64 20 66 69 6C 65 20 6E 6F 74 20 6F 6E 20 73 1 64 69 73 6B 00 Renamed file not on same disk 73 69 6E 67 20 63 6F 6D 6D 61 00 Missing comma 72 63 65 20 61 6E 64 20 64 65 73 74 69 6E 61 74 69 6F 6E 65 20 73 61 6D 65 00 69 76 65 73 20 6D 75 73 74 20 62 Source and destination drives must be same 6E 20 61 74 69 6F 6E 74 69 6E 00 Destination not specified 14 20 6D 65 72 67 65 20 1 6E 6F 65 00 Cannot merge and overwrite 67 6 65 20 64 65 73 74 69 6E 6F 74 20 61 6C 6C 6F 77 65 64 00 Single destination file not allowed 74 61 78 20 65 72 72 6F 72 00 Syntax error 6F 74 20 73 70 65 63 69 66 6E 64 20 6F 76 65 72 77 61 74 69 6F 6E 20 66 69 6C the first line CA 6 F3 11 1 4A 64 7F 6 6 E6 E7 E7 E7 E7 E7 ET 532 instruction has been added is below but not used this E6 clearly the error routine low bytes in B6 39 4B 63 77 8F A5 E6 E6 E6 E6 E6 E6 the messages above OC 1D 2E E6 E6 E6 INX STX 504 JMP C149 DEX E5FC 4E 6F 20 600 42 61 4 610 49 6E 76 628 44 69 73 639 49 6C 6C E64B 57 69 6C E663 46 69 6C E677 49 6E 73 E68F 53 74 61 E6A5 49 6C 6C 626 45 6E 64 BOCA 53 74 1 E6E6 4D 69 3 603 52 65 6E E711 4D 69 73 718
54. 28 29 29 80 80 81 81 81 82 82 83 OD 04 00 03 OB 02 01 09 08 10 07 OF 06 83 26 27 27 28 28 29 29 80 80 80 81 81 82 82 83 QQ QQ 63 E EE 03 6 Er PET n nt k k k k k RPP n CO 100 0110 O 3 6 CY 0 20 52 E CO CIL nt k k k k k k k j CO Deuxi me descripteur situ dans le secteur 0E de la piste 03 de la deuxi me face les premiers octets indiquent que le descripteur suivant se trouve au sixi me secteur de la piste 0 de la deuxi me face 0 1 2 3 4 5 6 7 8 9 A B C D E C100 8B 06 83 OF 83 10 83 11 84 01 84 02 84 03 84 04 C110 84 05 84 06 84 07 84 08 84 09 84 84 84 OC C120 84 OD 84 OF 84 OF 84 10 84 11 85 01 85 02 85 03 130 85 04 85 05 85 06 85 07 85 08 8577 09 85 OA 85 05252550466 140 85 OC UB 85 0 95 OF 85 IO 85 11 86 01 86 02 EEN 150 86 03 86 04 86 05 86 06 86 07 86 08 86 09 86 160 86 UB 86 86 0D 96 0E 86 OF S l0 86 LTL 97 Ol ses eee sure CHOS 8028703
55. 8 BNE 1 buffer clavier 35 84 9 gt 2 LDA RET LL de l adresse de retour pour d tournement du 10 STA 1B vecteur affichage du Ready vers RET 11 LDA RET idem avec HH 12 STA 1C 13 LDX 34 pour ajuster TXTPTR juste avant le d but de commande CMD 14 LDY 00 au d but du tampon clavier 15 JMP C4BD continue l Interpr teur C4CD si ROM V1 0 16 RET LDA B0 17 STA 1B 18 LDA CC CCBO CBED si ROM V1 0 affichage du Ready 19 STA 1C 20 JSR FAB5 FA9B si ROM V1 0 21 RTS 22 lt RETURN gt A lt gt pour assembler Had s affiche fin des labels 29B8 ORG 9801 d but du sous programme CMD 9801 adresse de la commande DEB 980C adresse d ex cution du sous programme RET 9827 adresse de retour apr s passage sous SEDORIC FIN 9833 fin du sous programme B lt RETURN gt pour retourner au BASIC SAVE SP A 9801 E 9833 RETURN pour sauver le sous programme 980 lt gt Affiche le catalogue des fichiers BAS suivi d un SHOOT et retour au Ready Pour lire ou crire un secteur Voici un autre exemple fourni par Denis Henninot qui permet d utiliser une routine SEDORIC avec param tres partir d un programme en langage machine 567 passage sur la RAM overlay n du drive utiliser de 0 3 l on place dans DRIVE n de la piste ou crire que l on place dans PISTE n du secteur lire ou crire que l
56. C003 SCH C004 00 C001 C00A 01 C002 E024 k k k k k k k k k k k k k k k k k k k k k k k k k k k k k k k k k k k k k k k k k k k k k k xk xk x lt C000 C013 X 533 e reads a sector 20 0A E2 AC 1A 8 E825 E828 JMP 5 kk k k k k k k k k k k k k x x x reads boot sector E82B A9 23 LDA ES2D 8D 03 CO STA 5 830 A9 CO LDA 832 8D 04 CO STA 5 E835 9 00 LDA 4 E837 8D 01 CO STA 5 E83A 8D OA CO STA 5 E83D 9 1 LDA 4 E83F 8D 02 CO STA 5 E842 20 24 EO JSR 5 E845 60 RTS KERE KEKR ARRENA checks drive number T E846 AE 00 LDX E849 BD 13 CO LDA E84C 01 BEQ E84E 60 RTS 503 bad drive number E01B LDX EO E84F A2 03 1B 4 1 E85 e Ck Ck Ck k k k k k k k k k k k k k k k k k k k k k k k k k k k k k k k k k k k k k k k k k k k k k k k k k k k k k k k k k k k k k k k k k k k k x x x prints string pointed by 0C 500 900 58 0 E057 SE856 LDY LDA BEQ JSR INY BPL RTS x kk k k k k k k k k k k k k k k k k k k k k k k k k k k k k k k k k k k k
57. C2C0 200 2 0 C2F0 C200 C201 C202 C204 C206 C207 C208 C209 C20A C20B C210 Par exemple on voit ici que la plupart des secteurs sont libres octets c est dire 1111 1111 Le d but de la disquette est occup par SEDORIC Ceci est visible par les 12 z ros situ s de l octet n 10 l octet n B puis par l octet n 1C qui vaut F8 soit 1111 1000 SEDORIC occupe donc les 99 premiers secteurs 12 x 8 96 plus 3 Les secteurs suivants sont libres jusqu la piste 20 suite de 13 fois On a alors les octets n 3A et 3C qui indiquent DB et F6 s agit du codage des 17 secteurs de la piste n 20 Les 4 premiers secteurs sont r pertori s par l octet n 3A o l on a 0 0000 1111 Ceci illustre la complexit du codage il faut lire de droite gauche de bO b7 On trouve d abord 4 bits 1 qui concernent la fin de la piste n 19 Puis 4 bits 0 qui indiquent que les secteurs n 1 4 de la piste n 20 sont occup s secteur TABDRV 2 secteurs de bitmap et premier secteur de directory L octet suivant n 3B vaut DB soit 1101 1011 ce qui se lit de droite gauche de la mani re suivante les secteurs n 5 et 6 sont libres les bits bO et b1 sont 1 le secteur n 7 est occup bit 02 0 c est le deuxi me secteur de directory les secteurs n 8 et 9 sont libres bit b3 et b4 1 le secteur n 10 est occup
58. DPH T D p D H 5 D D lt lt D E Q E Q Et n P D OO EH 0 3 x lt lt O O gt lt lt lt O gt gt lt DA ISR DA SR DA SR DA SR DA SR DA P c loads a file C1 CO EO EO EO CO CO E CO ent 2B 00 2A E DO EN Ou BO gt NNS oO O UJ o O E PO aS gt iN 0 DC AD 8D 20 20 B DO A2 4C BD 8D N UJ gt p o N 00 5o Hi D O z o J co L Lo 000 99 DN OD D o Oo EACE 4 1 EADA EAD7 E4DA EADC EADE 4 0 4 4 6 4 9 EAEF 1 EAF3 EAF5 EAF6 7 EAFA EAFC EAFF E502 E505 E508 E509 E50C ESOF E512 E51 E51 E5 E5 E5 E522 E525 E528 E52B UJ O1 E530 E532 E5395 E538 E53 E54 E54 E54 E54 E54 E54F E551 E554 E557 E55A E55D E560 C0 H Ed
59. E3D2 E3D3 E3DA E3D5 E3D8 E3DA E3DD E3DE E 3E O EVA NEN UU DIS LI E DEIS DE LD DIS D DADAS S OO DES D DANIS DAS LYN N DE N CIS IN EE 527 interrupts disables timerl 48 DHA 354 A9 40 0 356 8D OE 03 STA 8 E3E9 68 PLA E3EA 60 RTS enables timerl interrupts 48 PHA E3EC A9 CO 0 8D OE 03 STA 030E E3F1 68 PLA E3F2 60 RTS PRR RR RC OK BR KEK BAKSOS 5 EUX E3F3 04 24 44 64 drive numbers e Ck Ck Ck CC k k k k k k k k k k k k k k k k k k k k k k k k k k k k k k k k k k k k k k k k k k k k k k k k k k k k k k k k k k k k k k k k k k x LA interpreter routine to load program not used 1 E3F7 20 06 0 JSR 5 006 E3FA 20 4B 0 JSR SEOAB E3FD 20 45 EB JSR SEB45 E400 20 00 EO JSR 5 000 E403 88 DEY E404 C8 INY E405 20 60 EO 085 0 reads a non blank char E408 20 00 00 JSR 0000 incomplete 408 FO 55 BEQ SE462 end of command 400 C9 2C CMP 6 E dde 551m E40F DO 15
60. H rmt rr k H H H H H nmt CO 110 120 Cinqui me descripteur fichier E avec les coordonn es du troisi me descripteur E h B A2 A3 A3 A4 A4 A5 A5 A5 A6 A6 A7 A7 A8 A8 A9 9 D 0B 02 0A 01 09 08 10 07 OF 06 OE 05 OD 04 OC A B C A2 A2 A3 01 A3 A3 09 A3 A3 11 A4 A4 08 4 4 10 4 A5 07 A5 A5 OF A5 A6 06 A6 A6 OE A6 A7 05 A7 7 OD A7 A8 04 8 8 0 8 9 03 9 9 9 9 09 11 08 10 07 OF 06 OE 05 OD 04 0 03 0B 02 0A 6 7 8 A2 08 A2 A2 10 A2 A3 07 A3 A3 OF A3 A4 06 4 4 OE 4 5 05 5 A5 OD A5 A6 04 A6 A6 0C A6 A7 03 A7 A7 OB A7 8 02 8 8 A9 01 A9 A9 09 A9 5 07 06 05 OD 04 0 03 0B 02 0A 01 09 LT 08 2 3 4 A2 06 A2 A2 A2 A3 05 A3 A3 OD A3 04 00 A4 A4 A4 A4 A5 03 A5 5 5 6 02 6 6 6 7 01 7 7 09 7 7 11 8 8 08 8 8 10 8 9 07 9 0 1 A9 OE A2 OD A3 04 A3 0C A4 03 A4 OB A5 02 A5 0A A6 01 A6 09 A6 1 A7 08 A7 10 A8 07 A8 OF A9 06 Sixi me et dernier descripteur fichier N c est le troisi me du fichier E
61. POSNMP et POSNMS contiennent la position du nom dans le catalogue BUF3 et Z 1 sile fichier n est pas trouv Ajuste POSNMX sur l entr e suivante du catalogue et reprend la recherche dans le catalogue du fichier indiqu dans BUFNOM Z 1 si fini 593 1 94 DA96 DA9E DAA4 DAB4 DAC3 DACE DADI DAD4 DAD6 DAES 0807 DB17 DB2D DB30 0841 XTRVCA cherche une place libre dans le catalogue A la sortie POSNMX POSNMP et POSNMS indiquent la position de la place r serv e Cherche le POSNMX de la premi re place libre dans le directory XWDESC crit le ou les descripteurs du fichier sauver Revient avec le nombre de secteurs sauver dans NSSAV C05A 5B les coordonn es du premier secteur descripteur dans PSDESC C05C 5D le nombre de descripteurs utilis s dans NSDESC COSE et premier descripteur en place XLIBSE cherche un secteur libre dans la bitmap dans BUF2 retourne avec A de piste et Y 2 n de secteur sinon DISK FULL ERROR Ancienne routine Cherche un secteur libre d port e en E67F pour tenir compte de la double bitmap XSMAP sauve la bitmap sur la disquette Ecrit BUF2 dans le premier secteur de bitmap sur la disquette Ecrit BUF2 dans le second secteur de bitmap sur la disquette entr e secondaire avec Y 03 pr positionner XDETSE lib re le secteur Y de la piste A sur la bitmap courante dans BUF
62. SEDORIC bascule ce bit z ro pour indiquer que le secteur est occup Dans notre exemple le descripteur a t crit au quatri me secteur de la piste num ro 6 puis les 15 secteurs de data ont t crits la suite jusqu au troisi me secteur de la septi me piste La piste num ro 6 septi me piste est repr sent e par les octets 1C et 1D qui indiquaient F8 et FF et qui indiquent maintenant 00 et 00 soit 1111 1000 1111 1111 avant et 0000 0000 0000 0000 apr s Attention les 3 Z ros soulign s indiquent que les 3 premiers secteurs de la piste num ro 6 taient occup s et que le reste de cette piste tait libre Apr s criture du fichier tout la piste num ro 6 est occup e Mais le fichier va plus loin puisqu il se termine sur la piste num ro 7 Sa fin est donc cod e dans les octets num ros 1E et SIE Avant criture ces octets valaient FF et FF et apr s F8 et FF soit 1111 1111 1111 1111 avant et 1111 1000 1111 1111 apr s La piste 7 tait compl tement libre Maintenant les 3 z ros soulign s indique que les 3 premiers secteurs de la piste num ro 7 sont occup s le reste de cette piste restant toujours libre Ce premier secteur de bitmap permet de coder 1919 secteurs Lorsque ce chiffre est d pass 1l peut encore coder 1919 secteurs sur le deuxi me secteur de bitmap troisi me secteur de la piste 14 Ce deuxi me 506 secteur de bitmap est cod exactement comme le premier mais il n
63. l tat de PB5 Pour ceux qui voudraient enfin utiliser 5 1 devient donc n cessaire de disposer d une recette universelle pour corriger les programmes existants y compris SEDORIC Rappelons que le Port A est utilis pour l imprimante le son et le clavier Le Port B est impliqu dans d autres t ches PBO PB3 pour le clavier 4 pour 16 STROBE de l imprimante PB6 pour le Remote control du lecteur de K7 et enfin PB7 pour l entr e sortie des data K7 PB5 est rest inutilis Deux registres sont utilis s pour chaque port un registre de direction des changes entr e ou sortie et un registre de data l o il faut lire ou crire sur le port Pour le Port B ces registres sont respectivement accessibles aux adresses 0302 et 300 En fait chacune des 8 lignes d un port correspond un bit dans ces registres Par exemple pour mettre PBS en sortie il faut poker 20 0010 0000 en 0302 Et pour tirer 5 au 5V haut logique il faut poker 20 en 0300 En pratique ce n est pas si simple car il ne faut toucher qu au bit n 5 la num rotation commence au bit n 0 Dans l exemple ci dessus nous avons non seulement mis PB5 en sortie mais aussi forc les autres lignes en entr e Le protocole utiliser pour programmer correctement est indiqu plus loin Principe de la correction Lacommande fautive tant toujours un STA 0302 qui occupe 3 octets il suffira 1 Dela remplacer dans le code corriger par un JSR XXXX q
64. largement enrichie puisqu elle compte quelques 52 fichiers Parmi ceux ci SEDORIC3 FIX vous servira de mode d emploi notamment pour les nouvelles commandes CHKSUM et VISUHIRES Au chapitre des d bogages le plus important concerne probablement la routine Prendre un caract re au clavier qui avait r sist Fabrice Broche Vous pourrez utiliser pour de bon les touches de fonction qui acceptent enfin les commandes SEDORIC y compris celles qui n ont pas de n de code et permettent d acc der facilement aux caract res et voir manuel SEDORIC pages 53 54 55 102 et 103 La commande KEYSAVE a t modifi e pour faciliter l dition ardue des commandes pr d finies qui sont maintenant sauv es dans les fichiers KEY Des tableaux photocopier et placer dans votre Manuel ou pr s de votre ORIC seront propos s plus loin pour indiquer les combinaisons de touches retenues pour la V3 0 libre vous de constituer vos propres claviers Les autres nouveaux d bogages concernent les commandes CSAVE EXT et LINPUT Ce sont tous des d fauts de jeunesse qui ont perdur depuis 1986 CSAVE ne fonctionnait plus d s que le syst me tournait sous SEDORIC alors qu avec un lecteur de cassette seul il n y avait pas de probl me La commande EXT n effectuait pas de contr le de validit sur 16 troisi me caract re de la chaine propos e en argument Une exp rience douloureuse pour les tourdis qui y pla aient un Quant LINPUT
65. le fait d ORIC PRODUCTS INTERNATIONAL A l occasion du Salon Informatique de Francfort le ler f vrier 85 le STRATOS est officiellement pr sent H37 D s le lendemain le 2 f vrier ORIC PRODUCTS INTERNATIONAL est mis en liquidation Le STRATOS ne sera jamais commercialis Par contre RANDOS le nouveau DOS a chapp de peu l oubli total Ce dos semble pr senter des qualit s exceptionnelles et il aurait probablement connu un grand succ s s il n tait arriv au mauvais moment Notez qu il fut propos au prix de 80F sur pr sentation de la facture du MICRODISC Micr Oric 8 page 44 L examen d une disquette master RANDOS est particuli rement instructive on y trouve dans le premier secteur les mentions RADOS et Oric DOS V1 1 dans le secteur 7 de la piste 0 Copyright c 1984 and property of le reste t surcharg et dans le secteur 6 de la piste 2 RANDOS 1 0 1 c ORIC 1983 Tout cela fait assez d sordre On pourrait m me penser que le RANDOS RADOS a t d velopp en premier 1983 puis simplifi dans l urgence en DOS V1 1 1984 et enfin achev et sorti en RANDOS 1985 Revenons Micr Oric 7 page 36 o se trouve un court article intitul RANDOS D ORIC qui commence ainsi Dans les premiers mois de 1985 ORIC proposera son nouveau DOS appel RANDOS et dont voici quelques caract ristiques d apr s une documentation crite Pour r sumer l essentiel ce DOS g re des sous r pertoir
66. s criture d un fichier DUMP apr s suppression du fichier Drive A V3 Mst XX XX XX Drive A V3 Mst XX XX XX FICHIERO1 COM 16 2437 sectors free D 80 16 1 Files 2453 sectors free D 80 16 0 Files Piste 20 Secteur 2 apr s criture Piste 20 Secteur 2 apr s suppression 00 FF008509 01005010 01000000 00000000 00 FF009509 00005010 01200000 0 10 00000000 00000000 00000000 0000F8FF 10 00000000 00000000 00000000 F8FFFFFF 20 FFFFFFFF FFFFFFFF FFFFFFFF FFFFFFFE 20 FFFFFFFF FFFFFFFF FFFFFFFF 30 FFFFFFFF FFFFFFFF BO6DFFFF FFFFetc 30 FFFFFFFF FFFFFFFF BO6DFFFF FFFFetc Piste 20 Secteur 3 apr s criture Piste 20 Secteur 3 apr s suppression 00 FF00000A 00005010 01200000 0 00 FF00000A 00005010 01D00000 00000000 10 FFFFFFFF FFFFFFFF FFFFFFFF FFFFetc 10 FFFFFFFF FFFFFFFF FFFFetc Piste 20 Secteur 4 apr s criture Piste 20 Secteur 4 apr s suppression 00 00002000 00000000 00000000 00000000 00 00001000 00000000 00000000 00000000 10 46494348 49455230 31434F4D 06041040 10 00000000 00000000 00000000 00000000 FICH IERO 1COM 20 00000000 00000000 00000000 0000etc 20 00000000 00000000 00000000 0000etc En gras dans les DUMPs ci dessus sont indiqu es les diff rences entre la disquette apr s criture du fichier et la disquette apr s suppression du fichier Il s agit dans l ordre du nombre de secteurs libres du nombre de fichiers de la bitmap proprement dite de l offset de la premi re entr e libre et d
67. son utilisation tait limit e une seule ligne Le r sultat tait impr visible d s que la fen tre de saisie d passait 38 caract res 465 Finalement l utilisation des caract res minuscules pour taper les commandes SEDORIC tait tellement bogu e que personne ne s y risquait du moins volontairement Elle est interdite avec la V3 0 en fait elle marche toujours mais un peu plus mal encore puisque la liste des nombreuses exceptions il faut maintenant ajouter delete et using Les commandes pr c demment d bogu es par Ray McLaughlin dans ses versions 2 0 et 2 1 ont t fid lement report es dans la V3 0 cesont gt BACKUP DKEY DNAME DNUM DSYS INIST INIT et TRACK Certaines corrections mineures ont t ajout es dans la V3 0 pour BACKUP et INIT notamment afin de transmettre la nouvelle BANQUE n 7 et aussi d utiliser au maximum la double bitmap de Ray soit 3838 secteurs par disquette 982528 octets Evidemment on ne peut formater plus de 83 pistes de 19 secteurs avec un lecteur 3 1 2 mais EUPHORIC qui travaille dans le virtuel accepte sans broncher 101 pistes ce qui permet tout juste d atteindre les 3838 secteurs Il y a 43 secteurs diff rents entre la version 3 006 du 01 01 96 et la version 1 006 du 01 01 86 prise comme r f rence Ceci correspond 2362 octets diff rents dont 1096 dans les secteurs existants 1012 dans les 5 nouveaux secteurs de la BANQUE n 7 et 254 dans la piste 20 C
68. successeur officiel du DOS V1 1 a t lanc au moment op Micro Programmes 5 sortait le XT DOS alias XL DOS de Fabrice Broche et Denis Sebbag voir plus loin Toutefois on a du mal comprendre pourquoi EUREKA le repreneur d ORIC a t oblig de d velopper un nouveau DOS SEDORIC du m me tandem Broche Sebbag et surtout pourquoi SEDORIC n a pas int gr les commandes les plus originales du RANDOS En fait beaucoup de questions se posent a propos du RANDOS auteurs parent avec ORIC DOS V1 1 fiabilit etc et nous nous proposons d essayer d y r pondre dans un proche avenir Toute information pouvant nous tre utile sera la bienvenue disquette et mode d emploi d origine par exemple Lors du boot RANDOS affiche toujours V1 0 mais l existence de diff rentes versions ne peut tre exclue A 3 MICRO PROGRAMMES 5 XT DOS ET XL DOS Premi re allusion un nouveau DOS pour MICRODISC dans Th oric 4 d cembre 84 page 7 commercialis par Micro Programmes 5 Il comporte un BASIC tendu les disquettes sont format es raison de 210 Ko face Le d bit est de 10 5 Ko s Ce DOS n est pas nomm il s agit vraisemblablement du XT DOS qui est probablement la premi re version du fameux XL DOS Dans Micr Oric 7 f vrier 85 pages 34 et 35 se trouve un article sur le nouveau XT DOS qui commence ainsi Depuis fin 1984 on peut se procurer le XT DOS de F BROCHE et D SEBBAG publi par Micro Programmes 5 La disquette fourn
69. 00000000 00000000 00000000 00000000 Piste 20 Secteur 3 apr s 00 06002 14005010 02D00000 00000000 10 0000F8FF FFFFFFFF FFFFFFFF FFFFetc Piste 20 Secteur 4 apr s 00 14070000 00000000 00000000 00000000 10 46494348 49455230 31434F4D 06041040 A LG IE RO eves sise 0 46494348 49455231 4 35434 0 AN TH ZG OM 509 Directory avant Drive A V3 Mst XX XX XX FICHIERO1 COM 16 FICHIERO2 COM 16 FICHIERO3 COM 100 FICHIERO4 COM 100 FICHIERO5 COM 100 FICHIERO6 COM 100 FICHIERO7 COM 100 FICHIERO8 COM 100 FICHIERO9 COM 100 FICHIER10 COM 100 FICHIER11 COM 100 FICHIER12 COM 100 FICHIER13 COM 100 FICHIER14 COM 100 FICHIER15 COM 100 FICHIER16 COM 100 FICHIER17 COM 100 FICHIER18 COM 100 FICHIER19 COM 100 721 sectors free D 80 16 19 Files Piste 20 Secteur 2 avant 00 FF00D102 13005010 02D00000 0 00000000 0080FFFF FFFFFFFF FFFFFFFE avant FF00000A 00005010 01200000 0 FFFFFFFF FFFFFFFF FFFFetc avant 114070000 00000000 00000000 00000000 146494348 49455230 31434F4D 06041040 1 C OM 46494348 49455231 35434F4D 830C6440 5 COM IERO IERI Piste 20 Secteur 3 00 10 Piste 20 Secteur 4 00 10 FICH ze FO KS EG 00000000 00000000 00000000 49455231 36434F4D 89106440 EG Re 1 6 COM 49455231 4 39434 0 ER R GI 9 49
70. 07 BNE 3700 c est pas une Master 36F9 AE DA C2 LDX C2DA n de version 36FC 33 CPX 33 est ce 3 36FE FO 08 BEQ 3708 c est le cas sinon 3700 A2 0C LDX 0C restaure les 5 octets 476 3702 20 6C 3 JSR D36C d origine voir en 416D 3705 4C 72 F1 JMP F172 et demande Master 3708 AC SF Fl JMP 18 reprend sans demander Puis tapez SAVE P2 A 36E5 E 370A suivit de STATUS P2 A E6ES Le plus gros morceau est termin 3 Le troisi me et dernier l ment P3 est constitu de 5 octets de CF78 CF7C en RAM de 1778 1F7C pour la modification du fameux message INSERT MASTER et que vous changerez en INSERT Met V3 ce qui correspond aux 5 octets suivants 73 74 20 56 33 POKEr de 1F78 1F7C entrer l aide de votre moniteur Puis tapez SAVE P3 A 1F78 E 1F7C suivi de STATUS P3 A CF78 Enfin tapez COPYM P TO PATCH 001 pour rassembler les trois corrections dans le m me fichier V rifiez votre travail avec CHKSUM PATCH 001 qui doit vous donner les indications suivantes PATCH 001 F16D F171 40 0000 PATCH 001 E6E5 E70A 40 0000 1377 PATCH 001 CF78 CF7C 40 0000 0 Si les checksums obtenues sont diff rentes vous avez fait une erreur en POKEant Enfin lancez INIST et ajouter PATCH 001 aux commandes initiales Lorsque vous booterez avec cette disquette le NOY AU situ en RAM overlay de C400 FFFF sera automatiquement corrig SEDORIC V3 0 lui m me n est pas affect par cette proc dur
71. 086440 60 F ICH IERO 6 C 1 086440 70 F ICH IERO 7 C 210C6440 70 F ICH IERO 7 C 210C6440 80 F ICH IERO 8 27106440 80 F ICH IERO 8 COM 27106440 90 F ICH IERO 9 2E046440 90 F ICH 9 2E046440 AO F ICH IERI 34086440 0 IERI 0 OM 34086440 BO FICH IERI 1 M 3A0C6440 20 F ICH IERI 1 C M 3A0C6440 EICH IERI 5 830 6440 F ICH IERI 5 OM 830 6440 DO F ICH IERI 3 47046440 DO F ICH IERI 3 47046440 E0 00000000 00000000 00000000 00000000 EO FICH IERI 4COM 4D086440 F0 00000000 00000000 00000000 00000000 FO FICH 78 22 3C OM 40106440 Piste 20 Secteur 7 DEL multiple Piste 20 Secteur 7 DEL puis SAVE 00400008000 00000000 00000000 00000000 00400008000 00000000 00000000 00000000 10 FICH IERI 6 89106440 10 FICH IERI 6 89106440 20 F ICH IERI 7 O M 90046440 20 F ICH IERI 7COM 90046440 30 F ICH IERI 8 96086440 30 F ICH IERI 8 96086440 40 F ICH IERI 9 9C0C6440 40 F ICH IERI 9 9 0 6440 50 F ICH IER2 2106440 50 F ICH IER2 2 OM AF086440 60 FICH IER2 1 A9046440 60 FICH IER2 1 C A9046440 70 ICH 1 22 2 0 70 F I CH IE R2 4 0 80 00000000 00000000 00000000 2 80 00000000 00000000 00000000 2 Commentaires sur le DUMPS suppression multiple Le DIR et l examen du premier secteur de directory montrent que le douzi me fich
72. 12 HLP 6 COM 7 3 6 3 3 COM 41 21 HLP 6 RAM 10 HLP 6 CHS 4 HLP 6 HLP 6 COM 83 COM 2 V3 I S 3 3N D D D DDISKAC O U PHORIC Drive A DDRESS DDRESS DDISK NVERT Up RILYS SECTMAP MONAC1 NIBBLET NIBBLE3 ROMATMO SECTMAP SECTMAP SEDORIC SEDORIC STRAT3 V20 V30NEWS01 V30NEWS03 V30NEWS05 V30NEWSO7 V30NEWSO9 SUH BFIX RES V N BOOT BOOT CAT CDA CDS CHERAMY 2 CHERAMY 3 ISKCOMP2 ISKSPY DTR CMP 000 5 DTR DITECRAN DITECRAI DITECRAN DITECRAA EXPLOSED EXP LOSED D D E HARDCOPYH OY CO 41 ON CO PO CO ON CO CO OY OY PO CO CO PO PO WD rg rg HARDCOPYH HLP 6 HENNINOT COM HENNINOT HLP 6 IO COM IO HLP 6 HR IO HE FIC H IO 3 SCROLLBIN IO SCROLL IO 2 SEBIN IO SR 10 3 MENU IO SRBIN IO 2 VISUFIC 10 SE HERBIN 21509 5 TO 3 KLOADMOV3 HLP KLOADMOVE SM 10 KLOADMOV1 HLP KLOADMOV2 HLP 6 KLOADMOVE COM MENU 3 MONDO
73. 60 46494348 49455230 36434F4D 1B086440 IERO 6COM 70 46494348 49455230 37434F4D 210C6440 KGR IERO 7COM 80446494348 49455230 38434F4D 27106440 REG IERO 8 90446494348 49455230 39434F4D 2 046440 BU mE IERO 9COM 0 46494348 49455231 30434F4D 34086440 RI GR IERI 0 0 46494348 49455231 31434F4D 3A0C6440 FE ke H IERI 1COM 00 46494348 49455231 32434F4D 40106440 E RG H IERI 2 D0 46494348 49455231 33434F4D 47046440 BY T C H IERI 0 46494348 49455231 34434 4 40086440 b LH IERI 4 COM 0 00000000 00000000 00000000 00000000 Directory avant Drive A V3 Mst XX XX XX FICHIERO1 COM 16 FICHIERO2 COM 16 FICHIERO3 COM 100 FICHIERO4 COM 100 FICHIERO5 COM 100 FICHIERO6 COM 100 FICHIERO7 COM 100 FICHIERO8 COM 100 FICHIERO9 COM 100 FICHIER10 COM 100 FICHIER11 COM 100 FICHIER12 COM 100 FICHIER13 COM 100 1321 sectors free D 80 16 13 Files Piste 20 Secteur 2 avant 00 FF002905 02005010 01 00000 A0 00000000 00000000 000080FF FFFFFFFF BOt FFFFFFFF FFFFFFFF FFFFFFFF FFFFetc Piste 20 Secteur 3 avant 00 FF00000A 00005010 01200000 0 10 FFFFFFFF FFFFFFFF FFFFetc Piste 20 Secteur 4 avant 00 0000E000 00000000 00000000 00000000 10 46494348 49455230 31434F4D 06041040 IERO 1 C OM 20 46494348 49455230 32434F4D 07041040 E GHH IERO 2 30 46494348 49455230 33434F4D 08046440 FICH I E
74. 6F 74 20 66 6F 75 6E 64 00 File not found 76 61 6C 69 64 20 63 6F 6D 6D 61 6E 64 20 65 6E 64 00 N o GI E5E8 531 5 20 72 64 74 k k k k k k k k k k k k k k k k k k k k k k k k k k k k k k k k k k k k k k k k k k k k k k k k k k k k 00 00 72 65 64 63 69 20 64 65 64 6D 20 69 72 65 Invalid command end 64 72 69 76 65 20 6E 75 6D 62 65 72 00 No drive number 20 64 72 69 76 65 20 6E 75 6D 62 65 72 00 Bad drive number 61 6C 69 64 20 66 69 6C 65 6E 61 6D 65 00 Invalid filename 63 20 65 72 72 6F 72 00 Disc error 65 67 61 6C 20 61 74 74 72 69 62 75 00 Illegal attribute 64 63 61 72 64 28 73 29 20 6E 6F 74 20 61 6C 6C 6F 77 65 Wildcard s not allowed 65 20 61 6C 72 65 61 64 79 20 65 78 69 73 74 73 00 File already exists 75 66 66 69 63 69 65 6E 74 20 64 69 73 6B 20 73 70 61 63 Insufficient disk space 72 74 20 61 64 64 72 65 73 73 20 6D 69 73 73 69 6E 67 00 Start address missing 65 67 61 6C 20 71 75 61 6E 74 69 74 79 00 Illegal quantity 20 61 64 64 72 65 73 73 20 6D 69 73 73 69 6E 67 0 End address missing 72 74 20 61 64 64 72 65 73 73 20 3E 20 65 6E 64 20 61 64 73 73 00 Start address end address 73 69 6E 67 20 27 54
75. A Viaud paru dans TH ORIC n 15 page56 indique comment obtenir le listage de l EPROM du MICRODISC Un court programme y est donn Autre possibilit les possesseurs d un programmateur d EPROM peuvent retirer l EPROM de la carte contr leur du MICRODISC la lire et m me la recopier Les paresseux trouverons en ANNEXE le listing d sassembl provenant du site de Fabrice Franc s http www ensica fr oric HHARDW ARE Eprom st 2 Existe t il plusieurs versions de cette ROM du MICRODISC Les ROM des autres contr leurs supportant SEDORIC sont elles identiques ou simplement compatibles Quel impact cela a t il sur le fonctionnement de SEDORIC apr s le boot La version 1 1 est universellement r pandue cela semble dire qu il a exist une version 1 0 mais elle n a peut tre pas t diffus e En pratique la nature de la ROM importe peut tant qu elle est compatible La ROM du MICRODISC d ailleurs pas t cr e pour SEDORIC mais pour le DOS 1 1 C est SEDORIC qui a d s adapter et ce n est d ailleurs pas tr s heureux 3 Serait il possible d avoir dans la ROM du MICRODISC un syst me minimum permettant de formater des disquettes de lire et crire des fichiers afin de d velopper des jeux ou des applications pour lesquels SEDORIC n est pas forc ment indispensable Ceci permettrait de r cup rer la RAM overlay et la page 4 qui ne seraient plus utilis s par SEDORIC Ces nouvelles applications disposeraient alors de 560 la RA
76. A and flags 60 address replaced for indirect jumps 04 enables disables rom 04D6 04DE calls a routine in rom or eprom destination bank specified in 0481 0482 0483 0480 0481 4 0483 0482 0484 0482 0483 04 6 0483 0482 547 5 5 5 5 5 5 5 DA 5 DA 5 5 5 5 2 gt 2 Get ne 5 Ss H T u CO gt gt STA PLA JSR LDA PHA LDA PLP T B 0 6 04 6 04 04 82 04 83 04 80 04 81 04 83 04 82 04 84 04 82 04 83 04 83 04 82 04 E6 04 Cd E6 04 dd p N 00 BO NO p p BO DAD 09 eh OO 1 O coUo o t0 UO Uo o o 0480 0482 0484 0487 048A 048D 0490 0491 0492 0495 0496 0499 049C 049D 04 0 4 04A6 04 7 04AA 04AB 0421 04AF 04 0 04 3 04 4 04 7 04 8 0481 04BE 4 04 2 500 50481 566 0485 504 50486 50490 0102 X 0228 changed to 0244 for 8 1 0102 X 022B changed to 0247 for a v1 1 enables disables rom 502 50481 0480 SFD 50481 50314 0480 tg O x tg O x TJ 7 5 A A
77. CE CF adresse du premier octet du bas en C9 CA adresse dernier octet du haut en C7 C8 et AY adresse cible vers haut OUT OF MEMORY ERROR si adresse cible gt adresse du bas des chaines A2 A3 revient avec nouveau d but 100 en C7 C8 et nouvelle fin en 0 1 haut des tableaux JSR D5AB ROM r serve une place en m moire pour une chaine de longueur Sauvegarde la longueur en DO et l adresse en D1 D2 XVBUFI remplit BUFI de z ros XVBUF2 rempli BUF2 de z ros XVBUF3 rempli BUF3 de z ros Rempli de z ros une page m moire partir de HH A et LL 00 XDLOAD charge X secteurs pris partir du secteur Y de la piste indiqu e en C001 PISTE et les copie en RAM partir de la page A COOMMANDES et ROUTINES BASIC JSR C563 ROM restaure les liens des lignes partir du d but JSR C563 ROM restaure les liens des lignes partir de l adresse AY JSR C5FA ROM encode les mots cl s JSR C6B3 ROM recherche une ligne BASIC selon le n en 33 34 partir du d but Si trouve retourne avec C 1 et adresse en CE CF visant le premier octet de lien JSR C6C3 ROM recherche une ligne BASIC partir de la ligne courante Si trouve retourne avec C 1 et adresse en CE CF visant le premier octet de lien 604 D2D2 D2DA D2E2 D2EA D2F2 DISC D264 DACE DADI DAD4 DAD6 1 5 0188 D18C D194 D19C D1A4 JSR C73A ROM place TXTPTR au d but du programme BASIC JSR C76C ROM ex cute la comman
78. DIB4 DICC DIEB DIFE D244 D264 D2E2 D312 0508 E8D6 EE8E D0A5 0121 D30A D7C9 E60D CFCD SECTEUR et RWBUF doivent tre jour Lit le num ro de piste sous la t te V rifie si drive demand est on line et le valide actif si non g n re une erreur V rifie si le drive Y est on line si oui le valide actif si non g n re une erreur XPBUFI charge dans BUFI le secteur Y de la piste A XPBUF2 charge dans BUF2 le secteur Y de la piste A XPBUF3 charge dans BUF3 le secteur Y de la piste A Charge la page X le secteur Y de la piste A XSBUFI sauve BUET au secteur Y de la piste A XSBUF3 sauve BUF3 au secteur Y de la piste A Sauve la page X dans le secteur Y de la piste A XSMAP sauve la bitmap sur la disquette XCREAY cr e une table piste secteur de AY secteurs en fait marque dans la bitmap en BUF2 que le secteur AY est occup En sortie C 1 si ce secteur tait d j occup sinon avec 0 Valide le drive s il est indiqu TXTPTR sinon valide DRVDEF XDLOAD charge X secteurs pris partir du secteur Y de la piste indiqu e en C001 PISTE et les copie en RAM partir de la page A CATALOGUE BUFNOM amp POSNMX Copie NOM et EXT de la table CCF7 dans BUFNOM XNF lit un nom de fichier non ambigu TXTPTR et l crit dans BUFNOM XNFA lit un nom de fichier ambigu TXTPTR et l crit dans BUFNOM XNOWILD recherche dans BUFNOM revient avec C si p
79. EE SA GR UR UR RE ASI SGT AS E92E 20 21 EO 98 1 E931 A2 3 3 E933 BD 23 CO LDA C023 X E936 FO 07 BEQ SE93F E938 8 TXA E939 18 CLC E93A 69 10 510 E93C AA TAX E93D DO F4 BNE 5 933 E93F 8A TXA E940 8D 3F C1 STA SC13F E943 AD 01 CO LDA C001 E946 8D 1 STA 8 E949 AD 02 CO LDA C002 E94C 8D 3D C1 STA SC13D E94F 60 RTS E950 20 24 EO JSR E024 E953 AE 1 LDX C13F E956 DO 28 BNE 5 980 E958 20 24 EO JSR E024 E95B A2 03 LDX 503 E95D A9 26 LDA 4526 E95F 85 OC STA SOC E961 A9 CO LDA SCO E963 85 OD STA 500 E965 A0 00 LDY 500 E967 Bl OC LDA 0C Y E969 15 20 0 E96B AO 08 8 E96D B9 2C C1 LDA C12C Y E970 C9 CMP 3F E972 FO 04 BEQ SE978 E974 1 OC CMP 0C Y E976 0 08 BNE 6 980 E978 88 DE E979 10 F2 BPL SE96D E97B 8A TXA E97C 80 1 STA SC13F E97F 60 RTS e Ck Ck Ck C k k k k k k k k k k k k k k k k k k k k k k k k k k k k k k k k k k k k k k k k k k k k k k k k k k k k k k k k k k k k k k k k x need to read next directory sector 536 gets it yes 510 E994 0C 510 50 55 SOD SE965 5 024 55 C002 C023 5 001 directory entry TXA CLC DC CS AX DA DC TA CC INC MP DA EQ TA DA STA UJ lt lt E HU 3 YG points to next 02 CO 2920 01 CO 8A 18
80. FO 0 O Hj H non non O H H H H H H H H H H H H H 000 00 00008000 00000000 00000000 0 8 0 90046440 96086440 9C0C6440 A2106440 A9046440 AF086440 0000etc 0 lt lt lt 0 0 0 0 0 0 0000 6 6 C 0 0 0 0 0 1 1 1 1 2 2 2 0 0 J D D D NN v O pj pi Ed Dd Dd PJ E S H H H H H H H 10 20 30 40 50 60 70 80 0 O Hj Hj Hj Hj Hj Hj DUMP3 Etat initial 22 fichiers Drive A V3 Mst XX XX XX FICHIERO1 COM 16 FICHIER02 COM 16 FICHIERO3 COM 100 FICHIERO4 COM 100 FICHIERO5 COM 100 FICHIERO6 COM 100 FICHIERO7 COM 100 FICHIERO8 COM 100 FICHIERO9 COM 100 FICHIER10 COM 100 FICHIER11 COM 100 FICHIER12 COM 100 FICHIER13 COM 100 FICHIER14 COM 100 FICHIER15 COM 100 FICHIER16 COM 100 FICHIER17 COM 100 FICHIER18 COM 100 FICHIER19 COM 100 FICHIER20 COM 100 FICHIER21 COM 100 FICHIER22 COM 100 421 sectors free D 80 16 22 Files Piste 20 Secteur 2 Etat initial 00 00 501 16005010 02D00000 00000000 10 00000000 00000000 00000000 00000000 20 00000000 00000000 00000000 0000etc 9000000000 00000000 00000000 00000000 A0 00000000 00000000 00000000 00000000 0 00000000 00000000 00000000 00000000 60 00000000 00000000 00000000 0000etc 0 00000000 00000000 00000000 00000000 Etat initial Piste 20 Secteur 3
81. Multiple Record Flag 0 single record 1 multiple records 13 10 0 Terminate with no interrupt INTRO 13 1 Immediate interrupt requires a reset i2 1 Index pulse 11 1 Ready to not ready transition 10 1 Not ready to ready transition il i0 Interrupt Condition Flags rl rO B H lt 13 2 p Type I commands The type I commands include the Restore Seek Step Step In and Step Out commands Each of the Type I commands contains a rate field rl r0 which determines the stepping motor rate rl r0 Stepping rate 0 0 6 ms 0 1 12 ms 1 0 20 ms l 30 ms An optional verification of head position can be performed by settling bit 2 V 1 in the command word The track number from the first encountered ID Field is compared against the contents of the Track Register If the track numbers compare and the ID Field CRC is correct the verify operation is complete and an INTRO is generated with no errors Seek Track 0 Upon receipt of this command the 1200 input is sampled If TROO is active low indicating the head is positioned over track 0 the Track Register is loaded with zeroes and an interrupt is generated 15 0 is not active stepping pulses at a rate specified by the rl r0 field are issued until the 71200 input is activated At this time the Track Register is loaded with zeroes and an interrupt is generated 554 Restore Seek This command ass
82. PEEK 26C 0B pour couleur INK ligne service INK cran NI POKE 20C FF forcer en mode MAJUSCULE 1 POKE 20C 7F pour forcer en mode minuscule A 0 pour afficher le contenu hexad cimal d un octet 1 st 0F pour afficher le contenu hexad cimal de 2 octets Exemple Vous tes en train de taper un programme BASIC et vous voulez effacer le curseur Au lieu de l habituelle bascule PRINT CHR 17 vous voulez taper POKE 26A PEEK 26A AND FE qui force OFF ind pendamment de l tat pr c dent Pour cela il suffit de taper FUNCT 1 puis FUNCT22 Si n cessaire il faut ajouter un PRINTCHR 18 pour valider la commande pr c dente Tapez simplement FUNCT 4 Rappel le tableau ci dessus est photocopier et placer dans votre Manuel ou pr s de votre ORIC Pour les utilisateurs d sireux de ne rien changer leurs habitudes le fichier SEDORIC1 KEY contient les tables KEYDEF PREDEF et REDEF correspondant au clavier de la version 1 006 00 Piste 0 secteur 11 12 13 37 octets diff rents TABLE DES MOTS CLES SEDORIC TABLE DES INITIALES DES ADRESSES D EX CUTION Adaptation des commandes CHKSUM DELETE PROT USING UNPROT VISUHIRES STATUS SYSTEM 470 Piste 0 secteur 16 14 octets diff rents MODIFICATION DES MESSAGES Master gt et Slave gt V3 SIv Piste 1 secteur 9 20 octets diff rents BOGUE LOV
83. POP 135 87 PLOT 136 88 PULL 137 89 LORES 138 8A DOKE 139 8B REPEAT 140 8C UNTIL 141 8D FOR 142 8E LLIST 143 SF LPRINT 144 90 145 91 DATA 146 92 INPUT 147 93 DIM 148 94 CLS 149 95 READ 150 96 LET 151 97 GOTO 152 98 RUN 153 99 IF 154 9A RESTORE 155 9B GOSUB 156 9C RETURN 157 9D REM 39 580 HIMEM GRAB RELEASE TEXT HIRES SHOOT EXPLODE ZAP PING SOUND MUSIC PLAY CURSET CURMOV DRAW CIRCLE PATTERN FILL CHAR PAPER INK STOP ON WAIT CLOAD CSAVE DEF POKE PRINT CONT LIST CLEAR GET CALL NEW TAB TO FN SPC e AUTO ELSE THEN NOT STEP 581 9E 9F A0 VAI A2 A3 A4 5 A6 A7 A8 A9 AA AB AC AD TAE RAF 0 1 B3 B3 B4 B5 B6 B7 8 9 BD BE BF CO C1 C2 C3 C4 SCH SC 6 7 C8 C9 CA CB CC CD 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 582 SCH 00 D1 D2 D3 D4 05 D6 D7 D8 D9 DA DB DC DD DE DF E0 SEI 2 E3 E4 E5 E6 E7 E8 E9 EA EB EC ED F0 F1 F2 F3 F4 F5 F6 F7 F8 F9 FA FB FC FD 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222
84. ROM de MICRODISC de 16koctets Fabrice Franc s a cr e une ROM de 1600006 pour la carte du MICRODISC Cette ROM permet d muler le TELESTRAT sur un ATMOS 4 O puis je trouver des informations Principalement sur le site de Fabrice Franc s notamment dans les pages http www ensica fr oric hardware english html http www w ensica fr oric hardware francais html http www ensica fr oric emulate english html http www ensica fr oric archive english html http www ensica fr oricHHARDW ARE Eprom Ist Mais aussi http www algonet se hakan_k index html manuel de l ORIC 1 http rrzs42 uni regensburg de hep095 1 5 oric html sch mas ORIC 1 et MICRODISC 561 ANNEXE n 13 Exercices de passage ROM lt gt RAM overlay En RAM overlay l adresse C024 ATMORI contient la valeur 400 pour les machines quip es d une ROM V1 0 et la valeur 80 pour celles qui sont quip es de la V1 1 En ROM cette adresse contient la valeur 31 ROM V1 0 ou la valeur 08 ROM V1 1 Allumez votre machine et tapez PEEK C024 l cran affiche alors 8 si ROM V1 1 ou49si ROM V1 0 Normalement vous tes donc sur la ROM L acc s la RAM overlay qui contient SEDORIC est pr vu heureusement Le truc est simple et indiqu dans le manuel SEDORIC ANNEXE 8 passages RAM lt gt Il suffit dans le programme en langage machine de faire un JSR 04F2 pour acc der la RAM overlay d appeler le ou les sous programmes voulus e
85. TXTPTR retourne avec une valeur num rique dans et 00 dans 28 ou l adresse d une cha ne dans D3 D4 et FF dans 28 et N et Z positionn s selon l exposant r sultat num rique ou la longueur de chaine JSR D067 ROM puis D3A1 RAM overlay exige une virgule TXTPTR et lit le caract re suivant avec conversion ventuelle de minuscule en MAJUSCULE Cette lecture ne sert 588 D19C DIA4 DIAC DIB4 DIBC D1C4 DICC 0104 DIDC DIEB DIF3 DIFE D206 D20E D216 D219 D21B D21C D224 D22C souvent qu placer TXTPTR sur le caract re qui suit la virgule JSR D067 ROM puis D3A1 RAM overlay demande TXTPTR un octet identique A et lit le caract re suivant avec conversion ventuelle de minuscule en MAJUSCULE JSR D188 ROM d code le nom de la variable TXTPTR et place l adresse de cette variable dans AY B6 B7 et D3 D4 cette adresse pointe en fait sur les data longueur et adresse dans le cas d une chaine de la variable dans la zone des variables BASIC JSR DIES ROM cherche l adresse de la valeur d une variable dont les 2 caract res significatifs sont indiqu s en B4 B5 JSR D2A9 ROM transf re le nombre de ACCI en D4 D3 non sign JSR D499 ROM transf re le nombre de AY dans ACCI sign JSR D4D2 ROM interdit le mode direct JSR D5AB ROM r serve une place en m moire pour une cha ne de longueur A Sauvegarde la longueur en DO et l adresse en D1 D2 JSR D782
86. Upon receipt of the command the head is loaded the busy status bit set and when an ID field is encountered that has the correct track number correct sector number correct side number and correct CRC DRQ is generated The FD179X counts off 22 bytes in double density from the CRC field and the Write Gate output is made active if the DRQ is serviced ie the DR has been loaded by the computer If DRQ has not been serviced the command is terminated and the Lost Data status bit is set If the has been serviced 12 bytes of zeroes in double density are written to the disk then the Data Address Mark as determined by the a0 field of the command The FD179X then writes the data field and generates DRQ s to the computer If the is not serviced in time for continuous writing the Lost Data Status bit is set and a byte of zeroes is written on the disk the command is not terminated After the last data byte has been written on the disk the two byte CRC is computed internally and written on the disk followed by one byte of logic ones Type III commands Read Address Upon receipt of the Read Address command the head is loaded and the Busy Status bit is set The next encountered ID field is then read in from the disk and the six data bytes of the ID field are assembled and transferred to the DR and a DRQ is generated for each byte The six bytes of the ID field are Track address Side number Sector address Sector Leng
87. been loaded into the DR If the DR has not been loaded by the time the index pulse is encountered the operation is terminated making the device Not Busy the Lost Data status bit is set and the interrupt is activated If a byte is not present in the DR when needed a byte of zeroes is substituted This sequence continues from one index mark to the next index mark 556 Normally whatever data pattern appears in the data register is written on the disk with a normal clock pattern However if the FD179X detects a data pattern of F5 thru FE in the data register this is interpreted as data address marks with missing clocks or CRC generation The CRC generator is initialized when an F5 data byte is about to be transferred in MFM An F7 pattern will generate two CRC bytes As a consequence the patterns F5 thru FE must not appear in the gaps data fiels or ID fiels Tracks may be formatted with sector lengths of 128 256 512 or 1024 bytes DATA PATTERN FD179X interpretation in MFM 00 thru F4 Write 00 thru F4 F5 Write Al preset CRC F6 Write C2 E Generate 2 CRC bytes F8 thru FF Write F8 thru FF IBM system 34 format 256 bytes sector Number of Bytes decimal Value of byte written 80 4E 12 00 3 F6 writes C2 1 FC index mark 50 4E 12 00 3 F5 writes A1 T FE ID address mark dB Track number al Side number 1 Sector Number 1 01 sector length 1 F7 2 CRCs written
88. c est dire l ancienne place du quinzi me fichier Enfin le vingt quatri me fichier a t crit et son entr e t mise la place libre suivante l ancienne place du vingt deuxi me fichier On l absence de changements dans le premier secteur de bitmap en effet dans ce cas pr cis le nombre de fichiers est le m me ainsi que leur taille Par suite aucun secteur n a t lib r ou occup En fait 200 secteurs ont t lib r s et les m mes ont t re occup s mais le bilan est inchang Seuls les premier et deuxi me secteurs de directory ont t modifi s 516 ANNEXE n 0 L EPROM du MICRODISC Ce document est de Fabrice Franc s et a t charg l URL http www ensica fr oricHARDW ARE Eprom lst E000 4C C2 E5 JMP 2 initializes some parameters E003 4C JMP SE20C FDC routine 006 4 34 UMP 4 E009 4C CE 4 JMP loads a file 000 4C D3 EA JMP SEAD3 Searches a file EO0F 4C DE 4 JMP SE4DE error File not found E012 4C FC JMP SEAFC E015 4 17 El JMP SE117 lets the user type a command in TIB E018 4C IF E JMP 5 11 waits for a keypress 018 4C DC E7 JMP 6 error routine EOIE 4C 16 JMP 6 dummy points to a RTS E021 4 17 E8 7 writes sector E024 4 25 8 JMP E825 reads sector E027 4C 2B E8 IMP SE82B reads boot
89. commandes pr d finies code 16 31 Mots cl s SEDORIC codes 32 127 Sous table selon la premi re lettre du mot cl SEDORIC Table des adresses d ex cution des mots cl s SEDORIC Table NOM et EXTENSION par d faut Table de constantes diverses Table de conversion QWERTY AZERTY Table de conversion ACCENT OFF ACCENT SET Table de constantes diverses Variables r serv es par le syst me Messages d erreur SEDORIC zone CDBF Autres messages SEDORIC zone CEE7 Registres et commandes du FDC 1793 Rappel des codes de touche Rappel de la table KEYDEF Jeu de caract res fran ais dit accentu Param tres de LINPUT Commandes SEDORIC faisant appel une BANQUE externe 315 316 356 et 357 Commandes de gestion de fichiers S et D 375 Structure du Pse do Tableau FT iiie exe RR fetes eee eb EE IY ES 380 Table des vecteurs syst me FF43 FFC6 456 Table EE VIDE EE 468 Table REDEF ct PREDEP SACR QUERN ZE EN 469 et 470 Emplacement de SEDORIC sur une disquette Master 16 secteurs piste 485 Emplacement de SEDORIC sur une disquette Master 17 secteurs piste 486 Emplacement de SEDORIC sur une disquette Master 18 secteurs piste 487 Dump du premier secteur de disquette 489 Dump du deuxi
90. diteur de disquette allez dans le secteur 4 de la piste 20 14 Vous y trouverez 8 lignes de 16 octets de n 00 0 correspondant aux 8 fichiers sauv s Pour chaque ligne modifiez les octets n 0C et 0D comme suit Pour NOYAU remplacez 050A par 4 Pour BANQUEI 09 03 03 Pour BANQUE2 09 08 04 02 Pour BANQUE3 09 0D 04 07 Pour BANQUF4 0A 01 04 0C Pour BANQUES 0A 06 04 11 Pour BANQUE 0A OB 05 05 Pour BANQUET 10 05 0A Sauvez et l aide de votre diteur de disquette copiez la premi re page de bitmap secteur 2 de la piste 20 de la disquette SOS sur la disquette SEDO3A Idem pour la deuxi me page secteur 3 de la piste 20 Le directory de SEDO3A doit maintenant indiquer 607 secteurs libres comme au d part et 8 fichiers ils taient pr sents mais invisibles au directory 3 Elaborez votre nouvelle BANQUE 8 400 7 soit 5 secteurs Le directory doit maintenant indiquer 602 secteurs libres et 9 fichiers Comme pr c demment modifiez les coordonn es du descripteur remplacez OB 04 par 05 OF A l aide de votre moniteur favori placer le code correspondant votre vos nouvelle s commande s dans ce fichier en respectant les 2 points suivants Les 4 premiers octets C400 C403 sont r serv s pour vectoriser les messages Toutes les commandes pr sentes dans la BANQUE doivent avoir leur entr e dans la premi re page de la BANQUE de C404 CAFF Utilisez si besoin des JM
91. est livr e avec une version am lior e de l utilitaire de mise en ordre alphab tique Mais en pratique lacommande DIR de SEDORIC est devenue peu pratique En fait comme l a soulign Fabrice Franc s ce qui manque maintenant c est une gestion de sous r pertoires C est dire que l utilisation de disquettes SLAVE bien que possible est obsol te et je ne larecommande pas et moins d tre masochiste Donc avec SEDORIC 3 0 je vous recommande de laisser une disquette MASTER en permanence dans votre drive syst me Toutefois m me dans ce cas on est rapidement exc d par le message INSERT MASTER DISK IN DRIVE PRESS chaque fois que SEDORIC veut changer de BANQUE Et l je doit reconnaitre ma culpabilit puisque la version 3 0 comporte 7 BANQUES au lieu de 6 C est Laurent qui a attir mon attention sur ce probl me Comment rendre SEDORIC assez intelligent pour v rifier la pr sence d une disquette Master dans le drive syst me avant de r clamer ce qu il a probablement d j Et si dans l affirmative il chargeait la BANQUE requise sans rien dire comme un grand Mais SEDORIC devrait v rifier que la Master utilis e est bien une V3 0 ceci est n cessaire puisque certaines commandes sont pass es dans la nouvelle BANQUE n 7 Nature du probl me Comme vous l avez sans doute compris chaque commande se trouvant dans une BANQUE correspond une paire de valeurs X et Y X est la position de la BANQ
92. k k k k k k k k k k k k k k k k k k k k k k k k k k k k k k k k k x x x 5 146 SE86F 5 145 SE86F 504 E871 5 DA M MP M L B L B D LDA RTS E854 A0 00 E856 Bl OC E858 06 E85A 20 57 E85D C8 E85E 10 F6 E860 0 LA not used E861 AD 46 E864 DO 09 E866 AD 45 E869 30 04 E86B C9 04 E86D 30 02 E86F A9 E871 60 e Ck Ck Ck C k k k k k k k k k k k k k k k k k k k k k k k k k k k k k k k k k k k k k k k k k k k k k k k k k k k k k k k k k k k k k k k k k x x x reads system parameters from boot sector E872 E875 E877 E87A E027 507 C033 X C123 X E877 JSR LDX LDA STA DEX BPL RTS EO CO Cl 27 07 33 23 buf 20 A2 BD 9D CA 10 60 D m E87 E87 E880 e Ck k CK k k k k k k k k k k k k k k k k k k k k k k k k k k k k k k k k k k k k k k k k k k k k k k k k k k k k k k k k k k k k k k k k k k k k x x x system parameters to boot sector E027 507 80125 C033 X E886 E021 JSR LDX LDA STA DEX BPL JSR RTS EO 41 CO GI 27 07 23 383 F7 21 1 writes E881 E884 20 A2 BD 9D CA 10 20 60 6 9 E88 E88 E88C E88D E88F E892 kk kk k k k k k k k k k k k k k k k k k k k k k k k k k k k k k k k k k k k k k k k k k k k k k k k k k k k k
93. k k k k k k k k k k k k k k k k k k k k k k k k k k k k k k k k k k k k k k kkk k k k k k k k k k k k k k k k k k k k k k k k k k k k k k k k k k k k k k k k prints wildcards not allowed RTS 43 4F 4D COM 1598 6 LDY 500 TYA EA JSR 8 C1 LDA C132 0 BNE SEB70 LDX 2 LDA EB52 X ET STA C132 X DEX BPL SEB67 EB JSR 5 45 EO 1598 0 4 IMP E462 LDX 7 EO JMP 5 1B 1 51 60 55 2 B55 20 6 258 A0 00 B5A 98 B5B 20 48 AD 32 B61 C9 20 B63 DO OB B65 A2 2 B67 52 B6A 9D 32 B6D CA B6E 10 F7 B70 20 45 B73 20 00 276 4C 62 k k k k x x lt B79 2 7 4C Ed Ed DI lt rj rj E 1 BIER BIER SA DIK REN RIK BARA RK KK OR TE AE DIDI initialisation routine SITAE EE NEN TORDE A DGS kp TOR ALEN EE AK UR cU ARGA inits cpu then waits Clears some critical pages transfers switching routines in page 4 checks overlay ram copies a routine in BFEO to read rom location C002 541 TSEF SEB86 SEB86 C000 X C100 X 00 X 0200 X EED X m E H L
94. k k k k k k k k k k k k k k k k k k k k k k k k k k k k k k k k k k k k k k k k k k k k k k k k k k k k k k x x x read or write a sector 5 001 57 50311 SE2E0 is the head already on the right track no seeks the right track first 5 008 6 SE21C 5 008 5 005 524 DA ND OP OP MP EQ O 2 Get LDA LDX JSR STA STY commands 01 CO 11 03 08 10 2 08 CO 05 CO 2BC 20 2BF 18 2C0 58 2C1 90 type T E2C3 AD E2C6 29 E2C8 EA E2C9 EA E2CA CD E2CD FO E2CF AD E2D2 2 204 0 8207 8D E2DA 8 the head is on the right track programs the wanted sector write sector no issues the read sector command and gets the bytes the final interrupt will exit from here command ae issues the write sector command and sends the bytes the final interrupt will exit from here Y kk k k k k k k k k k k k k k k k k k k k k k k k k k k k k k k k k k k k k k k k k k k k k k k k k k k k k k k k k k k k k k k k k k k k k k xk x x x kk k k k k k k k k k k k k k k k k k k k k k k k k k k k k k k k k k k k k k k k k k k k k k k k k k k k k k k k k k k k k k k k k k k k k k k k x xk xk x x what now never returns if the restore track 0 fa
95. k k k k k k k k k k k k k k k k k k k k k k k k k k k k k k k k k k k k k k k k k k k k k x x x E05A JSR 1 RTS EO 2 C5 92 C5 20 5A 60 waits for the user to type a command in TIB 127 m 1 I e Ck Ck Ck k k k k k k k k k k k k k k k k k k k k k k k k k k k k k k k k k k k k k k k k k k k k k k k k k k k k k k k k k k k k k k k k k k k x x x ascii code returned in E05A JSR 1 RTS 20 5A E F8 C5 E 60 waits for a keypress 11F 122 1126 rj p e Ck ck Ck k k k k k k k k k k k k k k k k k k k k k k k k k k k k k k k k k k k k k k k k k k k k k k k k k k k k k k k k k k k k k k k k k k k k k k x ko prints carriage return line feed 127 A9 0D LDA 0D 129 20 2 1 519 Hi 50 5 151 0C 50 E05A calls Basic s output routine 500 0C C151 LDA gt d C tg tg H mg UO D D D Ds Ds Ds X gt STA PLA STA PLA LDX PLP RTS 0A char B 7C F7 CT 51 00 OD 5A F7 OD 00 51 0 6 Ed e Ck Ck k k k k k k k k k k k k k k
96. k k k k k k k k k k k k k k k k k k kx x x x adds a directory entry no used E893 C13E SE83F reads sector C13D track C13 GI C12C X C023 Y 534 DA TA DA SR DX DY DA TA INY INX NH E 1 CO CT E 8 Cl 1 CO 3E 01 3D 3F 00 26 23 6 E89 E899 E89C E89F 1 4 E8AA B DONAR AK KENA RR ee ee C OG KK GORGE E 4 RI upo hp RE BR KRAN EE e Ck Ck k k k k k k k k k k k k k k k k k k k k k k k k k k k k k k k k k k k k k k k k k k k k k k k k k k k k k k k k k k k k k k k k k k x x x this directory sector is full yes is it the last directory sector no reads next one yes 535 So No No ae 510 5 8 4 C025 5 021 E03F SE8C4 C129 5 8 4 5 12 finds free directory entry 5 024 C023 X 8 BNE INC JSR RTS JSR BEQ INC BNE INC RTS DA d H H EI pr gt D gt pr YS gt GI Eo t E m E t HE G OE 3 D Kal lt lt pr O gt RTS JSR DA Z lt rJ Jg gt H o 5
97. la page X dans le secteur Y de la piste A XS AY sauve la page indiqu e par RWBUF dans le secteur Y de la piste A XSVSEC crit un secteur selon DRIVE PISTE SECTEUR et RWBUF Sauve selon DRIVE PISTE et SECTEUR Affiche le nom de fichier pr sent POSNMX dans BUF3 Lit Y caract res POSNMX dans BUF3 et les affiche XVBUFI remplit BUFI de z ros XVBUF2 rempli BUF2 de z ros XVBUF3 rempli BUF3 de z ros Rempli de z ros une page m moire partir de HH A et LL 00 Charge dans BUF3 le secteur point par POSNMP et POSNMS puis ex cute XBUCA XBUCA transf re le nom de fichier contenu dans BUFNOM dans le secteur de catalogue contenu dans BUF3 la position POSNMX pour mise jour de l entr e de catalogue sur la disquette Charge dans BUF3 le secteur point par POSNMP et POSNMS puis ex cute XCABU XCABU transf re dans BUFNOM le nom de fichier contenu dans le secteur de catalogue plac dans BUF3 la position POSNMX Comparaison du nom cherch et du nom point par X dans le catalogue BUF3 V rifie que la disquette en place est bien une disquette SEDORIC cherche le fichier dans le catalogue revient avec le bon secteur de catalogue en place de coordonn es POSNMP et POSNMS et avec X POSNMX pointant sur l entr e cherch e ou avec Z 1 si le fichier n a pas t trouv XTVNM cherche sur le lecteur courant le fichier dont le nom est indiqu dans BUFNOM A la sortie POSNMX
98. labore un deuxi me descripteur etc 2 SEDORIC crit tous les secteurs de data en se basant sur la liste des secteurs r serv s pr c demment dans le ou les descripteurs 3 Enfinil cherche la premi re entr e libre dans les secteurs de directory BUF3 Sauve la bitmap BUF2 Ecrit la nouvelle entr e nom du fichier etc dans le secteur de directory BUF3 et sauve celui ci En pratique peu d octets sont modifi s sur la disquette outre videmment les secteurs de data proprement dits et les descripteurs correspondant qui ont t crits une nouvelle entr e 16 octets a t ajout e dans le directory et la bitmap a t mise jour C est tout Oublions les proc dures un peu complexes qui sont utilis es par SEDORIC et voyons maintenant les quelques modifications qu un SAVE apporte sur la disquette Je partirai d un exemple simple pour ceux qui voudraient aller voir eux m mes ce qui se passe Soit une disquette vierge Master format e avec un INIT A 16 80 D J ai choisi cette configuration pour plusieurs raisons double face afin de voir ce qui se passe quand on crit un fichier cheval sur les deux faces 80 pistes afin de voir ce qui se passe quand le deuxi me secteur de bitmap est utilis et enfin 16 secteurs par piste afin de simplifier la lecture de la bitmap En effet dans ce dernier cas chaque secteur tant repr sent par un bit pour repr senter toute une piste il faudra 16 bits soit 2 octets tous ron
99. les coordonn es du descripteur suivant soit le neuvi me secteur de la piste 19 k 0 CH At uU Q A D COOC O O H HJ p COOC CC CH OQ o Di oni D 99 A A CO 2D po DI pa N GA NN H LO 1 hj Ot C0 ND NY 9 00 04 0 0 0 0 03 0B 02 08 1 01 1 09 08 1 10 1 07 OF 1 OC 1 05 1 0112 3 4 5 27 56 15 09 40 00 04 00 11 OE 01 OE 02 OE 03 OE 08 OE 09 OE OA OE OB OE OE 10 OE 11 OF 01 OF 02 OF OF 07 OF 08 OF 09 OF OA OF OF OF OF 10 OF 11 10 01 10 10 06 10 07 10 08 10 09 10 0 OE 10 OF 10 10 10 11 1 11 05 11 06 11 07 11 08 1 OD OE OF 10 12 04 12 05 12 06 12 07 12 2 0C 12 OD 12 OE 12 OF 12 3 03 L3 Q4 L3 05 13 06 13 3 0B 13 13 00 13 OE 13 14 06 14 08 14 09 14 OB 14 5 01 15 02 La De 15 04 15 120 100 110 120 Cr Cy Cy Cy C Q C C Gy C Deuxi me descripteur situ dans le secteur 09 de la piste 15 les 2 premiers octets indiquent les coo
100. not recommended because a status register to determine the condition of busy will NTRQ line STER SUMMARY READ READ WRITE WRIT ADDRESS SECTOR TRACK SECTOR TRAC LH not ready not ready not ready not ready not ready 0 0 0 wr prot wr prot 0 record type 0 wr fault wr fault RNF RNF 0 RNF 0 CRC error CRC error 0 CRC error 0 lost data lost data lost data lost data lost data DRQ DRQ DRQ DRQ DRQ busy busy busy busy busy STATUS FOR TYPE I COMMANDS This bit when set indicates the drive is not ready When reset it indicates the drive is ready This bit is an in verted copy of the Ready input and logically ORed with MR When set indicates Write Protect is activated When set it indicates the head is loaded and engaged When set the desired track was not verified This bit is reset to 0 when updated bad CRC encountered in ID field When set indicates head is positioned to Track 0 When set indicates index mark detected from drive When set command is in progress When reset no command is in progress STATUS FOR TYPE II amp III COMMANDS Same as for type I commands On Read Record or Read Track not used On any write it indicates a Write Protect This bit is reset when updated Write Fault On Read Record it indicates the record type code from data field address mark 1 Deleted Data Mark 0 Data Mark On any write it indic
101. ou Slave VERSION 0123456789ABCDEF SEDORIC V3 006 0 1 01 96 Upgrade d by Ray McLaugh lin d Andr Ch ramy See SEDORIC3 FIX file for inform ation 20 20 20 20 30 65 68 6E 20 0A 58 6D 20 20 20 20 D 20 49 20 20 36 61 75 0A 6D 0A 46 6F 20 20 20 20 e 20 52 20 20 30 72 61 OD 61 2E 66 20 20 20 20 B 20 4 20 20 30 67 4C 20 72 20 33 6E 20 20 20 20 A 20 44 20 20 2E 70 63 20 7B 20 43 69 20 20 20 20 9 20 45 20 20 33 55 4D 20 68 20 49 20 20 20 20 20 20 43 20 52 72 20 20 20 20 20 20 0 A 26 0000 01 00 00 00 00 00 00 0010 00 00 03 00 00 00 1 0020 20 20 20 20 20 20 0 0030 20 20 20 20 20 20 0 0040 53 45 44 4F 52 49 43 0050 31 2 30 31 2 39 36 0060 64 20 62 79 20 52 1 0070 6C 69 6E 20 20 20 20 0080 64 20 41 6E 64 72 8 0090 20 20 20 20 20 20 20 0080 53 65 65 20 53 45 A4 00B0 20 66 69 6C 65 20 66 0000 61 74 69 6F 6E 20 OD 00D0 20 20 20 20 20 20 20 00 0 20 20 20 20 20 20 20 00 0 20 20 20 20 20 20 0 Cet exemple provient d une disquette Master vierge format e 42 pistes de 17 secteurs simple face Les 83 octets qui diff rent de leur homologues de la version 1 006 sont indiqu s en gras En 0040 le message 488 de VERSION devient SEDORIC V3 006 01 01 96 Upgraded by Ray McLaughlin and Andr Ch ramy See S
102. peu plus 747 kilo octets avec 83 pistes de 18 secteurs Mais comme avec la version 1 006 le formatage en 19 secteurs par piste n est pas fiable Il faudrait essayer avec un lecteur de type HD 1 44 Mo mais les disquettes sont ch res pour un gain de capacit minime La grande nouveaut consiste disposer d un deuxi me secteur de bitmap que Ray a plac dans le troisi me secteur de la piste 2O qui tait d j r serv mais inutilis On peut tirer un grand coup de chapeau notre ami Ray car il a fait du beau travail A l usage cette version 2 0 se r v le tr s pratique m me si l on s en tient l utilisation des lecteurs 3 et 5 1 4 bogue double face corrig e De plus les lecteurs 3 1 2 tant bon march 150F et d une bien meilleure qualit que les anciens lecteurs 3 il est recommand de passer ce format disquettes 2F au lieu de 21F et de disposer enfin de 720 kilo octets avec SEDORIC La gestion des fichiers est tr s fiable et sans probl me jusqu 83 pistes de 18 secteurs La commande DEL fonctionne sans bogue et je l ai tritur e dans tous les sens Voici la liste des commandes et sous programmes qui ont t modifi s 1 TRACK en C446 sur la BANQUE n 5 Inutile modification de la v rification du nombre total de secteurs par disquette qui doit tre 3840 mais ne peut jamais d passer 3762 2 INIT en C404 sur la BANQUE n 6 M me inutile v rification mise en place d un deuxi me secteu
103. pouvait faire de copie de sauvegarde et surtout cause de l arriv e de SEDORIC sur le march De toute fa on sans la mise en liquidation d Oric Products International il aurait eu du mal s imposer face au RANDOS sortit au m me moment et dont les qualit s ind niables n auraient pu que s am liorer A 4 EUREKA ORIC INTERNATIONAL ET SEDORIC Juin 85 ORIC change de mains et passe dans celles de M Tallar Editorial de Th oric 9 page 5 La photo du patron de S P LD Soci t Prospective Internationale de Distribution alias Eur ka alias ORIC International s tale en couverture de Th oric num ro 10 juillet ao t 85 M Tallar recrute Fabrice Broche qui se met imm diatement au travail Th oric 36 novembre 87 pages 8 et 9 publie une interview 615 de ce dernier En juin 1985 je rencontre J C d ORIC nouvellement fran ais J entre chez ORIC en ao t pour finir en compagnie de Denis Sebbag le SEDORIC En septembre 85 premi re publicit annon ant SEDORIC la premi re grande nouveaut 4 Eur ka voir Th oric 12 page 2 La rubrique Nouvelles de Th oric 14 novembre d cembre 85 page 8 annonce la sortie d un nouveau MICRODISC 3 simple face accompagn de SEDORIC liste des 90 commandes et des principales caract ristiques notamment existence d un utilitaire de conversion pour relire les anciennes disquettes Un banc d essai se trouve en page 10 et 11 du m me num ro L ensemble ATMOS fr
104. qui crit BUF2 dans la deuxi me page de bitmap sur la disquette et charge ensuite la premi re page dans BUF2 Entr e de la nouvelle routine XSMAP qui crit BUF2 dans la premi re page de bitmap sur la disquette et charge ensuite la deuxi me page dans BUF2 XMAJSTR copie l adresse et la longueur d une chaine alphanum rique les 3 octets DO D1 et D2 en B6 B7 et B8 XSETOFF Teste si le param tre TXTPTR est SET ou OFF retourne avec C si SET ou C 0 si OFF sinon g n re une SYNTAX ERROR XCHAR s lectionne le jeu de caract res correct normal ou accentu selon MODCLA XSTATUS initialise PAPER INK mode clavier et status console XLINPU routine principale de LINPUT routine de saisie de chaine au retour F4 contient le mode de sortie et DO 21 D2 donne la longueur et l adresse de la chaine dans la zone de stockage des chaines sous HIMEM XAFXGAU affiche X fois fl che gauche XAFIGAU affiche une fl che gauche XAFIDR affiche une fl che droite XCSTR copie la longueur et l adresse d une cha ne alphanum rique les 3 octets DO DI et D2 dans la variable BASIC point e en B8 B9 et BA XVERHRS v rifie si on est bien en mode HIRES sinon g n re une DISP TYPE MIS MATCH ERROR r initialise la pile et retourne au Ready XDLOAD charge X secteurs pris partir du secteur Y de la piste indiqu e en C001 PISTE et les copie en RAM partir de la page A V rifie l existence du pseudo t
105. retard C est aussi le d but d une s rie de nombreux articles sur cette machine Citons ceux de Fabrice Broche Le TELESTRAT plus qu un nouvel ORIC de dans Th oric 24 octobre 86 pages 19 25 TELESTRAT structure mat rielle et logicielle de Fabrice Broche dans Th oric 30 avril 87 pages 12 et 13 Trucs et astuces Th oric 31 mai 87 page 22 Le brochage connecteurs Th oric 32 juin 87 pages 39 41 notez que F Broche est plut t discret sur la prise MIDI Gestion des canaux et Trucs et astuces Th oric 33 juillet 87 pages 14 et 15 et Structure des fichiers TELEMATIC Th oric 37 d cembre 87 pages 10 et 11 Enfin une adaptation de SEDORIC V 1 006 tournant sur TELESTRAT est propos e au prix 6 il s agit du kit STRATORIC Ce kit permet en outre d muler les ROM V1 0 et V1 1 et grace l utilitaire CONVERT de relire les disquettes DOS V1 1 et Jasmin Th oric 31 mai 87 page 18 Pour conclure nous pourrions regretter une fois du plus les 9 mois de retard du TELESTRAT qui ont t pour beaucoup dans la disparition d ORIC face la concurrence f roce du moment Sous la pression d ORIC International le pauvre F Broche a d avoir l p e dans les reins aux cours de ces 9 mois durant lesquels il a 60 programmer comme un fou La chute tait in luctable tous les autres micros de cette poque sont tomb s Quant aux applications il est encore temps de s y mettre 622 ANNEXE n 4 Dir
106. sector E02A 46 8 JMP E846 checks drive number E02D 4C 54 JMP E854 prints string pointed by 500 E030 4C 80 9 JMP E980 points to next directory entry E033 4C 72 E8 JMP E872 reads system parameters from boot sector E036 4C 81 E8 JMP E881 writes system parameters to boot sector E039 4C 93 E8 JMP E893 adds a directory entry not used 030 4C B7 JMP E8B7 038 4C C5 JMP E8C5 E042 4C JMP 6 E045 4C 50 9 JMP E950 E048 4C A8 9 JMP SE9A8 reads boot sector 045 4C CA 9 JMP 5908 EO4E 4C B8 EA JMP 8 limits a char to alphanumeric E051 4C EA EA JMP E054 4C 27 E JMP 6 127 Line E057 4C 2E El JMP prints char 052 4C 70 EO JMP 6 070 calls a routine ROM Basic EO05D 4C 6A JMP 5168 interprets a decimal or hex number E060 4C 63 1 JMP E163 reads a non blank char E063 4C C7 4 IMP SE4C7 066 4C 00 00 JMP 0000 E069 4 00 00 JMP 0000 060 4C 45 EB JMP 5 checks no wildcard is used EO6F 00 e Ck Ck Ck k k k k k k k k k k k k k k k k k k k k k k k k k k k k k k k k k k k k k k k k k k k k k k k k k k k k k k k k k k k k k k k k k k k x x x calls a routine in Basic ROM grabs the two addresses after the JSR and selects one depending on the version D PER KR ARE RER RRR OK X PEER EK RS RALA SER KRS BIR RR KBR ARR SIRE KADA KK E070 08 PH
107. te est galement propos en version DUO un master et un slave pour 5890F L alimentation est incorpor e dans les deux cas La disquette 3 vierge vaut 65F Dans Th oric 3 septembre 84 page 59 le prix de ces lecteurs sont en l g re hausse et la publicit est tendue un lecteur double face 4390F ainsi que sa version DUO 6990F Ce lecteur est livr avec une disquette TDOS pour TRAN DISK OPERATING SYSTEM comptant plus de 35 instructions Il se charge en RAM overlay et permet de formater 178 5 Ko par face soit 357 Ko par disquette Il existe deux versions de TDOS pour ORIC 1 sur la face A de la disquette et pour ATMOS sur la face B Le syst me boote gr ce une EPROM situ e sur la carte contr leur Les 35 instructions sont les suivantes APPEND CAT CLOSE COPY DEL DEMOUNT DNAME EROFF ERRGOTO ERSET FORMAT HSCREEN INIT INST JUMP LCAT LECT LOAD LOCK LSCREEN UNLOCK IMASTER MLOAD LING MOUNT MSAVE OPEN RENAME REWIND ISAVE SEARCH TKD WHERE WRITE 616 TRAN propose dans ses publicit un livre de Beaufils et Arnaud intitul Le TDOS et ses fichiers pour ORIC 1 et ATMOS au prix de 150F qui sera pr sent dans Th oric 8 mai 85 page 11 la rubrique Biblioric Diverses corrections ou am liorations du TDOS ont t propos es Cela semble commencer dans Th oric 6 mars 85 page 54 par un entrefilet sign un ami qui vous veut du bien Le m me ami Guy Hermann
108. tenir compte de la double bitmap XSMAP sauve la bitmap sur la disquette Ecrit BUF2 dans le premier secteur de bitmap sur la disquette Ecrit BUF2 dans le second secteur de bitmap sur la disquette entr e secondaire avec Y 03 pr positionner XDETSE lib re le secteur Y de la piste A sur la bitmap courante dans BUF2 et incr mente le nombre de secteurs libres Retourne avec C si secteur tait d j libre Ne pas oublier de sauver le plus t t possible cette nouvelle bitmap avec SMAP XCREAY cr e une table piste secteur de AY secteurs en fait marque dans la bitmap en BUF2 que le secteur AY est occup En sortie C 1 si ce secteur tait d j occup sinon avec C 0 XNOMDE d truit le fichier index par POSNMX dont le secteur de catalogue est dans en fait tout est positionn comme apr s un Ecrit BUF2 dans le second secteur de bitmap sur la disquette Entr e de la nouvelle routine XSMAP qui crit BUF2 dans la deuxi me page de bitmap sur la disquette et charge ensuite la premi re page dans BUF2 Entr e de la nouvelle routine XSMAP qui crit BUF2 dans la premi re page de bitmap sur la disquette et charge ensuite la deuxi me page dans BUF2 DIVERSES OPERATIONS de LECTURE ECRITURE XPBUFI charge dans BUFI le secteur Y de la piste A XPBUF2 charge dans BUF2 le secteur Y de la piste A XPBUF3 charge dans BUF3 le secteur Y de la piste A Charge la page X le secteur Y d
109. une cha ne dans D3 D4 et FF dans 28 et A N et Z positionn s selon l exposant r sultat num rique ou la longueur de chaine JSR D2A9 ROM transf re le nombre de ACCI en D4 D3 non sign JSR D499 ROM transf re le nombre de AY dans ACCI sign JSR D8CB ROM prend un entier dans ACCI et le retourne dans X JSR D926 ROM convertit le nombre pr sent dans ACC en entier sign dans YA 03 04 et 33 34 JSR DBOB ROM effectue AY ACCI lt ACCI soustraction JSR DB22 ROM additionne le contenu de et la valeur point e par AY et replace le r sultat dans JSR DCED ROM multiplie le contenu de ACCI par la valeur point e par AY et replace le r sultat dans ACCI JSR DDEA ROM effectue AY ACCI gt ACCI division JSR DE7B ROM transf re dans ACCI la valeur point e par AY JSR DEAD ROM recopie les 5 octets de vers les adresses XY XY 4 JSR DF40 ROM transf re un nombre non sign YA dans ACCI 603 D3AI D44F D451 E60D E94D D216 D224 D24C D254 D282 D28A D29A D2A2 D2AA D2B2 D2BA D2C2 D2CA JSR EODS ROM convertit en chaine d cimale d adresse AY JSR E271 ROM effectue un changement de signe de ACCI JSR E37D ROM g n re un nombre entre 0 et 1 en FA JSR E38B ROM effectue la fonction ACCI COS ACCI JSR E392 ROM effectue la fonction ACC1 SIN ACCI OPERATIONS sur la RAM JSR C3F4 ROM d cale un bloc m moire vers le haut En
110. 0 00000000 00000000 00000000 00000000 00000000 f s avant 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 Piste 77 Secteur 8 desc 00 00000000 10 00000000 20 00000000 30 00000000 40 00000000 50 00000000 60 00000000 70 00000000 80 00000000 90 00000000 0 0 0 00000000 0 00000000 00 00000000 Que se passe t il quand un fichier d borde sur la deuxi me bitmap Quant la premi re bitmap est pleine c est dire quant il reste moins de 1919 secteurs de libres SEDORIC met en service la deuxi me bitmap secteur num ro 3 de la vingti me piste Voici une illustration du passage la deuxi me bitmap lors de l criture du vingti me fichier Directory apr s Drive A V3 Mst XX XX XX FICHIERO1 COM 16 FICHIERO2 COM 16 FICHIERO3 COM 100 FICHIERO4 COM 100 FICHIERO5 COM 100 FICHIERO6 COM 100 FICHIERO7 COM 100 FICHIERO8 COM 100 FICHIERO9 COM 100 FICHIER10 COM 100 FICHIER11 COM 100 FICHIER12 COM 100 FICHIER13 COM 100 FICHIER14 COM 100 FICHIER15 COM 100 FICHIER16 COM 100 1 7 COM 100 FICHIER18 COM 100 FICHIERI9 COM 100 FICHIER20 COM 100 621 sectors free D 80 16 20 8 Piste 20 Secteur 2 apr s 00 FF006D02 14005010 0 PDT 0
111. 0 30 00000000 00000000 40 00000000 00000000 50 00000000 00000000 6000000000 00000000 70 00000000 00000000 80 00000000 00000000 9000000000 00000000 A0 00000000 00000000 0 00000000 00000000 C0 00000000 00000000 00 00000000 00000000 ANNEXE n 9 Que se passe t il lors d un DEL Apr s avoir vu quelles sont les modifications subies par la disquette lors de l ex cution de la commande SAVE nous examinerons ce qui se passe lors d un DEL La commande DEL est bien plus simple que la commande SAVE Voici un r sum de ce que fait SEDORIC 1 Il analyse 16 NFA nom de fichier ambigu indiqu cherche dans le directory le premier fichier qui correspond NFA Si le NFA comportait des jockers il demande s il faut effacer ce fichier si ce n est pas le cas il reprend sa recherche dans le directory 2 Il efface ce fichier restructure ventuellement le catalogue lib re les secteurs correspondant dans la bit map d cr mente le nombre de fichiers met jour le nombre de secteurs libres 3 C est fini sauf si le NFA comportait des jockers auquel cas il reprend sa recherche dans le directory tant qu il y reste des noms de fichiers examiner Il y a bien s r quelques petits rafinements suppl mentaires que nous passerons sous silence Par exemple SEDORIC teste si le fichier est prot g avant de l effacer Et maintenant quelques exemples Soit une disquette double face 80 pistes 16 secteurs DUMP apr
112. 0 9824 8D 2B EA STA EA2B qui met jour le 00 dans la routine elle m me un peu plus loin 9827 68 PLA r cup re la valeur V d origine crire dans le Port B 9828 29 DF AND DF soit le masque 1101 1111 qui force 0 le bit 5 de V puis le 982A 09 00 OR A 00 remplace parle bit 5 d origine en gardant les autres bits de V 982C 8D 00 03 STA 0300 etenfin crit le r sultat dans le Port B 982F 60 RTS avant de retourner au point d appel SAVE P1 A 981E E 982F puis STATUS P1 A EAIE et enfin CHKSUM PI qui doit vous indiquer les adresses en RAM overlay EA IE EA2F et la CHKSUM 054C Si ce n est pas le cas corrigez 2 Assemblez ou pokez en 983A l appel cette routine qui sera patch e en RAM overlay l endroit o se trouve le STA 0300 fautif dans SEDORIC c est dire en D83A 983A 20 IE EA JSR 1 occupe 3 octets comme le STA 0300 qu il remplace SAVE P2 A 083A E 983C puis STATUS P2 A D83A et enfin CHKSUM P2 qui doit vous indiquer les adresses en RAM overlay D83A D83C et la CHKSUM 0128 Si ce n est pas le cas corrigez Si tout va bien terminez avec COPYM P TO PATCH 002 V rifiez ventuellement avec un CHKSUM PATCH 002 et ajoutez PATCH 002 SEDORIC est patch votre INIST Voila d sormais SEDORIC est pr t pour les nouvelles applications utilisant PB5 Les lecteurs attentifs se rendront peut tre compte que j ai log la routine corrective dans une zone de SEDORIC 3 0 qui co
113. 00 semble possible de combiner les descripteurs pour gagner de la place Dans cas un sera plac apr s la derni re paire de coordonn es piste secteur du dernier secteur charger la fin du dernier descripteur de chaque fichier et sera suivi des octets usuels type de fichier adresse normale de d but adresse normale de fin adresse d ex cution nombre de secteurs charger liste des coordonn es piste secteur des secteurs charger du fichier merg La pr sence du valide la valeur de X pour la lecture des octets de STATUS puis la valeur de Y pour la lecture des octets de coordonn es piste secteur des secteurs charger Le premier descripteur de chaque fichier dont les coordonn es figurent dans l entr e du catalogue est le descripteur principal Exemples de descripteurs de fichiers merg s Petit Fichier G 3 descripteurs form des 3 petits fichiers A B et C merg s premier descripteur fichier A avec les coordonn es du descripteur du fichier B F D e Qs dn A 3 4 5 06 05 40 00 10 FF 11 00 00 02 00 06 03 06 04 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ClFF idem uniquement des z ros Deuxi me descripteur fichier B avec les coordonn es du descripteur du fichier C 00 40 00 20 22 00 00 03 00 06 06 6 09 06 0 00 00 00 00 00 00 00 00 00 00 00 00 08 06 6 0 0 1 2 3 4 5 6 7 8 9
114. 00 E3 69 63 20 29 20 4 00 00 00 B CO E E 72 43 00 EO 28 00 FFDO FFEO ANNEXE n 1 Circuit int gr FD1793 Contr leur du lecteur de disquette La plus grande partie des informations qui suivent proviennent d un document en anglais que j ai r cup r sur le site de Fabrice Franc s Les lecteurs anglophones pourront se r f rer directement ce document que je joins la fin de cette ANNEXE Selon Fabrice Broche les commandes utilis es par la routine XRWTS sont conformes la notice du 1793 de Western Digital 5 1 4 mini floppy controller formatter Cette notice indique qu il existe 11 commandes qui peuvent tre charg es seulement si le bit Busy Status est OFF sauf pour la commande Force Interrupt Le bit Busy Status est 1 pendant l ex cution d une commande et 0 apr s la fin d ex cution Le Status Register indique si l ex cution se termine avec ou sans erreur Ces registres servent d interface entre l utilisateur et le 1793 La carte contr leur permet d y acc der aux adresses suivantes 310 se trouve en lecture le Status Register et en criture le Command Register C est l que sont POKEes les 11 commandes voir ci dessous 311 o se trouve le Track Register qui contient le num ro de piste en cours 312 o se trouve le Sector Register qui contient le num ro de sec
115. 000 00000000 00000000 00000000 00 FF000902 15005010 02000000 0000etc 0 00000000 00000000 000080FF FFFFFFFF 00000000 0 EL 14e fichier D 60 00000000 00000000 00000000 00000etc Piste 20 Secteur 4 00 1407F000 00000000 00000000 00000000 10 FICH IERO 1 C 06041040 10 F ICH IERO 1 06041040 ERA REA 00 ICH IERI 2 C OM 40106440 00 FICH IERI 2 M 40106440 0 EICH IERI 3 47046440 DO F ICH IERI 3 C 47046440 EO EICH IERI 5C 830C6440 0 F ICH IERI 4 4D086440 F0 00000000 00000000 00000000 00000000 F0 00000000 00000000 00000000 00000000 Maintenant on supprime le vingti me fichier qui est r pertori dans le deuxi me secteur de directory qui est lui aussi pr sent sur la deuxi me face de la disquette mais qui est cheval sur les 2 secteurs de bitmap DUMP7 Les diff rences avec l tat initial de la disquette sont toujours indiqu es en gras 514 DEL 20e fichier Piste 20 Secteur 3 DUMP7 apr s DEL du 20e fichier 00 FF000902 15005010 02200000 0 0700 10 00000000 00000000 00000000 20 00000000 00000000 000000F8 FFFFetc DEL 20e fichier 5 COM 830C6440 DEL 20e fichier 89106440 90046440 96086440 9C0C6440 M M M M M AF086440 A9046440 M 6 N 0 0 D D D L HHH
116. 0050 0053 0054 0056 0058 0059 005B 005 005 0061 0063 0065 0067 0069 006 006 0071 0074 0076 0079 007B 007E 0080 0081 0084 0086 0089 008C 008D 0090 0092 0095 0096 lit octet en 0310 commande contr leur de disquette 0001 1100 force 0 tous les bits sauf b2 b3 b4 reboucle en 0074 si le r sultat n est pas nul incr mente B976 incr mente 0312 contr leur de disquette d cr ment X continue en 00C7 lorsque X devient nul lit octet en 0312 contr leur de disquette teste s il est diff rent du contenu de B900 81 oui reboucle en 0071 58 I O commande contr leur de disquette pour temporisation d cr mente Y et reboucle en 00B7 jusqu ce qu il soit nul lit octet en 0310 commande contr leur de disquette teste si le bO de l octet lu en 0310 est 1 si oui reboucle jusqu ce qu il passe 0 01 I O contr leur de disquette reprise forc e en 0071 1100 0000 autorise les interruptions 1 et continue en C400 initialisation SEDORIC PLA LDA 0310 AND 1C BNE 0074 INC B976 INC 0312 DEX BEQ 00C7 LDA 0312 CMP B900 BNE 0071 LDA 58 STA 0310 LDY 03 DEY BNE 00B7 LDA 0310 LSR BCS 00BA LDA 01 STA 0312 BNE 0071 LDA C0 STA 030 JMP C400 68 AD 10 03 29 1C 00 05 76 9 12 03 FO IF AD 12 03 CD 00 B9 DO CI A9 58 8D 10 03 AO 03 88 00 FD AD 10 03 4A FA 9 1 8D 12 03 DO AA A9 CO 8D OE 03 4C 00 C4
117. 0F Micro Programmes 5 fournit une disquette prot g e non copiable mais rempla able en cas de malheur contenant un manuel int gr Cette disquette est accompagn e d une simple feuille de pr sentation sans manuel papier XL DOS se charge en RAM overlay utilise la page 4 diff rencie les minuscules des majuscules Il est 2 fois plus rapide que le DOS V1 1 en lecture et 5 fois plus en criture Ce DOS offre un BASIC tendu une gestion de la touche FUNCT une gestion du BRK de nouvelles commandes ACCEPT ANGLE LINE RESTORE ROT SEI et SWAP Le n est pas n cessaire Les disquettes comportent 44 pistes de 19 secteurs plus de 200 Ko par face Les disquettes format es avec le DOS V1 1 sont compatibles sauf pour BACKUP car les disquettes n ont pas le m me format Dans Th oric 8 mai 85 pages 40 43 et Th oric 9 juin juillet 85 page 45 et 46 Fabrice Broche signe deux articles intitul s Domptez votre MICRODISC dans lequel il donne en parall le pour le DOS V1 1 et pour XL DOS des informations sur le contr leur de disquette son EPROM les registres du WD 1793 les routines RWTS les variables syst me les principales routines de ces deux DOS l organisation des disquettes secteur en t te secteur de catalogue secteurs programme et l organisation des fichiers On apprend entre autres l existence d une table de vecteurs situ e en 0400 en RAM overlay pour les DOS et translat e en E000 dans l EPROM du con
118. 2 et incr mente le nombre de secteurs libres Retourne avec C 1 si ce secteur tait d j libre Ne pas oublier de sauver le plus t t possible cette nouvelle bitmap avec SMAP XCREAY cr e une table piste secteur de AY secteurs en fait marque dans la bitmap en BUF2 que le secteur AY est occup En sortie C 1 si ce secteur tait d j occup sinon avec C 0 XDEFSA positionne les valeurs par d faut pour XSAVEB en fait positionne pour sauver le programme BASIC XSAVEB sauve le fichier de nom contenu dans BUFNOM selon VSALOO VSALOI DESALO FISALO EXSALO XVERTXT v rifie que l on est bien en mode TEXT sinon g n re une DISP TYPE MI SMATCH ERROR r initialise la pile et retourne au Ready XDEFLO positionne les valeurs par d faut pour XLOADA XLOADA charge le fichier dont le nom est dans BUFNOM selon VSALOO VSALOI DESALO Charge un fichier selon X POSNMX POSNMP et POSNMS VSALOO VSALOI DESALO 594 DB59 DBAS5 DBCO DC6C DC7D DC80 DC89 DC8B DD15 DD2D DE28 DE9C DFDE DFE6 0 5 XNOMDE d truit le fichier index par POSNMX dont le secteur de catalogue est dans BUF3 en fait tout est positionn comme apr s un Affiche nom de fichier et taille du fichier POSNMX Valide le drive s il est indiqu TXTPTR sinon valide DRVDEF Ecrit BUF2 dans le second secteur de bitmap sur la disquette Entr e de la nouvelle routine XSMAP
119. 3 20 54 41 4E 47 45 52 49 4E 45 30 20 42 59 54 45 53 20 46 52 45 45 4 43 20 38 33 20 54 41 4E 47 45 52 49 4E 45 OD 1983 TANGERINE 33 31 61 64 79 20 OD 00 Ready 54 45 4D 44 4F 53 SYSTEMDOS 54 55 50 43 4F 4D BOOTUPCOM C4 4F 5 20 Sch 49 39 37 49 39 36 65 53 4F A9 84 8D 80 04 8D 14 03 20 8 A2 34 AO 00 58 20 5A 4 04 6C 4B Cl 21 42 4F 69 6 oc 4 13 6 OC 52 56 4 52 60 20 31 34 38 00 4 2 60 20 1 20 33 7 00 2 53 59 00 42 4F BFF4 D5A D63 D76 094 EDF 1 E20 3 5 0 4 eo Ne Ne BFEO BFF1 BFE3 BFE6 BFE9 BFF1 BFF8 I J J T I KR e ER A RER RARER AK AR RN KOC SK EE54 EE5C vectors copied to 0228 ORICI cR RR DECR DK UR KON AR E KOR ep e Us o ioc c doce eue u UN OR ANR ESER DRUG UK KO NAGA o Di ko JMP 1 JMP 5 430 RTI 4C 03 EC 4C 30 F4 01 00 40 E54 E57 E5A T T I I RER EUR gt KKK TERK RR BR 5 5 ee OE SERRE KORA AIRES ORO AO
120. 455232 30434F4D A2106440 GH 2 0 6 0 00000000 00000000 2 nouveau des 0010FF72 00006300 A301A302 A305A306 A307A308 A309A30A A30DA30E A30FA310 A401A402 A405A406 A407A408 A409A40A A40DA40E A40FA410 A501A502 A505A506 A507A508 A509A50A A50DA50E 50 510 A601A602 A605A606 A607A608 A609A60A A60DA60E A60FA610 A701A702 A705A706 A707A708 A709A70A A70DA70E A70FA710 801 802 A805A806 A807A808 A809A80A A80DA80E A80FA810 A901A902 00000000 00000000 0000etc Piste 20 Secteur 7 00 00006000 10 46494348 40 46494348 50 46494348 60 00000000 Piste A2 Secteur 10 00 0000FF40 10 A303A304 tA30BA30C 204 30 A403A404 40 A40BA40C tA503A504 504 60 A50BA50C 70 A603A604 80 A60BA60C 90 A703A704 70 A04 04 0 510 DO avant Piste 20 Secteur 7 00 00005000 00000000 00000000 00000000 10 46494348 49455231 36434F4D 89106440 6 60 0 M IERI FICH 40 46494348 49455231 39434940 0 9 IERI 50 00000000 00000000 00000000 0 60 00000000 00000000 00000000 2 avant 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 0000etc Piste A2 Secteur 10 0000000000 00000000 10 00000000 00000000 20 00000000 0000000
121. 49 tant que X n est pas nul teste 81 A est nul si oui continue en 0063 avec Y 0 sinon 1 teste si A est diff rent de z ro si oui continue en 0063 avec Y gt lt 0 crit Y en 00 AY FFFE FFFF 05 I O contr leur de disquette 85 I O contr leur de disquette 88 I O contr leur de disquette index pour criture autorise les interruptions teste Ready du contr leur de disquette reboucle en 0081 tant que b7 n est pas 1 lecture du registre data contr leur de disquette criture partir de C400 indexe la position suivante suite en 96 84 I O contr leur de disquette limine 3 octets de la pile BD FD CC LDA CCFD X STA CCF7 X DEX BPL 003A LDX 37 LDY 80 LDA 00 CLC ADC C900 Y INY BNE 0049 INC B937 DEX BNE 0049 LDX 04 TAY BEQ 0063 LDA B901 TAY BNE 0063 LDX 3C STY 00 LDA 7B LDY B9 STA FFFE STY FFFF LDA 05 STA 0312 LDA 85 STA 0314 LDA 88 STA 0310 LDY 00 CLI LDA 0318 BMI 0081 LDA 0313 STA C400 Y INY JMP B96C LDA 84 STA 0314 PLA PLA 9D F7 CC CA 10 F7 Temporise A2 37 A0 80 A9 00 18 79 00 C9 C8 DO F9 EE 37 B9 CA D0 F3 A2 04 A8 FO 08 AD 9 A8 DO 02 A2 3 84 00 A9 7B AO B9 8D FE FF 8C FF FF A9 05 8D 12 03 A9 85 8D 1403 A9 88 8D 10 03 A0 00 58 AD 18 03 30 FB AD 13 03 99 00 C4 C8 4C 6C B9 A9 84 8D 14 03 68 68 003A 003D 0040 0041 0043 0045 0047 0049 004A 004D 004
122. 53 6F 75 E74A 44 65 3 E764 43 61 6E EPIRI 53 69 6E E7A3 53 79 6E addresses of 7 D9 E8 FC E7C6 5 E5 5 error routine pm Pd se we s E8 7DD 8E FF 04 7 0 6 49 7 754 AD FD 04 LDA 04FD E7E7 29 1 AND 501 E7E9 03 BEQ SE7EE E7EB 4C 69 EO 9 uncomplete points to 0000 E7EE EO 16 6 780 5 205 7 E7F2 BD BO 7 LDA SE7BO X 7 5 85 STA 0 E7F7 BD C6 7 LDA 5 7 6 E7FA 85 OD STA 500 E7FC 20 2D EO JSR 2 prints message E7FF 9 LDA 3A E801 20 57 EO JSR E057 E804 4C 13 8 JMP 3 807 8A TXA prints the error number E808 20 4D 1 JSR E14D E80B AD FE 04 LDA 504 E80E 03 BEQ E813 E810 20 4D E JSR E14D E813 4C FF JMP SEIFF Switch to Basic E816 60 RTS EE EE EE EE DGN D CON CID Ge adie ENDURO UU EE writes a sector E817 20 06 E2 JSR SE206 E81A AD FE 04 LDA 504 E81D 05 BEQ SE824 E81F A2 05 LDX 505 Disc error E821 4C 1B EO JMP SEOIB E824 60 RTS k k k k k k k k k k k k k k k k k k k k k k k k k k k k k k k k k k k k k k k k k k k k k k k lt XX lt JSR SE20A E81A k k k k k k k k k k k k k k k k k k k k k k k k k k k k k k k k k k k k k k k k k k k k k k k xk xk x lt 23
123. 562 ANNEXE n 14 Utilisation d une commande SEDORIC sans argument programme LM 564 ANNEXE n 15 Utilisation d une routine en RAM overlay programme 565 ANNEXE n 16 Utilisation d une commande SEDORIC avec param tres programme LM 566 ANNEXE 17 Les bogues de SEDORIC Ree e ERR dulci e x iade Re does 569 ANNEXE T 15 Mots cles SEDORIC wen oL ux REG he EE utu fee eer RT ERR MC 575 ANNEXE n 19 Les Codes de Fonctions ua ie jus HERE R SH aed as RARE NET 577 ANNEXE 20 Buttes extensi ns Ee vs EC 584 ANNEXE n 21 Routines d int r t g n ral par ordre chronologique 587 ANNEXE n 22 Routines d int r t g n ral par th mes 597 ANNEXE n 23 Des drives et des DOS pour ORIC 611 ANNEXE n 24 Directories des disquettes SEDORIC V3 006 et TOOLS V3 006 623 ANNEXE n 25 Tableset figures RE dew SEENEN AE NR DRE IA ES 626 ANNEXE n ebe des maltietes SR A D NE ERE 628 ANNEXES ANNEXE n 1 SEDORIC V2 0 Cette version est due Ray McLaughlin D une part elle corrige certaines bogues d autre part elle permet d utiliser des disquettes 3 1 2 double densit au maximum de leurs possibilit s soit 720 kilo octets Double face 80 pistes de 18 secteurs et m me un
124. 69 BO AA E980 E981 E982 E984 E986 E987 E989 E98B E98D E98F E991 E994 E997 E999 E99C E99F JMP 8 0 RTS 9 I 4C 58 A2 00 60 E9A2 5 E9A7 k k k k k k k k k k k k k k k k k k k k k k k k k k k k k k k k k k k k k k k k k k k k k k k k k k k k k k k k k k k k k k k k k k k k kx xk x x x 5 013 E9A7 5 C000 513 C003 5 0 C004 E835 5 DA DA DA P r n E ob t reads boot sector CO CO CO CO E8 13 FA 00 13 03 CO 8D 04 4 35 81 81 xo AB AD BO B2 B5 B7 BA 9 9 9 9 9 9 9 9 zb Bd Bd bi Boc oce 2 5 KK OE SEKS BERRA RR AINE LORRI RRR RRR ARK RDA RADLK AER not used how would you write to an eprom location intended to store a command 20 20 20 20 20 20 20 20 20 20 20 20 0 9BD e KIC UR UK ON DE REOR Ee RRR result 0 Basic expression 537 evaluates a is it a string gets it yes F9BD X I 02 EA E05A S0B 520 5
125. 787 OAK BT 05 87 06 97 07 97 08 ek HL ccn sv XXI C180 87 87 87 87 0 87 OE 87 OF 87 10 87 11 eise ENNEN eens 190 88 01 88 02 88 03 88 04 88 05 88 06 88 07 88 08 C1A0 88 09 88 OA 88 88 00 88 OD 88 OE 88 OF 88 10 CIBO 88 11 99 01 89 02 89 039 89 04 89 05 89 06 89 UI oser die sonne 1 0 8906 69 09 89 DA 89 OB 89 0C 89 0 89 89 OF 100 89 10 89 11 01 02 8A 03 04 8A 05 06 1 0 8A 07 08 09 8A OB 8A OD 1 0 OF 10 8A 11 8B 01 8B 02 8B 03 8B 04 8B 05 Troisi me et dernier descripteur situ dans le sixi me secteur de la piste 0 de la deuxi me face les 2 premiers octets indiquent 0000 c est dire qu il n y a pas de descripteur suivant O Je 23 wb 90 95 D OE C100 00 00 07 8B 08 8B 09 8B 8B OB 8B OC 8B OD C110 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 C120 CIFF idem uniquement des z ros 500 Descripteurs des fichiers merg s Pour les fichiers Le lien du dernier descripteur de chaque fichier indique les coordonn es du premier descripteur du fichier suivant le lien du dernier descripteur du dernier fichier indique bien s r 00
126. 8 8 read sector ECEO 20 00 EO JSR 5 000 initializes some parameters ECE3 20 09 EO JSR E009 loads SYSTEM DOS ECE6 20 EE JSR SEEA3 Clears the top line 9 2 08 LDX 8 copies Basic line BOOTUP to ECEB BD ED LDA SED5A X ECEE 95 35 STA 35 X ECFO CA DEX ECF1 10 F8 BPL A2 FF LDX SFF prints DOS version on top line ECF5 INX ECF6 BD DO 9F LDA S9FDO X ECF9 9D 82 BB STA SBB82 X ECFC DO F7 BNE SECF5 ECFE A2 LDX 1A copies a routine to BFEO EDOO BD 3F ED LDA SED3F X EDO3 9D EO STA SBFEO X EDO6 CA DEX EDO7 10 F7 BPL 0 EDO9 9 AE LDA AE prints Basic copyright EDOB A0 ED LDY SED EDOD AE 07 CO LDX C007 10 FO 04 BEQ SED16 ED12 A9 1 LDA 1 ED14 AO ED LDY SED ED16 85 STA 50 18 84 OD STY 500 ED1A 20 2D EO JSR 5022 EDID A2 09 9 copies filename BOOTUPCOM to C12B EDIF BD 4A EE LDA SEE4A X ED22 9D 2B Cl STA C12B X ED25 CA DE ED26 10 F7 BPL SEDIF ED28 20 EO JSR 5 00 Searches BOOTUPCOM in directory ED2B 0 00 0 ED2D DO OD BNE SED3C found BOOTUPCOM executes BOOTUP ED2F 86 35 SEX S35 no removes BOOTUP command from TIB ED31 9 35 LDA 535 ED33 85 STA 50 ED35 A9 LDA SEE ED37 85 OD STA 500 ED39 20 2D E JSR 2 and prints Ready ED3C 4C EO BF JMP SBFEO goes to ram in order to activate overlay ram 544
127. 9 Par contre la bogue portant sur le nombre de secteurs charger pour formater une disquette SLAVE est toujours non corrig e 63 en FBA4 il faudrait 3F c est dire 63 en d cimal cette bogue est tr s grave et emp che absolument l utilisation de la commande CLOSE sans param tre non corrig Code incorrect 040E et 043A bogue CSAVE CLOAD L interf rence entre SEDORIC et la ROM a t corrig e en C60E C63A C70E et C73A o l adresse OE a t remplac e par l adresse C5A4c C5A6c r sidu de mise au point mal dig r dans la commande CHANGE non corrig CAD5e Version 2 0 le saut ILLEGAL QUANTITY ERROR appel depuis C4A9 et CAAD ne marche plus car il manque le JMP Corrig dans la version 2 1 C69Ae Une bogue de la BANQUE n 5 affectait les commandes DKEY DNAME DNUM DSYS DTRACK INIST amp TRACK La routine C6DB Demande la disquette cible tait bogu e mauvaise gestion de ESC et a t remplac e par une nouvelle routine en C7A0 L ancien JSR C6DB t remplac pour pouvoir utiliser la routine d bogu e Corrig par Ray C64Af C76Bf probl me de la mise jour du flag Double face La commande INIT tait s v rement bogu e Le param tre D provoquait bien un formatage en Double face mais l indicateur de Double face le b7 de l octet n 809 de la bitmap n tait pas mis jour ainsi qu en t moignait le directory qui indiquait d sesp r ment S au lieu de D Cette bogue
128. 9 le BCC C4D5 est remplac par un C4D3 En C4AD le BCS CAD5 est remplac par un BCS C4D3 En C4D5 et C4D6 les 2 octets 20 amp DE inutiles sont remplac s par 2 NOPs EA Secteur 2 de la piste 5 1 octet diff rent Encore la BANQUE n 5 La bogue pr c dente affectait aussi la commande INIST Pour rem dier cela Ray a remplac un BEQ C4D4 par un BEQ C4D2 463 Secteur 3 de la piste 5 2 octets diff rents Toujours INIST dans la BANQUE n 5 mais cette fois il s agit d une bogue d origine qui affecte galement les commandes DKEY DNAME DNUM DSYS amp D TRACK La routine C6DB demander la disquette cible tait bogu e mauvaise gestion de ESC et a t remplac e par une nouvelle routine en C7A0 voir plus loin Le JSR C6DB situ en C69A est remplac par JSR C7A0 Secteur 4 de la piste 5 25 octets diff rents La fin de la BANQUE n 5 de C793 C7FF n tait pas utilis e Ray y a mis la nouvelle version de la routine d bogu e 2C16CO0 BIT C016 teste si le b7 du flag BANQUE chang e est z ro 10 14 BPL C7B9 si oui BANQUE pas chang e simple RTS en C7B9 A2 12 LDX 12 sinon BANQUE chang e indexe le message LOAD 20 64 D3 JSR D364 et l affiche puis 204806 JSRD648 affiche DISC IN DRIVE lettre du lecteur AND PRESS RETURN puis demande un ESC C 1 ou un RETURN C 0 58 CLI autorise les interruptions 90 09 BCC C7B9 simple RTS en C7B9 si RETURN t tap 5 fois 68 5 fois PLA si ES
129. 900 00 00 CC00 CD00 00 CF00 PISTE SECT 10 11 12 13 14 15 16 Copyright et boot les trois premiers secteurs de la disquette Desc descripteur du NOYAU SEDORIC BK1 BK7 descripteurs des BANQUES interchangeables 7 Util2 Util3 etc premiers secteurs libres pour l utilisateur 485 EMPLACEMENT DE SEDORIC SUR UNE DISQUETTE MASTER 17 correspondance entre les adresses en RAM overlay et les secteurs d une disquette master C400 C500 C600 C700 BK6 C400 C500 C600 C700 BK7 C400 C500 C600 C700 Util2 etc C700 BK2 C400 C500 C600 C700 BK3 C400 C500 C600 C700 BK4 C400 500 C600 C700 BK5 F300 F400 F500 F600 F700 F800 F900 00 00 00 FD00 00 400 500 C600 E200 E300 E400 E500 E600 E700 E800 E900 00 EBOO 00 ED00 EE00 EF00 F000 F100 F200 D100 D200 D300 D400 D500 D600 D700 0800 0900 DAOO DBOO 0000 DE00 DF00 E000 E100 0 copyright et boot Desc C400 C500 C600 C700 C800 C900 00 CB00 CC00 CD00 00 00 0000 PISTE SECT 10 11 12 13 14 15 16 17 Copyright et boot les trois premiers secteurs de la disquette Desc descripteur da NOYAU SEDORIC
130. A ClFF idem uniquement des z ros Troisi me et dernier descripteur fichier C Qr udo 4 Ar Sr 287 9 00 00 40 00 30 30 00 00 01 00 06 0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 0 CIFF idem uniquement des 26208 Gros Fichier 6 descripteurs form des gros fichiers D et E merg s premier descripteur fichier D avec les coordonn es du deuxi me descripteur de D OO OO CO O O ob on Co OOO C CO oO CO OO OO OO OO OO OO OO E 0 O trj 0 1 2 3 4 5 6 7 8 9 A 93 01 FF 40 00 00 FF FF 00 00 00 11 01 02 03 8C 04 8C 08 09 80 80 02 80 00 0 10 11 8D 01 8D 02 80 03 80 8D 07 8D 08 8D 09 8D OA 8D OB 8D 8D OF 8D 10 8D 11 8E 01 02 8E 06 07 08 8E 09 8E OA 8E OE 8E OF 8E 10 11 01 120 120 120 000000020 90 09 91 08 91 10 92 07 92 OF 99 10 9A 07 9 05 OD 04 00 03 0B 02 0A 01 09 08 10 07 OF 06 OF 06 OE 05 CO CO O CH o D 5 02 01 09 08 10 07 OF 06 OE 05
131. A DY TA TY DA 3 STY STA STY STA STY LDX F8 02 CO 02 02 02 02 04 04 B B8 02 JJ OO OO OO OO OO OO OO OO vo DD oO D gt vo 9 EC35 EC37 EC39 EC3 EC4 EC4 EC4 EC4 EC4 EC4 4 52 55 EC57 EC59 EC5C EC5F EC61 EC64 EC67 UJ xo 1 O1 NO bi EC70 EC72 EC74 EC76 EC78 EC7A EC7C 80 EC82 EC83 EC86 EC89 EC8C EC8F EC91 EC94 EC97 EC9A EC9C ECAO ECA3 5 ECA7 ECA9 ECAF ECB 3 5 ECB7 ECB9 20 92 055 2 ECBE 2 9 9 copies SYSTEMDOS filename to C12B ECCO BD 40 EE LDA EE40 X 003 9D 2B STA C12B X ECC6 CA DEX ECC7 10 F7 BPL ECC9 A9 8A LDA 8 initializes Error address to EE8A ECCB 80 49 1 STA C149 ECCE A9 EE LDA SEE ECDO 8D 4A 1 STA 5 14 003 2 D8 LDX 8 Force Interrupt command 005 10 03 STX 0310 ECD8 A2 08 LDX 8 Restores track 0 ECDA 20 03 EO 7598 3 ECDD 20 48 EO 05
132. B 3 JASMIN 2 et NOUVEAU DOS Dans Th oric 7 page 35 premi re annonce d un nouveau lecteur 3 de chez TRAN le JASMIN 2 compatible avec le pr c dent Avec ce lecteur double t te on acc de directement aux 82 pistes 357 Ko format s Prix de lancement 3490F La premi re publicit pour ce Jasmin 2 s tale en derni re page de ce Th oric 7 On apprend qu il existe aussi en version double lecteur pour 5390F prix corrig en hausse 5980F dans la publicit suivante Th oric 8 page2 Un article est consacr au Jasmin 2 dans Th oric 9 juin juillet 85 page 50 Par rapport au Jasmin 1 le nouveau produit est pr sent comme offrant l avantage d tre un lecteur double t te Cela signifie que vous n aurez plus besoin de retourner la disquette dans le lecteur et que vos fichiers pourront s taler sur deux faces Ceci semble curieux puisque la premi re gamme de lecteurs Jamin proposait d j des lecteurs double t te au prix de 4390F en septembre 84 et m me 6990F en version DUO Le Jasmin 2 est dot d un nouveau DOS rapide comme le FTDOS qui est maintenant compatible ORIC 1 et ATMOS Aucune indication sur le nom de ce DOS vraisemblablement une nouvelle version du FTDOS Andr Guichardon propose dans Th oric 37 d cembre 87 page 36 et 37 une modification du DOS du Jasmin 2 pour d placer la page 4 mais ne donne pas d indication de version Face l offensive d Eur ka avec son ORIC francais son nouveau MICRODISC
133. BK1 BK7 descripteurs des BANQUES interchangeables 1 7 Util1 Util2 etc premiers secteurs libres pour l utilisateur 486 EMPLACEMENT DE SEDORIC SUR UNE DISQUETTE MASTER 18 correspondance entre les adresses en RAM overlay et les secteurs d une disquette master 5 C400 C500 C600 C700 BK7 C400 C500 C600 C700 Util1 Util2 Util3 etc 4 C600 C700 BK3 C400 C500 C600 C700 BK4 C400 C500 C600 C700 BK5 C400 C500 C600 C700 BK6 3 F600 F700 F800 F900 00 00 00 FD00 FF00 BK1 C400 500 600 C700 BK2 C400 C500 2 E400 E500 E600 E700 E800 E900 00 EBOO EC00 ED00 EE00 EF00 F000 F100 F200 F300 F400 F500 1 D200 D300 D400 D500 D600 D700 0800 0900 DAOO DBOO 0000 DE00 DF00 000 100 200 E300 0 copyright et boot Desc C400 C500 C600 C700 C800 C900 00 00 CD00 CEO CF00 D000 D100 PISTE SECT 10 11 12 13 14 15 16 17 18 Copyright et boot les trois premiers secteurs de la disquette Desc descripteur du NOYAU SEDORIC BK1 BK7 descripteurs des BANQUES interchangeables 1 7 Util1 Util2 Util3 etc premiers secteurs libres pour l utilisateur 487 Dump du premier secteur de disquette Master
134. C limine 5 octets sur la pile au lieu de 2 pour retourner l interpr teur il faut retirer de la pile les adresses de retour correspondant 2 niveaux de JSR soit 4octets plus 1 octet mis sur la pile par un PHP 200602 JSRD206 effectue un retour la ligne avec un JSR au lieu d un JMP afin de pouvoir ex cuter le SEC qui suit En effet la routine D206 met C z ro or pour t moigner d une sortie par ESC il faut avoir C 1 38 SEC met la retenue 1 ce qui n tait pas fait pr alablement 60 RTS et termine La routine C6DB est appel e par DTRACK en C441 DNUM en CADD DKEY en C600 DS YS en C522 amp C528 DNAME en C41F et INIST en C509 travers un appel indirect pour les 3 derni res commandes Secteur 1 de la piste 20 4 octets diff rents Modification de la table des drives qui contient le nombre de pistes par d faut pour chaque lecteur en service Ces valeurs d pendent du dernier utilisateur de la commande ce n est peut tre pas Ray Bravo encore notre ami Ray qui avec les versions 2 0 et 2 1 a apport une contribution majeure l volution de SEDORIC Sans lui les disquettes 3 1 2 seraient bien moins attractives 464 C7A0 C7A3 5 C7A7 C7AA C7AD C7AE C7BO 7 5 C7B8 C7B9 ANNEXE n 3 SEDORIC V3 0 Description des changements effectu s par rapport la version 1 006 du 01 01 86 Dans le chapitre pr c dant je vous ai bross le
135. CCI COS ACCI JSR E392 ROM effectue la fonction ACCI SIN ACCI JSR E853 ROM value un nombre non sign TXTPTR sur 2 octets JSR EB78 ROM saisit une touche si touche frapp e alors 1 et A 0006 ASCII sinon 0 JSR EDEO ROM autorise IRQ gestion clavier et curseur JSR F110 ROM ex cute la commande DRAW JSR FAEF ROM trouve le code ASCII de la touche press e En entr e 0208 contient le code de la touche 0209 le code de la touche SHIFT ou CTRL et 020C le masque minuscule MAJUSCULE En sortie A contient le code ASCII avec b7 1 Sile b7 de A est O pas de touche press e JSR F590 ROM appelle la routine d E S du PSG 8912 Met X dans le registre A du PSG 8912 Programmable Sound Generator JSR F801 ROM teint allume le curseur Si le curseur tait visible bO de 026A 1 etsi A 401 le curseur sera mis en vid o inverse sinon le caract re sous le curseur sera en vid o normale JSR F982 ROM r g n re le jeu de caract res normaux descend de la ROM dans la RAM JSR 00E2 ROM incr mente TXTPTR et lit un caract re CHRGET Les espaces sont saut s Z 1 si fin d instruction O ou C 0 si caract re chiffre 0 9 soit 30 39 sinon C 1 Y et X inchang s JSR 00 8 lit le caract re CHRGOT Les espaces sont saut s Z 1 si fin d instruction 0 ou C 0 si caract re chiffre O 9 soit 30 39 sinon C 1 Y et X inchang s Copie NOM et EXT
136. E PRENDRE UN CARACTERE AU CLAVIER Piste 1 secteur 10 8 octets diff rents ROUTINES XPMAP ET XSMAP DOUBLE BITMAP Piste 1 secteur 12 19 octets diff rents ROUTINE CHERCHE UN SECTEUR LIBRE Piste 1 secteur 13 4 octets diff rents GESTION BITMAP et MODIFICATION KEYSAVE Piste 2 secteur 2 amp 3 15 9 24 octets diff rents EXTENSION BIGDISK INIT Piste 2 secteur 5 amp 6 207 11 218 octets diff rents ROUTINES PRINCIPALES DE RAY 00 D900 00 DC00 DD00 E300 E600 Elles permettent de formater les disquettes avec le double de secteurs Faute de place Ray avait sacrifi la table des vecteurs de FF43 FFF9 soit 183 octets pour impl menter ce code Dans la version 3 0 de SEDORIC la table des vecteurs a t restaur e sa place d origine ce qui permet de retrouver une compatibilit avec tous les programmes crits en langage machine utilisant les routines de SEDORIC Ces routines ont t mises la place des commandes STATUS PROT UNPROT SYSTEM elles m mes d plac es dans la BANQUE n 7 Piste 2 secteurs 8 amp 9 18 octets diff rents NOUVELLES ENTREES DES COMMANDES 471 E900 CHKSUM EXT STATUS SYSTEM UNPROT VISUHIRES EA99 Piste 2 secteur 9 amp 11 57 2 59 octets diff rents CORRECTION BOGUES LOVE et LINPUT F100 Piste 2 secteur 16 1 octet diff rent NOMBRE DE SECTEURS A TRANSFERER INIT qui passe 463 99
137. EDORIC3 FIX file for information Dump du deuxi me secteur de disquette Master ou Slave COPYRIGHT 4 5 6 7 8 9 C D E 0123456789ABCDEF DO 9F DO 9F 02 B9 01 00 FF 00 00 B9 E6 12 00 78 9 8D OE 03 A9 10 0 01 si Slave 8C 6C 02 A9 86 8D 14 03 A9 BA 0 B9 84 8D 14 03 A2 02 BD FD CC 9D F7 CC 37 A0 80 A9 00 18 79 00 C9 C8 DO F9 DO F3 A2 04 A8 0 08 AD 01 B9 A8 DO 00 A9 A0 B9 8D FE FF 8C FF FF A9 A9 85 8D 14 03 A9 88 8D 10 03 AO 00 30 FB AD 13 03 99 00 04 C8 4C 6C B9 03 68 68 68 AD 10 03 29 1C DO D5 EE 03 CA FO 1F AD 12 03 CD 00 B9 DO 1 03 A0 03 88 DO FD AD 10 03 4A BO FA 03 DO AA A9 CO 8D OE 03 4C 00 C4 OC 52 49 43 20 56 33 2E 30 OD 60 SEDORIC V3 0 35 20 4F 52 49 43 20 49 4E 54 45 52 1985 ORIC INTER 4 4E 41 4C OD 00 00 00 00 00 00 NATIONAL 8D 1 8D 1 0 1 2 00 00 FF E4 B9 00 07 8D 6B 20 1A 00 CA 10 F7 37 B9 02 A2 3C 05 8D 12 58 AD 18 A9 84 76 B9 EE A9 58 A9 01 8D 1 11 53 45 20 31 39 4E 41 54 Cet exemple provient d une disquette Master vierge format e en 42 pistes de 17 secteurs simple face Le seul octet qui diff re de son homologue de la version 1 006 est indiqu en gras En 0001 le message de COPYRIGHT devient SEDORIC V3 0 1985 ORIC INTE
138. F RTS LDX C13F LDY 506 LDA C023 X CMP 520 BNE SEBOB JSR E057 INX DE BNE SEBO1 LDX C13F LDY 506 LDA 5 023 CMP 20 BEQ 0598 7 INX DE BNE SEB14 LDA 2E 0598 7 LDY 3 LDA 5 023 0598 7 INX DEY BNE SEB29 RTS C140 508 C12C X S3F SEB79 SEB47 STX RTS LDX LDA CMP BEQ DEX BPL wildcard is used EAEA A2 09 EAEC 1 EAEF B9 2C CO EAF2 2C Cl EAF5 C8 EAF6 E8 EAF7 10 EAF9 DO 4 EAFB 60 EE UE AR EAFC 1 EAFF 06 01 BD 23 CO 504 C9 20 506 DO 03 08 20 57 EO 8 88 EBOD DO 2 EBOF 1 EB12 06 EB14 23 CO EB17 C9 20 EB19 FO 3 EBIB 20 57 EO 1 1 88 EB20 DO F2 EB22 A9 2E EB24 20 57 EO EB27 AO 03 EB29 BD 23 CO EB2C 20 57 EO EB2F 8 530 88 EB31 DO F6 EB33 60 EUREN UE hate Os aae EB34 5 EB36 8D 47 1 EB39 A5 OD EB3B 8D 48 Cl EB3E BA EB3F 40 41 8E 40 EB44 60 checks no EB45 A2 08 EB47 BD 2C Cl EBAA C9 3F EBAC FO 2B 4 4 10 6 kk k k k k k k k k k k k k
139. F R 3 COM 40 46494348 49455230 34434F4D 0 086440 F I CH I R 0 4 50 46494348 49455230 35434F4D 15046440 BG CH I R 0 5 COM 60 46494348 49455230 36434F4D 1B086440 FICH IERO 6 COM 70 46494348 49455230 37434F4D 210C6440 FICH IERO 7 80 46494348 49455230 38434F4D 27106440 Bp pec cH IERO 8 COM 90 46494348 49455230 39434F4D 2E046440 IERO 9COM A0 46494348 49455231 30434F4D 34086440 H ICH IERI B0 46494348 49455231 31434F4D 3A0C6440 H ICH IERI 1COM C0 46494348 49455231 32434F4D 40106440 FICH IERI 2COM D0 46494348 49455231 33434F4D 47046440 E TG H IERI E0 00000000 00000000 00000000 0 0 00000000 00000000 00000000 00000000 508 nouv 4D094D0A 4E014E02 4E094E0A 4F014F02 4FO94F0A 80018002 8009800A 81018102 8109810A 82018202 8209820A 83018302 8309830A 00006300 4D0F4D10 4E074E08 4 4 4F074F08 4FOFAF10 80078008 800F8010 81078108 810F8110 82078208 820F8210 83078308 00000000 ecteur 8 0010FF72 4DODADOE 4E054E06 4EO0DAEOE 4F054F06 AFODAFOE 80058006 800D800E 81058106 810D810 8205820 82008201 83058306 00000000 oy Piste 77 5 00 0000 40 1 0 20 4 034 04 30 4E0B4E0C 40 4F034F04 50 4F0B4F0C 60 80038004 70 800B800C 80 81038104 90 810B810C A0 82038204 B0 820B820C C0 83038304 0 00000000 00000000 00000000 00000000 00000000 00000000 00000000 0000000
140. K OPERATING SYSTEM V 3 2 1984 TECHNOLOGIE RECHERCHE ET APPLICATIONS NOUVELLES 83130 FRANCE Un article de Herv Janod dans Th oric 25 novembre 86 pages 30 35 est consacr au FTDOS V3 2 On y trouve des informations sur l organisation des disquettes Elles sont format es en 41 pistes de 17 secteurs de 256 octets deux secteurs y sont r serv s le secteur syst me piste 20 secteur 1 o se trouve la bitmap et le premier secteur de directory piste 20 secteur 2 En outre la disquette peut contenir le DOS qui se trouve au d but de la disquette et qui occupe un nombre variable de secteurs selon qu il s agit du FTDOS pour JASMIN 1 62 secteurs ou du FTDOS mixte pour JASMIN 2 et 2 PLUS Le FTDOS comporte 42 fonctions plus les 4 utilitaires FORMAT BKP COPYI et TKD Ces commandes sont APND CAT CLOSE COPY CREATE CUT DEL DEMOUNT DNAME EROFF ERR ERSET IFS HELP HSCR INIT JUMP LCAT LOAD LOCK LSCR MASTER MERGE MLOAD IMOUNT MSAVE OPEN RENAME REWIND RS SAVE SEARCH START TAKE UNLOCK IUNSTART WHERE WL WRITE WS WUL Le r le de ces commandes est indiqu dans un article de D Vasiljevic Th oric 28 f vrier 87 page 17 20 o elles sont compar es aux commandes quivalentes de SEDORIC On y trouve en plus ERR GOTO et DS soit 43 commandes et 4 utilitaires Curieusement la commercialisation des lecteurs double face a entra n la sortie d une variante du FTDOS le FTDOS DT dans lequel la disquet
141. M 052 34 DNAME 053 35 DKEY 054 36 DSYS 055 37 DTRACK 056 38 ERRGOTO 057 39 ERRGOTO 058 3A ERROR 059 3B ERROR 060 3C ERR 061 3D ESAVE 062 3E EXT 063 3F FIELD 064 40 FRSEC 065 41 HCUR 066 42 INIT 067 43 INSTR 068 44 INIST 069 45 JUMP 070 46 KEYIF 071 47 KEYIF 072 48 KEYUSE 073 49 KEYDEF 074 4 KEYDEF 075 TAB KEYSAVE 578 519 KEY LINE LSET LUSING LUSING LINPUT LINPUT LOAD LDIR LTYPE LCUR MOVE MERGE NUM OUT OLD OPEN PUT PROT PR PMAP QUIT QWERTY RESUME RSET REWIND RENUM REN RANDOM RANDOM RESTORE RESET SWAP SEEK STRUN STRUN SYSTEM STATUS SAVEU SAVEM SAVEO SAVE SEARCH SYS SMAP TKEN TAKE TYPE HAC 4D TAE 4F 50 51 52 53 54 55 56 57 58 59 5A 5B 5C 5D 5E 5 60 61 62 63 64 65 66 67 68 69 6A 6B 6C 6D 6 6F 70 71 72 73 74 75 76 77 78 79 7A 7B 076 077 078 079 080 081 082 083 084 085 086 087 088 089 090 091 092 093 094 095 096 097 098 099 100 101 102 103 104 405 406 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 7C TRACK 125 7D USER 126 7E UNTKEN 127 7F USING UNPROT VISUHIRES VUSER WIDTH WINDOW RESTORE 255 Token de la ROM Ce sont les commandes du BASIC 128 80 END 129 81 EDIT 130 82 STORE 131 83 RECALL 132 84 TRON 133 85 TROFF 134 86
142. M 100 FICHIERO5 COM 100 FICHIERO6 COM 100 FICHIERO7 COM 100 FICHIERO8 COM 100 FICHIERO9 COM 100 FICHIER10 COM 100 FICHIER11 COM 100 FICHIER15 COM 100 FICHIER13 COM 100 FICHIER16 COM 100 FICHIER17 COM 100 8 COM 100 FICHIER19 COM 100 FICHIER20 COM 100 FICHIER21 COM 100 FICHIER22 COM 100 537 sectors free D 80 16 20 Files DEL multiple 001902 14005010 02D00000 00000000 F00000000 00000000 00000000 0000F8FF 07000000 00000000 00000000 0000etc F0080FFFF FFFFFFFF FFFFFFFF 700 00000000 00000000 00000000 0000etc Piste 20 Secteur 2 004 104 204 904 104 Piste 20 Secteur 3 DEL multiple Piste 20 Secteur 3 DEL puis SAVE 00 FFOOA501 16005010 02200000 0 00 FF00A501 16005010 02200000 0 10 00000000 00000000 00000098 20 00000000 00000000 00000088 2 Piste 20 Secteur 4 DEL multiple Piste 20 Secteur 4 DEL puis SAVE 00 1407 000 00000000 00000000 00000000 00 14070000 00000000 00000000 00000000 10 F ICH IERO 1 06041040 10 IERO 1 06041040 20 FICH 1 4C 40086440 20 IERO 2 07041040 IERO 3 08046440 30 F ICH IERO 3 08046440 40 F ICH IERO 4 0 086440 40 F ICH IERO 4 0 086440 50 F ICH IERO 5 15046440 50 F ICH I ERO 5 15046440 60 F ICH 6 1
143. M de 0400 FFFF RAM permanente RAM overlay Les disquettes seraient alors r duites jouer le r le de simple cartouches C est non seulement possible mais cela existe d j Une routine quivalente XRWTS existe dans ROM du MICRODISC en E20C Il est possible de l utiliser mais il faut garder libre la RAM overlay de C000 C3FF car la ROM du MICRODISC y crit ses variables et param tres ainsi que certaines donn es qu il lit sur la disquette De plus il faut restaurer dans la seconde moiti de la page 4 les routines de switching et les variables utilis es par la ROM du MICRODISC Ces routines et variables sont recopier de la zone EEED EF67 Les points d entr e dans la ROM du MICRODISC sont en E021 pour crire et en E024 pour lire un secteur Alternativement on peut r duire SEDORIC la seule routine XRWTS en CFCD C est la routine qui la lecture et l criture sur les disquettes Le reste de la RAM overlay est alors disponible Cette m thode a t utilis e pour PINFORIC par Jos Maria Enguitad et Fabrice Franc s et semble meilleure que d utiliser les routines de la ROM du MICRODISC en jouant avec les bits de l adresse 0314 car dans ce dernier cas les applications d velopp es ne tournerons pas sur le TELESTRAT effet ce dernier s lectionne la RAM overlay d une mani re diff rente et le probl me est d j corrig dans la cartouche STRATORIC 4 Pour ce faire serait il possible d utiliser une
144. Micr Oric 2 Automne 83 on trouve cette premi re publicit ORIC 1 Bient t un micro lecteur de disquettes Oric page 3 et un concours avec parmi les lots Un lecteur de micro disquettes page 62 notez les variantes dans l appellation et ce n est pas fini Et dans le num ro suivant Micr Oric 3 Hiver 83 84 page 3 une publicit ORIC 1 signale Stockage sur lecteur de disquettes 3 ORIC MICRO DRIVE extensible 4 unit s mais toujours pas de photo Dans le m me num ro 18 premi re publicit ATMOS Le Nouveau Venu montre un MICRODISC et rouge page 65 Encore plus loin dans 6 m me num ro de Micr Oric page 67 une autre publicit ORIC 1 montre la photo d un MICRO DRIVE aux couleurs de l ORIC 1 sur lequel on peut lire ORIC 1 et en dessous ORIC MICRO DISC en 3 mots et conseille Signalez votre r servation dans le bon de commande mais sans indication de prix Il semble que ce drive pour ORIC 1 n ait jamais t commercialis H27 En effet un prototype sans indication de prix est pr sent au Which Computeur Show du 17 janvier 84 en m me temps que l ATMOS H25 Pire 16 4 f vrier 84 ORIC organise une pr sentation la presse du nouveau MICRODISC et s empresse de l annuler H27 611 En fait les premiers MICRODISC ne seront disponibles qu au printemps 84 environ 3000F et souffriront d incompatibilit mat rielle avec l ATMOS auquel ils sont destin s et qui apparait en m me temps cf la
145. NMI sous programme vectoris en FFFA affiche LFCRBREAK ON BYTE JSR 4 0 retourne au Ready apr s affichage d un message d erreur JSR C3F4 ROM d cale un bloc m moire vers le haut En CE CF adresse du premier octet du bas en C9 CA adresse dernier octet du haut en C7 C8 et AY adresse cible vers haut OUT OF MEMORY si adressecible gt adresse du bas des chaines A2 A3 revient avec nouveau d but 100 en C7 C8 et nouvelle fin en haut des tableaux JSR C444 ROM v rifie que l adresse AY est en dessous des chaines OUT OF MORY ERROR si AY trop haut zone C7 CF n est pas affect e AY conserv Affiche OUT OF MEMORY ERROR puis r initialise la pile et retourne au Ready JSR C47E puis C496 ROM Affiche DISP_TYPE_MISMATCH_ERROR puis r initialise la pile et retourne au Ready JSR C47E puis C496 ROM JSR C496 ROM affiche puis r initialise la pile et retourne au Ready JSR C4A8 ROM retourne au Ready JSR C563 ROM restaure les liens des lignes partir du d but JSR C563 ROM restaure les liens des lignes partir de l adresse AY JSR C5FA ROM encode les mots cl s 587 CFCD DOAS DOEA D121 D136 D154 D15C D164 D16C D16F D178 0180 0188 D18C D194 JSR C6B3 ROM recherche une ligne BASIC selon le n en 33 34 partir du d but Si trouve retourne avec C 1 et adresse en CE CF visant le premier octet de lien JS
146. OF MEMO ERROR si AY trop haut zone C7 CF n est pas affect e AY conserv Affiche OUT OF MEMORY ERROR puis r initialise la pile et retourne au Ready JSR 47 puis 496 600 D669 D676 D843 D845 DFDE E94D EBA3 EC17 ED36 F070 FF3D D136 D154 D15C D164 D16C Affiche DISP TYPE MISMATCH puis r initialise la pile et retourne au Ready JSR 47 puis 496 JSR C496 ROM affiche ERROR puis r initialise la pile et retourne au Ready JSR C4A8 ROM retourne au Ready JSR CA23 ROM g n re un UNDEFD STATEMENT ERROR GOSUB JSR D782 ROM g n re une STRING TOO LONG ERROR Initialise n erreur et continue ERRVEC incr mente X et traite erreur n X Routine de traitement des erreurs Affiche l erreur r initialise la pile et retourne au Ready XNOWILD recherche dans BUFNOM revient avec si pas trouv ou g n re une WILDCARD S NOT ALLOWED ERROR si trouv V rifie si drive demand est on line et le valide actif si non g n re une erreur V rifie si le drive Y est on line si oui le valide actif si non g n re une erreur XLIBSE cherche un secteur libre dans la bitmap dans BUF2 retourne avec n de piste et Y 2 n de secteur sinon DISK FULL ERROR XVERTXT v rifie que l on est bien en mode TEXT sinon g n re une DISP TYPE MI SMATCH ERROR r initialise la pile et retourne au Ready
147. OM 100 FICHIER22 COM 100 437 sectors free D 80 16 21 Files Piste 20 Secteur 2 DEL ler fichier 00 FF00B501 15005010 02200000 0 10 00000000 00000000 00000000 F8FF0700 20 00000000 00000000 00000000 0000etc 90 00000000 00000000 00000000 00000000 0 00000000 00000000 00000000 00000000 BO 00000000 00000000 00000000 00000000 60 00000000 00000000 00000000 0000etc F0 00000000 00000000 00000000 00000000 Piste 20 Secteur 3 DEL ler fichier 00 00 501 16005010 02200000 0 10 00000000 00000000 00000000 0 20 00000000 00000000 00000088 4 EL ler fichier 830C644 0704104 0804644 0E08644 1504644 1B08644 210 644 2110644 2E04644 4 4 4 4 4 340864 3A0C64 401064 470464 4D0864 0000000 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 EL ler fichier M M M lt lt D O 0 0 0 0 0 09089000 SG SS SS lt lt o o o O GA o D R1 0 0 0 O pip D o o o A A 2 2 A Piste 20 Secteur 4 00 1407F000 00000000 00000000 00000000 O pj EJ d o Piste 20 Secteur 7 H O H H H H H H H H H H H H H o EE D 00 nj H 10 20 30 40 50 60 70 80 90 AO 20 60 50
148. P E071 48 PHA 517 EE RK BERK gt UR E E Ee PEER e ere E ee 518 TSX LDA 0105 X CLC STA 50 ADC 4 STA 8 LDA 0106 X STA 50 500 STA 0106 LDY 501 LDA C007 BEQ 5 095 LDY 503 LDA 0E Y STA 0485 INY LDA 0E Y STA 0486 LDA 6 STA 0481 PLA TAY PLA TAX PLA PLP JMP 0490 80 I 80 14 0 85 0 86 6 81 90 504 504 504 504 5 504 503 50 04 50 04 50 504 504 504 handler J D gt p pm D Hd E Ea Cy Es FO Hp IU OHUHD z t t t ppp an D D gt PLA STA 48 98 48 BA BD 05 O1 18 85 OE 69 04 9D 05 O1 BD 06 O1 85 OF 69 00 9D 06 O1 AO 1 AD 07 CO FO 02 AO 03 B1 OE 8D 85 04 C8 B1 OE 8D 86 04 A9 06 8D 81 04 68 A8 68 AA 68 28 4C 90 04 04 04 04 04 04 03 04 04 04 04 04 NMI 81 85 86 gt om i PO p DG DN EE LI vo D vo J 2 060 CJ EOAF 0B2 0B3 0 6 0B7 OBB OBE
149. P vectorisation pour atteindre une entr e plac e dans le reste de la BANQUE de C500 C7FF Notez pour chaque commande le LL de 585 l adresse de l entr e dans la page 0 4 Greffez vos nouvelles commandes dans la zone EA06 du NOY AU en indiquant le LL de l adresse de l entr e dans la page C400 de chaque commande avec un BIT LL cachant un LDY LL et notez l adresse de ce LDY pour chaque commande c est le point d entr e de la commande dans le NOYAU A la suite de tous les BIT LL AO placez un LDX 65 le d but de la BANQUE n 8 se trouve au 56 me secteur de la disquette master Finalement ajoutez un JMPFISE routine de gestion des BANQUES 5 Modifiez de la table des mots cl s vos nouvelles commandes doivent prendre la place des commandes SEDORIC obsol tes version en minuscules contenant un mot cl BASIC encore libres de COE2 COE7 A PPEND de CASC CA62 ERRGOTO de CA63 CA67 ERROR de CA9B CA9F K EYIF de CAA6 CAAB K EYDEF de CAC2 L USING de CACE CAD3 L INPUT de CB2E CB33 R ANDOM de CB34 R ESTORE de CB48 0240 S TRUN Respecter l initiale et la longueur de chaque mot cl Il est possible d utiliser une initiale contigu comme cela a t fait par exemple avec USING pour VISUHIRES avec ventuellement un d placement de certaines commandes Pour toutes les modifications notez l adresse de d but du groupe de mots cl s de m me initiale le n d ordre du p
150. R puis r initialise la pile et retourne au Ready JSR C47E puis C496 ROM Affiche DISP TYPE MISMATCH ERROR puis r initialise la pile et retourne au Ready JSR C47E puis C496 ROM JSR C496 ROM affiche puis r initialise la pile et retourne au Ready JSR C4A8 ROM retourne au Ready JSR C816 ROM met l imprimante en service et inhibe l affichage sur l cran Cette routine ne marche qu avec la ROM 1 1 un simple RTS est ex cut avec la ROM 1 0 JSR C82F ROM met l imprimante hors service et restaure l affichage sur l cran JSR CA23 ROM g n re un UNDEFD STATEMENT ERROR GOSUB JSR CBFO ROM va la ligne JSR CCD9 ROM affiche le caract re pr sent dans A JSR D782 ROM g n re une STRING TOO LONG ERROR JSR F801 ROM teint allume le curseur Si le curseur tait visible bO de 026A 1 et si A 01 le curseur sera mis en vid o inverse sinon le caract re sous le curseur sera en vid o normale JSR F982 ROM r g n re le jeu de caract res normaux descend de la ROM dans la RAM Affiche X 1 me message d erreur externe termin par un caract re 128 597 D136 D154 D16C D16F D178 0180 DIBC D1C4 D1D4 D206 D20E D26C D32A D332 D35C XAFSC affiche le 1 me message externe termin par caract re 128 EXTMS doit contenir l adresse 1 du premier message Affiche le 1 me message situ en CEE7 et termin par un caract re
151. R C6C3 ROM recherche une ligne BASIC partir de la ligne courante Si trouve retourne avec C 1 et adresse en CE CF visant le premier octet de lien JSR C73A ROM place TXTPTR au d but du programme BASIC JSR C76C ROM ex cute la commande LIST simplifi e JSR C816 ROM met l imprimante en service et inhibe l affichage sur l cran Cette routine ne marche qu avec la ROM 1 1 un simple RTS est ex cut avec la ROM 1 0 JSR C82F ROM met l imprimante hors service et restaure l affichage sur l cran JSR C952 ROM ex cute la commande RESTORE du BASIC JSR CA23 ROM g n re un UNDEFD STATEMENT ERROR GOSUB JSR 4 amp CA3F ROM calcule le d placement l instruction suivante met jour TXTPTR en ajoutant Y JSR CA73 ROM ex cute la commande IF JSR D39E RAM overlay puis JSR CAE2 ROM relit le caract re le convertit en MAJUSCULE puis value le num ro de ligne TXTPTR r sultat en 33 34 JSR CB39 ROM affecte un nombre une variable JSR CBFO ROM va la ligne JSR CCD9 ROM affiche le caract re pr sent dans A JSR CF17 ROM value une expression num rique TXTPTR Retourne avec la valeur num rique dans ACCI JSR CFO9 ROM v rifie que l expression valu e TXTPTR est bien num rique JSR CFO9 ROM v rifie que l expression valu e TXTPTR est bien alphanum rique JSR CFO9 ROM v rifie que l expression valu e TXTPTR est bien conforme JSR CF17 ROM value une expression
152. R Ge vectors copied to 0238 atmos de di dir dir dir d IMP SF77C EB78 5 1 JMP 5 EE22 5 IMP SF8B2 545 RTI ZC 7 78 EB CT FS 65 8 22 EE B2 F8 E PPP PP AD xr CY EE5D EEGF EE5D E60 E63 E66 E69 E 6C EGF I I T T 1 I 2 DIR KA Ee RK KK KDA SRS ee E 1 adjustment required prints Error and halts the system LDX 1 LDY 0 LDA S1A STA 5 80 STA 51 STA 51 STA STA DE BNE 5 76 BEQ SEE8C OQ UJ I E70 2 31 E72 AO OO E74 A9 1A E76 99 80 R79 99 80 99 80 99 80 82 99 FE E85 88 86 DO EE E88 FO 2 T I I Se EN Rog EE EE EE EE E EE EE operating system on disc prints Error halt the system LDX 3 0855 2 JMP SEESF 2 13 080 20 92 4C
153. RAT le nouvel ORIC Cot lecteur de disquette on en est toujours au 3 probablement simple t te puisque le MICRODISC double face n est sortit chez ORIC International qu en juin 1987 Aucune indication sur le DOS si ce n est la pr sence d un BASIC de plus de 250 instructions On trouve toujours la m me publicit VISMO en derni re page de couverture 621 Le d marrage semble bien dur aucun article n est consacr cette nouvelle machine part les publicit s Th oric 18 de mars avril 86 page 5 et 60 Th oric 19 d avril mai 86 page 21 Th oric 20 de mai juin 86 page 5 et surtout pages 29 34 Th oric 21 de juin juillet 86 page 15 Th oric 22 de juillet ao t 86 pages 15 et 25 Th oric 23 de septembre 86 pages 25 et 26 Limitons nos propos aux annonces concernant le drive et le DOS on connait seulement l existence d un HYPER BASIC 2 100 fois plus rapide et du syst me d exploitation STRATSED Le TELESTRAT dispose d s sa naissance de plus de 2000 programmes Outre son BASIC le TELESTRAT pourra galement recevoir un langage C un FORTH un PASCAL Le MICRODISC est annonc double t te La liste des instructions HYPER BASIC et STRATSED est donn e dans Th oric 20 page 34 et elle est effectivement impressionnante En fait le TELESTRAT n est toujours pas disponible octobre 86 Th oric 24 titre TELESTRAT est l Cette fois ce n est pas une blague le TELESTRAT est enfin disponible avec 9 mois de
154. RNATIONAL Remarquez le contenu de l octet n 16 qui vaut ici 00 et indique qui s agit d une disquette Master D sassemblage du deuxi me secteur de disquette master Cette routine est probablement mise en jeu lors du BOOT Elle semble charger SEDORIC en RAM overlay Il faudrait connaitre la signification des registres d I O du contr leur de disquette pour pouvoir en comprendre les d tails interdit les interruptions A 0111 1111 b7 de 030E 0 pour interdire les interruptions PAPER 10 noir INK 07 blanche 86 I O contr leur de disquette AY 9 afficher la chaine point e par AY 84 I O contr leur de disquette pour copie de 3 octets de CCFD CCFF en CCF7 CCF9 489 SEI LDA 7F STA 030E LDA 10 LDY 07 STA 026B STY 026C LDA 86 STA 0314 LDA BA LDY B9 JSR 001A LDA 84 STA 0314 LDX 02 78 9 7 8D OE 03 A9 10 0 07 8D 6B 02 8C 6C 02 A9 86 8D 14 03 A9 BA AO B9 20 1A 00 A9 84 8D 14 03 A2 02 0017 0018 001A 001D 001F 0021 0024 0027 0029 002C 002E 0030 0033 0035 0038 lit un caract re de COM extension par d faut et le copie comme extension courante caract re pr c dant reboucle en 003A tant qu il y en a copier calcule A A contenu de C900 Y indexe le suivant et reboucle en 0049 tant que Y n est pas nul incr mente B937 lorsque Y passe par z ro d cr mente l index X et reboucle en 00
155. ROM g n re une STRING TOO LONG ERROR JSR D7D0 et CF09 ROM v rifie si l expression valu e est bien alphanum rique retourne l adresse de la chaine dans XY et 91 92 ainsi que sa longueur dans A CF17 ROM CF09 ROM et D8CB ROM value un nombre entier TXTPTR et le retourne dans X JSR D8CB ROM prend un entier dans et le retourne dans X JSR D926 ROM convertit le nombre pr sent dans en entier sign dans YA D3 D4 et 33 34 JSR DA22 ROM prend 2 coordonn es TXTPTR et les retourne dans 2F8 x et X y JSR DBOB ROM effectue AY ACCI lt ACCI soustraction JSR DB22 ROM additionne le contenu de ACCI et la valeur point e par AY et replace le r sultat dans ACCI JSR DCED ROM multiplie le contenu de ACCI par la valeur point e par AY et replace le r sultat dans JSR DDEA ROM effectue AY ACCI lt ACCI division JSR DE7B ROM transf re dans la valeur point e par AY 589 D22E D238 D244 D24C D254 D25C D264 D26C D274 D27F D282 D28A D292 D29A D2A2 D2AA D2B2 D2BA JSR DEAD ROM recopie les 5 octets de vers les adresses XY XY 4 JSR DF40 ROM transf re un nombre non sign YA dans ACCI JSR EODS ROM convertit en chaine d cimale d adresse AY JSR E271 ROM effectue un changement de signe de ACCI JSR E37D ROM g n re un nombre entre 0 et 1 en FA JSR E38B ROM effectue la fonction A
156. SEDORIC 3 0 NU SEDORIC et STRATORIC Versions 3 0 du 01 01 96 Troisi me Partie Pages 460 630 Andr Ch ramy 54 rue de Sours 28000 CHARTRES cheramy G infobiogen fr Troisi me Edition 1998 Andr Ch ramy 1998 Table des mati res Premi re Partie pages 1 231 e tr e ecd ad oae as Las se e Red 3 Comment 00 106 kh eS He EY RR OX SUDO RINNOVO ROVER RE 4 Nouveaut s de Version 3 0 242252 ene HE Eee ones d o eoi ne Ros 5 0 2 2 40 6 7 Analyse des commandes SEDORIC 02 22 EN KN AG EE A S ER tance fus 7 LAURE Saxdt rire OR o en ep OM Rd RR cud md ns 16 Buffer a ute o t Mr ar a M MT D ee eg 17 Buter3 BUBS 7 18 BANQUE s nat qhapa Phe ee eG 19 Initialis tion SBDORIC Den uen nts pa e Eon aes REN EE 19 Source de la page 4 version ORIC L 2 usus ete NIR n Pa bath IS 25 Source de la page 4 version ATMOS Qo A REEL EE A dy 25 D sassemblage de la page 4 SEDORIC ccc 26 BANQUES interchangeables 1 20 BANQUE n 1 adresse Cxxxa RENUM DELETE et 30 BANQUE 2 Gadress e BACKUP zrs d e ep REY cta SEC AERA OE 51 BANQUE n 3 adresse SEEK CHANGE e
157. TABLES KEYDEF REDEF et PREDEF La table KEYDEF a t compl tement revue pour int grer des commandes SEDORIC Ceci a t rendu possible gr ce la correction de la routine Prendre un caract re au clavier Cette nouvelle table permet d acc der aux fonctions BASIC avec FUNCT SHIFT touche et aux commandes SEDORIC avec FUNCT touche Et ceci en respectant autant que possible les initiales Les commandes SEDORIC sans n UNPROT USING VISUHIRES VUSER WIDTH WINDOW et RESTORE sont maintenant accessibles 467 Token o D1 CA ED 91 SCH 8D 9B A2 92 B2 F1 BC A8 90 D2 87 9A 9C CB C9 8C EB B5 A4 A6 5 FUNCT SHIFT BASIC AND NOT CHR DATA ELSE FOR GOSUB HIRES INPUT INK KEY LIST MUSIC NEXT OR PLOT RESTORE RETURN STEP THEN UNTIL VAL WAIT EXPLODE PING ZAP Cde 0 22 25 29 31 3D 3F 27 41 42 45 4B 52 57 59 5B 5E 62 66 72 7B 18 1B 1E 60 07 FUNCT SEDORIC AZERTY BACKUP COPY DIR ESAVE FIELD CHANGE HCUR INIT JUMP KEYSAVE LINPUT MOVE NUM OLD PROT QWERTY RENUM SAVEU TYPE UNPROT VISUHIRES WINDOW SEEK PAPERO INK7 CALL F8D0 CR 08 Touche A Q r Q aa 5 lt 2 gt Exemples FUNCT D affiche DIR Code n 49 31 manuel SEDORIC page 103 tandis que FUNCT SHIFT L affiche LIST Token n 188 manuel ATMOS page 315 voir au
158. UE sur la disquette et Y le LL octet de poids faible de l adresse d ex cution de cette commande dans la premi re page de cette BANQUE L entr e r elle de la routine de gestion des changements de BANQUE se trouve en FI5E RAM overlay SEDORIC examine si la BANQUE demand e est d j en place Si ce n est pas le cas ou sila commande demand e est INIT SEDORIC r clame une Master sans chercher savoir s il l a d j sous la main ou non Solution Vous trouverez ci dessous les indications n cessaires pour faire vous m me le patch 001 qui lanc lors du boot gr ce la commande INIST corrigera automatiquement SEDORIC 3 0 Vous pouvez galement vous procurer le fichier pr t utiliser en vous adressant CEO ou moi m me Si une version 3 1 de SEDORIC voit le jour ce correctif y sera videmment int gr 475 Dans ce patch 001 j ai remplac quelques octets de la routine incrimin e par un JMP vers une routine corrective Cette nouvelle routine examine si la disquette pr sente dans le drive syst me est une Master V3 0 Si la disquette est bien une Master V3 0 SEDORIC reprendra le cours normal de la gestion des BANQUES sans vous importuner Si la disquette pr sente n est pas une Master V3 0 SEDORIC reprendra le cours des choses avec un INSERT MASTER S il n y a aucune disquette SEDORIC fera tourner le drive jusqu ce que vous en ins riez une Mise en pratique Il vous suffira de vous reporter dans c
159. ableau FI au d but des tableaux et le cr e s il n existe pas encore Place l adresse du d but du Channel Buffer correspondant au NL en 00 01 celle du d but 595 E266 E322 E60D E635 E63A E63C E8D6 E94D EBA3 EC17 ED36 EE69 EE73 EE76 EE8E F070 1 5 4 du Channel s own Data Buffer 02 03 celle du Descriptor Buffer en 04 05 celle du d but du General Buffer en 06 07 et enfin met jour C083 longueur d une fiche ou 00 et OB flag S R D puis retourne avec Y 00 Sauve sur la disquette le secteur du fichier qui est pr sent dans le General Buffer Lit l enregistrement suivant du fichier Si la fin du fichier n est pas atteinte copie un enregistrement complet type longueur et valeur de la variable du Channel s own Data Buffer charge un second secteur dans le buffer si n cessaire vers le General Buffer 06 07 pointe sur le type la longueur et la valeur du data Ecrit l enregistrement du General Buffer dans le Channel s own Data Buffer en utilisant le secteur suivant si n cessaire XGETCAR attend un caract re au clavier et revient avec ce caract re dans A 596 FD46 FDD9 FE38 FF3D ANNEXE n 2 Routines d int r t g n ral par th mes AFFICHAGE et IMPRESSION Affiche ON BYTE JSR retourne au Ready apr s affichage d un message d erreur Affiche OUT OF MEMORY ERRO
160. an ais MICRODISC et SEDORIC est alors pleinement fonctionnel Deux articles de Geothalls et Taraud En savoir plus sur le SEDORIC dans Th oric 19 avril mai 86 pages 34 38 et SEDUTIL c est utile Th oric 21 juin juillet 86 pages 30 34 feront la joie des curieux On y trouve des outils et des informations indispensables tout oricien s rieux Une comparaison des commandes de SEDORIC et de FTDOS peut tre trouv e dans un article de D Vasiljevic Th oric 28 f vrier 87 page 17 20 Il ne nous semble pas n cessaire de donner la tr s longue liste des commandes de SEDORIC ce DOS tant toujours largement utilis Dernier avatar du MICRODISC Oric International annonce la sortie enfin d un MICRODISC double face pour 2690F Th oric 32 juin 87 rubrique Nouveaut s page 8 En fait il y aura un pisode suppl mentaire Curieusement le syndic en charge des affaires d ORIC continue la vente D but 88 un lecteur 31 2 est propos aux derniers acheteurs jusqu au d but du mois de mai date laquelle la boutique de la rue Victor Mass ferme d finitivement ses portes H49 SEDORIC conna tra plusieurs versions les plus c l bres tant la version 1 006 du 01 01 86 suivie bien plus tard par les versions 2 x et 3 0 B LE JASMIN B 1 JASMIN et TDOS Th oric 2 juillet 84 pages 9 et 14 16 r v le le lecteur 3 Jasmin de la Soci t TRAN disponible au prix de 3590F Ce lecteur simple t
161. ans BUFI est structur ainsi lien coordonn es du descripteur suivant Ici le 0000 pointe sur le secteur n 0 de la piste n 0 ce qui indique qu il n y a pas d autre descripteur car un num ro de secteur ne peut jamais tre nul contient seulement si premier secteur descripteur Le pointeur X est positionn sur ce FF et permet de lire la suite C101 X type de fichier voir manuel page 100 Ici 40 soit 0100 0000 indique qu il s agit d un fichier de type Bloc de donn es 06 1 C102 X et C103 X adresse normale de d but ou nombre de fiches pour un fichier acc s direct Ici C400 est le d but de la BANQUE n 7 en RAM overlay 104 et 105 adresse normale de fin ou longueur d une fiche pour un fichier acc s direct Ici C7FF est la fin de la BANQUE n 7 en RAM overlay 106 et C107 X adresse d ex cution si AUTO 0000 si non AUTO C108 X et 109 nombre de secteurs charger La BANQUE n 7 comporte 4 secteurs d o le 0004 qui figure ici C100 Y et C101 Y liste coordonn es piste secteur des secteurs charger Ici le premier secteur de la BANQUE n 7 se trouve au secteur 1211 0B de la piste n 5 05 le dernier au secteur n 14 OE de cette m me piste Dans un premier descripteur il y a de la place pour 122 paires de 2 octets 51 le nombre de secteurs charger d passe 122 lorsque Y atteint 00 fin BUF1 il faut charger le descripteur suivant dont la structur
162. ans H27 on peut lire En avril galement 1984 ITL Kathmill lance son lecteur Byte Drive 500 l tude depuis juillet de l ann e pr c dente Ce dernier est bien not dans What Micro pour son jeu d instruction tendu mais critiqu parce que son DOS est log sous la m moire cran et risque donc d entrer en conflit avec certains programmes Le BDDOS a t crit par Peter Halford d j auteur des routines cassettes de l ORIC 1 et d Oric Mon A part cette citation aucune trace de ce Byte Drive DOS A noter l annonce du lecteur de disquettes BD500 dans Th oric 4 d cembre 94 page 8 C 2 CUMANA Un v nement qu il convient de noter en juillet 1985 Cumana me courageuse lance son lecteur de disquettes ORIC au prix de 235 H41 Le SUPERDOS 2 2 de Cumana n est autre que l ORIC DOS V1 1 l g rement modifi C 3 MSE ET LE PREMIER DRIVE 5 25 en janvier 1986 preuve suppl mentaire que l ATMOS a t diffus dans d autres pays une firme allemande de D sseldorf MSE propose un lecteur 51 4 pour cette machine H45 Nous ne savons pas si ce drive tait muni d une carte contr leur et si un DOS l accompagnait C 3 LC V ET LE PREMIER DRIVE 3 5 La soci t L C V Revendeur agr ORIC Eur ka 130 route de Corbeil 91360 Villemoisson sur Orge propose un lecteur de disquette 3 5 esclave double t te double densit compatible MICRODISC et JASMIN 2 alimentation int gr e pour 1990F Th o
163. aper en MAJUSCULES S mais pas A pour la commande L de la commande MERGE M mais pas 5 pour la commande SEEK O mais pas A X Y ou P de la commande USER D mais pas S de la commande TRACK 569 Les options S D et R dela commande OPEN ne posent pas de probl me il faut seulement laisser un espace entre OPEN et D Les options qui sont pr c d es d une virgule sont correctement trait es c est dire converties en MAJUSCULE C est le cas de C et N des commandes COPY COPYO et COPYM O de la commande FIELD SS et D dela commande INIT C SE J JK et S pour la commande LINPUT J et N des commandes LOAD et chargement direct A E et T des commandes SAVE SAVEO SANEM et SAVEU A et T dela commande STATUS La validation du drive indiqu apr s les commandes BACKUP DELBAK DKEY DNAME DNUM DSYS INIST INIT OPEN D SMAP SYSTEM et TAKE se passe sans probl me gr ce la routine E60D La validation d un drive sp cifi par un nom de fichier ambigu apr s les commandes COPY DEL DESTROY DIR LDIR PROT REN SEARCH et UNPROT se passe sans probl me gr ce la routine D451 Enfin pour tre complet les commandes delete et using qui taient pr c demment utilisables en minuscules ne peuvent maintenant tre employ es qu en majuscules car elles ont t remplac es par CHKSUM
164. as trouv ou g n re une WILDCARD S NOT ALLOWED ERROR si trouv XSCAT sauve le secteur de catalogue contenu dans BUF3 selon POSNMP et POSNMS Affiche le nom de fichier pr sent POSNMX dans BUF3 606 DOEA D7BD D7CO DASD DA60 DA63 5 1 DA94 DA96 DC80 DD2D E60D 1 5 D34A D44F D451 D79E DA82 DAB4 Lit Y caract res POSNMX dans BUF3 et les affiche Charge dans BUF3 le secteur point par POSNMP et POSNMS puis ex cute XBUCA XBUCA transf re le nom de fichier contenu dans BUFNOM dans le secteur de catalogue contenu dans BUF3 la position POSNMX pour mise jour de l entr e de catalogue sur la disquette Charge dans BUF3 le secteur point par POSNMP et POSNMS puis ex cute XCABU XCABU transf re dans BUFNOM le nom de fichier contenu dans le secteur de catalogue plac dans BUF3 la position POSNMX Comparaison du nom cherch BUFNOM et du nom point par X dans le catalogue BUF3 V rifie que la disquette en place est bien une disquette SEDORIC cherche le fichier dans le catalogue revient avec le bon secteur de catalogue en place de coordonn es POSNMP et POSNMS et avec X POSNMX pointant sur l entr e cherch e ou avec Z 1 si le fichier n a pas t trouv XTVNM cherche sur le lecteur courant le fichier dont le nom est indiqu dans BUFNOM A la sortie POSNMX POSNMP et POSNMS contiennent la position du nom dans le catalogue BUF3 et Z
165. ates a Write Fault This bit is reset when updated found When set it indicates the desired track sector or Side were not found This bit is reset when updated if b4 is set an error is found in one or more ID fields 558 commands The user ha control or DR is read automatical The busy bi determine w When using read of the reset the I STATUS REGI TYPE I COMMANDS not ready wr protect head loaded seek error CRC error track 0 index pulse busy Not ready Protected Head loaded Seek error CRC error Track 00 Index Busy Not ready Protected Record Type Record not CRC error b7 b6 5 b4 3 2 bl LO b7 b6 5 54 3 2 bl 50 b7 b6 5 54 therwise it indicates error in data field This bit is eset when updated hen set it indicates the computer did not respond to RO in one byte time This bit is reset to zero when pdated his bit is a copy of the DRQ output When set it ndicates the DR is full on a Read operation or the DR s empty on a Write operation This bit is reset to zero hen updated hen set command is under execution When reset no command is under execution 559 2 8 2 ER Lost data Data ReQuest Busy 2 bl 50 ANNEXE n 12 System F A Q Informations recueillies sur oric lyghtforce com Contribution de Fabrice Franc s Voir aussi les articles de Fa
166. ation des minuscules pour entrer les commandes SEDORIC ca ne marche pas tous les coups nombreuses bogues Le nom des commandes SEDORIC contenant un token BASIC a t bien g r voir la table des mots cl s en CODE CBBA Mais certaines commandes SEDORIC exigent en outre un token BASIC pour satisfaire leur syntaxe et l rien n a t pr vu Cela ne pr te pas cons quence lorsqu il s agit de commande DELETE lecteur gt commandes RSET et LSET lt commande NC variable amp commandes NL et NL commande LINPUT et PRINT commande EXT mais c est catastrophique pour AUTO commandes SAVE et STATUS TO commandes REN BACKUP COPY CHANGE et FIELD END commande NUM ELSE GOTO et THEN commande NEXT commande RESUME LPRINT commande WIDTH DEF commande USER et enfin la commande RESTORE La pr sence des octets correspondant ces caract res et tokens est demand e TXTPTR par la routine D22E Cette routine n effectue bien s r aucun contr le ni aucune conversion Elle est utilis e aussi pour d tecter la pr sence de certaines options mais pas de toutes Par exemple pour la commande USER et O doivent tre tap s en MAJUSCULES par contre A X Y et P sont accept s en minuscule Ces 4 derni res lettres sont lues par la routine D398 qui lit un caract re TXTPTR avec conversion en MAJUSCULE Voici une liste des options qu il faut absolument t
167. brice Broche dans MICR ORIC et notamment Bonjour les MICRODISQUES dans le n 6 pages 35 41 Un grand nombre de questions se posent comment l EPROM du MICRODISC est elle valid e connect e puis invalid e Est il possible de se re connecter sur cette EPROM apr s le boot pour la lire par exemple et comment Existe t il plusieurs versions de cette EPROM du MICRODISC les EPROM des autres contr leurs supportant SEDORIC sont elles identiques ou simplement compatibles Quel impact cela a t il sur le fonctionnement de SEDORIC apr s le boot Serait il possible d avoir dans l EPROM du MICRODISC un syst me minimum permettant de formater des disquettes de lire et crire des fichiers afin de d velopper des jeux ou des applications pour lesquels SEDORIC n est pas forc ment indispensable Ceci permettrait de r cup rer la RAM overlay et la page 4 qui ne seraient plus utilis s par SEDORIC Ces nouvelles applications disposeraient alors de la RAM de 0400 FFFF RAM permanente RAM overlay Les disquettes seraient alors r duites jouer le r le de simple cartouches Pour ce faire serait il possible d utiliser une EPROM de MICRODISC de 16koctets O puis je trouver des informations 1 Est il possible de se re connecter sur du MICRODISC apr s le boot pour la lire par exemple et comment Oui c est tr s simple il suffit de mettre z ro le b7 de l adresse 0314 0 2 EPROM s lectionn e 1 EPROM inhib e Un article de
168. cation ces options ne doivent pas tre utilis es conjointement non corrig E6C1 E6CF commande STATUS absence de v rification du type de fichier avant de forcer le flag AUTO non corrig ESCE E8D5 commande TKEN il y a ici une bogue potentielle car au moins un caract re est crit m me si la longueur de la chaine set nulle L octet lu en 0035 FF 0134 sera crit dans la zone des chaines et crasera un octet d une autre chaine non corrig E9DE E9EC commande RESUME lors du rajustement de TXTPTR sur l instruction ayant caus l erreur la routine cherche un octet cette proc dure est dangereuse car la valeur 43A peut ainsi tre le HH d un n de ligne et alors bonjour le plantage non corrig EB25 EB90 la commande NUM n effectue aucune v rification de la validit des param tres Il est donc possible de placer dans TRAVNUM et m me dans TRAVPAS une valeur sup rieure 63999 qui est la limite maximale des n de ligne BASIC attention ce que vous tapez non corrig ED3C ED51 grosse bogue de LINPUT qui provoquait un grave probl me de gestion du curseur Ceci apparait lorsque la longueur de la chaine demand e d passe 38 caract res Les fac ties du curseur sont quasi impr visibles et rendent impossible l utilisation coup s r du param tre 9 x y Corrig en 5 et EA36 F210 F233 commande WINDOW la v rification du type de fichier intervient apr s son chargement en RAM overlay en cas d e
169. ce descripteur SEDORIC labore un descripteur suivant dont la structure est simplifi e Octets 00 et 01 Lien avec le descripteur suivant s il existe Octets 02 liste des coordonn es piste secteur pour 127 secteurs au maximum dans un descripteur de ce type Pour les fichiers merg s form s en fait de plusieurs fichiers la queue leu leu le lien du dernier descripteur de chaque fichier indique les coordonn es du premier descripteur du fichier suivant Le premier 505 descripteur du premier fichier est alors appel descripteur principal et ce sont ses coordonn es qui seront indiqu es dans l entr e du directory 2 BITMAP SEDORIC a ensuite indiqu dans le premier secteur de bitmap que ce fichier a t crit Seuls les octets suivants ont t modifi s Piste 20 Secteur 2 avant Piste 20 Secteur 2 apr s 00 FF009509 00005010 01200000 0 00 FF008509 01005010 01200000 0 10 00000000 00000000 00000000 10 00000000 00000000 00000000 0000F8FF 20 FFFFFFFF FFFFFFFF FFFFFFFE 20 FFFFFFFF FFFFFFFF FFFFFFFF FFFFFFFFE 30c FFFFFFFF FFFFFFFF BO6DFFFF FFFFetc 30 FFFFFFFF FFFFFFFF BO6DFFFF FFFFetc Octets 02 et 03 Nombre de secteurs libres ici 85 et 409 pour 0985 2437 au lieu de 95 et 09 pour 0995 2453 Octets 04 et 05 Nombre de fichiers en tout ici 01 et 00 soit 0001 Octet 08 Nombre de secteurs de directory Ici on avait 01 car m me pour une disquette vie
170. cepte les noms de fichiers contenant un mot cl du BASIC par exemple ZORGON Th oric propose dans son num ro 6 de mars 85 page 47 50 un article intitul Analyse de disquettes avec le programme ANADIS qui permet d explorer les disquettes du DOS V1 1 On y trouve de nombreuses indications Voir aussi plus loin les articles de Fabrice Broche consacr s une comparaison entre le DOS V1 1 et l XL DOS Domptez votre MICRODISC Th oric 8 mai 85 pages 40 43 et Th oric 9 juin juillet 85 page 45 et 46 Comme dans le cas des autres DOS pour ORIC l ORIC DOS V1 1 a probablement connu des volutions et diff rents num ros de version au minimum il existe des versions 1 1 et 1 13 Dans Th oric 4 d cembre 84 page 3 un nouveau DOS ORIC est annonc qui serait peut tre chang gratuitement contre le DOS V1 1 mais toujours sans aucune r f rence pr cise Il s agit vraisemblablement du RANDOS Notez qu une certaine confusion alors li e la sortie quasi simultan e du XT DOS voir plus loin chez Micro Programmes 5 au prix annonc de 450F toujours sans aucune r f rence pr cise sinon qu une capacit de 210 Ko face avec une vitesse r elle de chargement de 10 5 Ko s A 2 ORIC PRODUCTS INTERNATIONAL ET RANDOS Micr Oric 7 f vrier 85 titre LE STRATOS ET LE RANDOS REVELES Rappelons que Micr Oric c est ORIC FRANCE alias A S N le fameux importateur ORIC est toujours anglais et ces annonces sont
171. ces deux commandes ne pose pas de probl me condition de suivre les indications ci dessous 584 Avec un SEDORIC patch voir ANNEXE concernant le PATCH 001 l appel ces commandes se fera de mani re transparente pour l utilisateur au prix d une l g re pause dans l ex cution du programme Pour ajouter une nouvelle commande 1 Formatez une disquette SEDORIC V3 0 Master INIT A 17 42 S vous devez obtenir 607 free sectors et 0 files Ce sera votre disquette cible elle s appellera SEDO3A Pr parez une seconde disquette avec vos outils pr f r s moniteur diteur de disquette etc Ce sera votre disquette de travail elle s appellera 550035 Effectuez une copie de SEDO3A que vous appellerez SOS Placez SEDO3A dans le drive A et SEDO3B dans le drive B et re bootez sinon adaptez les indications votre configuration 2 R cup rez les fichiers syst mes existants SAVE A NOYAU As11400 Eft 17FF ce qui fera 61 secteurs SAVE BANQUEI1 A C400 E C7FF 5 secteurs SAVE BANQUE2 A C400 E C7FF 5 secteurs SAVE BANQUE3 A C400 E C7FF 5 secteurs SAVE BANQUE4 A C400 E C7FF 5 secteurs SAVE BANQUES A C400 E C7FF 5 secteurs SAVE BANQUE6 A C400 E C7FF 5 secteurs SAVE BANQUE7 A C400 E C7FF 5 secteurs Votre directory indique maintenant 511 secteurs libres et 8 fichiers Maintenant il suffit de modifier les coordonn es des descripteurs de ces fichiers pour qu ils correspondent aux fichiers systeme Pour cela l aide d un
172. cherche de fa on s quentielle la premiere qui est libre Ceci vaut aussi bien pour un nouveau secteur descripteur data et m me directory lorsque les secteurs de directory r serv s sont pleins que pour une nouvelle entr e dans les secteurs de directory Dans une disquette o certains fichiers ont t effac s il reste des trous que SEDORIC utilise donc en priorit Voici une illustration du passage la deuxi me face Directory apr s Drive A V3 Mst XX XX XX FICHIERO1 COM 16 FICHIERO2 COM 16 FICHIERO3 COM 100 FICHIERO4 COM 100 FICHIERO5 COM 100 FICHIERO6 COM 100 FICHIERO7 COM 100 FICHIEROS8 COM 100 FICHIERO9 COM 100 FICHIER10 COM 100 FICHIER11 COM 100 FICHIER12 COM 100 FICHIER13 COM 100 FICHIER14 COM 100 1221 sectors free D 80 16 14 Files Piste 20 Secteur 2 apr s 00 00 504 0E005010 01D00000 0 00000000 00000000 00000000 00000000 0 00000000 000000F8 FFFFFFFF FFFFetc Piste 20 Secteur 3 apr s 00 FF00000A 00005010 01D00000 00000000 10 FFFFFFFF FFFFFFFF FFFFFFFF FFFFetc Piste 20 Secteur 4 apr s 00 0000F000 00000000 00000000 00000000 10446494348 49455230 31434F4D 06041040 FE p H IERO 10 0 M 20 46494348 49455230 32434F4D 07041040 B E CH 2 30 46494348 49455230 33434F4D 08046440 IERO 3COM 40 46494348 49455230 34434F4D 0 086440 IERO 4 50 46494348 49455230 3543440 15046440 E De IERO 5COM
173. command 57 50313 programs the track wanted SE2BC CPY BCS CPY BCC LDA AND STA JMP commands 20 29 10 29 01 CO 13 3 BC 2 T type T E28F CO E291 0 E293 CO E295 0 E297 AD E29A 9 E29C 8D E29F 4C e Ck Ck Ck k k k k k k k k k k k k k k k k k k k k k k k k k k k k k k k k k k k k k k k k k k k k k k k k k k k k k k k k k k k k k k k k k k k k x x updates the track register if needed then recognizes the command 5 005 E337 updates the track register if needed 5 325 now recognizes the command 520 C005 SE28F type I commands SE2C3 type commands SE31C read write track commands 510 C005 SE2E6 read address id command no So it is a force interrupt command k k k k k k k k k k k k k k k k k k k k k k k k k k k k k k k k k k k k k k k k k k k k k k k issues the FDC command and waits for its completion interrupt raised upt handler will return to the caller routine E393 issues the command 5 2 1 waits LDY JSR BCS JSR CLC CLI BCC 05 CO 37 3 7B 20 05 DE 10 67 10 05 2A 93 183 FE E AC 20 BO A9 2C 10 50 DO A9 2C the interr E2A2 25 8 E2AA E2AC E2AF E2B1 E2B3 5 E2B7 E2BA bi Ed bi Bd se we e Ck Ck CK CC k k k k k k k k k
174. controlling double sided drives Processor interface The address bits A1 and A0 combined with the signals R W are interpreted as selecting the following registers Al 0 Read Write 0 0 Status Register Command Register 0 1 Track Register Track Register 1 0 Sector Register Sector Register 1 1 Data Register Data Register On Disk Read operations the Data Request is activated when an assembled serial input byte is transferred in paralled to the Data Register This bit is cleared when the Data Register is read by the processor If the Data Register is read after one or more character are lost by having not transferred into the register prior to processor readout the Lost Data bit is set in the Status Register The Read operation continues until the end of sector is reached On Disk Write operations the Data Request is activated when the Data Register transfers its contents to the Data Shift Register and requires a new data byte It is reset when the Data Register is loaded with new data by the processor If new data is not loaded at the time the next serial byte is required by the floppy disk a byte of zeroes is written on the diskette and the Lost Data bit is set in the Status Register At the completion of every command an INTRO is generated INTRO is reset by either reading the status register or by loading the command register with a new command In addition INTRO is generated if a Force Interrupt command condition is met Comma
175. correspondant l exemple ci dessus FF 00 CA 02 00 00 2A 11 01 2A 00 00 00 00 00 00 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF etc Cet exemple provient toujours de la m me disquette Master vierge format e en 42 pistes de 17 secteurs simple face Les 247 octets qui diff rent de leur homologues de la version 1 006 sont indiqu s en gras j ai abr g En effet l origine ce secteur tait r serv occup mais non utilis Il tait rempli de 00 Maintenant la plupart des octets valent pour indiquer par d faut des secteurs libres La premi re ligne est identique celle de l autre secteur de bitmap l exception des octets n 2 et 3 qui indiquent le nombre de secteurs totaux ici 02CA 714 soit 17 x 42 au lieu du nombre de secteurs libres 8025 607 soit 714 607 107 secteurs utilis s par SEDORIC sur une disquette Master de la version 3 0 495 0000 0010 Dump du secteurs n 4 de la piste n 14 n 20 DIRECTORY Exemple de Directory pour l tude des diff rentes sortes de descripteurs Drive A V3 Mst XX XX XX E DOC 259 DOC 514 D 5 A DOC 3 B DOC 4 5 DOC 2 G DOC 9 PETIFICHA DSC 2 PETIFICHB DSC 2 PETIFICHC DSC 2 GROSFICHD DSC 4 GROSFICHE DSC 4 PETIFICHM DSC 4 GROSFICHM DSC 7 250 sectors free 2 42 17 14 Files Le fichier G DOC est form des fichiers A B et C merg s Le fichier F DOC est form des fichier
176. da Ded oce b d rae pees S T RON EDEN 584 Routines d int r t g n ral ordre chronologique 587 596 Routines d int r t g n ral par th mes 597 610 Directories de la disquette SEDORIC V3 006 patch e 001 et 002 623 Directories de la disquette TOOLS V3 006 patch e 001 et 002 623 625 Tables et 222 4 22 wg de RE MM es cef tins 626 et 627 Tables des Mati res 222 2 IA EET 628 et 629 627 ANNEXE n 6 Table des mati res ZXyant propOs s OVES Mets Ce DN S NUR Se un WE S LN RR lle Ce DRE Rs 3 Comment lite Ce Vie o d s un Dx nee EE El 4 Nouveaut s de la version 3 0 us esser AGO hee AR ce TUE eee issues 5 La 5204 ated adie ERR md pes elo eA hee 7 Analyse des commandes SEDORIC 7 Buffer BURI EE 16 Butler 2 BUE2 eX erede MOM ER I ea xe ck wa 17 B3 0 eda UD a DE A dod D ege doa De AU M ULP I des CAD a dad 18 BANQUE NO 2st uba ER QU EC uwa alg dae 19 Initialisation SEDORIC c oed pSNCCEPELERI EP AG de VES ste d e e 19 Source de la page 4 versionORIC 1 52 22 uoo Ls EU a eda SE 25 Source de la page 4 versi
177. de LIST simplifi e JSR C952 ROM ex cute la commande RESTORE du BASIC JSR CA73 ROM ex cute la commande IF JSR CB39 ROM affecte un nombre une variable JSR D1E8 ROM cherche l adresse de la valeur d une variable dont les 2 caract res significatifs sont indiqu s en B4 B5 JSR D5AB ROM r serve une place en m moire pour une cha ne de longueur Sauvegarde la longueur en DO et l adresse 2 JSR E37D ROM g n re un nombre entre 0 et 1 en FA JSR F110 ROM ex cute la commande DRAW XROM ex cute partir de la RAM une routine ROM Le JSR XROM doit tre suivi dans l ordre de l adresse de la routine pour la V1 0 puis de l adresse pour la V1 1 XMAJSTR copie l adresse et la longueur d une chaine alphanum rique les 3 octets DO 1 et D2 en B6 B7 et B8 XCSTR copie la longueur et l adresse d une chaine alphanum rique les 3 octets DO DI et D2 dans la variable BASIC point e en B8 B9 et BA ROUTINES SYSTEME Handler d IRQ sous programme vectoris en FFFE NMI sous programme vectoris en FFFA JSR EDEO ROM autorise IRQ gestion clavier et curseur Recherche et met jour les variables syst me Valide le drive s il est indiqu TXTPTR sinon valide DRVDEF GESTIONS des LECTEURS de DISQUETTES XRWTS acc s la routine de gestion des lecteurs X contient la commande En sortie Z 1 si pas d erreur Z 0 sinon 1 si la disquette est prot g e en criture DRIVE PISTE 605 DIAC
178. de caract res normaux descend de la ROM dans la RAM JSR 00E2 ROM incr mente TXTPTR et lit un caract re CHRGET Les espaces sont saut s Z 1 si fin d instruction O ou C 0 si caract re chiffre 0 9 soit 30 39 sinon C 1 Y et X inchang s JSR 00ES ROM lit le caract re TXTPTR CHRGOT Les espaces sont saut s Z 1 si fin d instruction 0 ou C 0 si caract re chiffre 0 9 soit 30 39 sinon C Z1 Y et X inchang s XCRGET incr mente TXTPTR lit un caract re CHRGET les espaces sont saut s le met dans A le convertit en MAJUSCULE Z si fin d instruction 0 ou C 0 si chiffre O 9 soit 30 39 sinon C 1 Y et X inchang s identique au CHRGET du BASIC mais en plus convertit les minuscules en MAJUSCULES XCRGOT relit le caract re TXTPTR sans incr menter TXTPTR puis le convertit en MAJUSCULE les espaces sont saut s Z 1 si fin d instruction 0 ou C 0 599 EE76 DIBC D1C4 D25C D292 D302 D30A D31A D322 D32A D332 D33A D342 D398 D39E si caract re chiffre O 9 soit 30 39 sinon 1 Y et X inchang s identique au CHRGOT du BASIC mais en plus convertit les minuscules en MAJUSCULES Demande un ESC C 1 ou un RETURN C 0 Idem mais limine l adresse de retour si ESC XLKEY prend un caract re au clavier entr e sp ciale LINPUT XKEY prend un caract re au clavier entr e g
179. de la table CCF7 dans BUFNOM Affiche X 1 me message d erreur externe termin par un caract re 128 590 D2C2 D2CA D2D2 D2DA D2E2 D2EA D2F2 D2FA D302 D30A D312 D31A D322 D32A D332 D33A D342 D34A D35C XAFSC affiche le 1 me message externe termin par caract re 128 EXTMS doit contenir l adresse 1 du premier message Affiche le 1 me message situ en CEE7 et termin par un caract re 128 Affiche le 1 me message situ en CDBF et termin par un caract re 128 Entr e r elle affichage X 1 me message de zone 1 termin par un caract re 128 XCRGET incr mente TXTPTR lit un caract re les espaces sont saut s le met dans A le convertit en MAJUSCULE Z 1 si fin d instruction O ou C 0 si chiffre 0 9 soit 30 39 sinon C 1 Y et X inchang s identique au CHRGET du BASIC mais en plus convertit les minuscules en MAJUSCULES XCRGOT relit le caract re TXTPTR sans incr menter TXTPTR CHRGOT puis le convertit en MAJUSCULE les espaces sont saut s Z 1 si fin d instruction 0 ou C 0 si caract re chiffre O 9 soit 30 39 sinon C 1 Y et X inchang s identique au CHRGOT du BASIC mais en plus convertit les minuscules en MAJUSCULES XminMAJ convertit si n cessaire en MAJUSCULE le caract re dans A XNF lit un nom de fichier non ambigu TXTPTR et l crit dans BUFNOM
180. difier suivi d un LOAD A en m moire basse modifier cette zone l aide d un moniteur assembleur d sassembleur classique la resauver utilisez les adresses en m moire basse la recharger en RAM overlay l aide d un LOAD A et enfin p renniser votre travail l aide d un INIT qui recopiera sur disquette le code pr sent en RAM overlay La deuxi me m thode est un peu plus longue que la premi re mais beaucoup plus ais e et confortable 562 Voici la liste des logiciels moniteur assembleur d sassembleur qui ont t adapt s pour fonctionner avec SEDORIC que j ai test s et qui peuvent tre obtenus au avec entre parenth ses l auteur de l adaptation qu ils en soient remerci s mes excuses pour les oublis et omissions Automon de Andr Ch ni re D Henninot Hades de ERE Informatique D Henninot S dutil de F Taraud D Henninot Supmon et Supdes de J P Laurent semble tre le code originel et Assembleur de Micrologic Frangois Launay Il serait pratique de cr er une BANQUE n 8 contenant un utilitaire de ce type 563 ANNEXE n 14 Utilisation d une commande SEDORIC sans argument partir d un programme crit en langage machine Vous pouvez utiliser la routine 04F2 comme indiqu l ANNEXE 10 Par exemple pour ex cuter la commande SEDORIC OLD il suffit d ins rer dans votre programme Langage Machine la s quence JSR 04F2 JSR EOAF JSR 04F2 simple non Tapez le petit programme qui su
181. ds Il est alors possible de d chiffrer la bitmap l oeil nu Apr s ce formatage un DIR r v le qu il y a 2453 secteurs de libres sur cette disquette Si lon boote de frais avec cette disquette et que l on sauve un fichier fictif avec un SAVE FICHIERO1 A 1000 E 1 EFF la commande DIR indique alors 2437 secteurs libres et un fichier de 16 secteurs La longueur du fichier est tout juste de 15 secteurs de data plus 1 secteur de descripteur 16 secteurs 504 Analyse des changements intervenus dans la disquette 1 DESCRIPTEUR SEDORIC a t la recherche dans la bit map du premier secteur libre de la disquette il l a trouv au quatri me secteur de la piste num ro 6 et y a crit le descripteur du nouveau fichier conform ment la structure suivante Piste 6 Secteur 4 avant Piste 6 Secteur 4 apr s 00400000000 00000000 00000000 00000000 00 0000FF40 0010 1 00000F00 06050606 10 00000000 00000000 00000000 0 10 06070608 06090602 060350606 060D060E 20 00000000 00000000 00000000 2 20 060F0610 07010702 07030000 2 Octets 00 et 01 Lien avec le descripteur suivant ici 00 00 ce qui indique qu il n y en pas car un secteur ne peut jamais avoir le num ro z ro Ce lien n est utilis que pour les gros fichiers plus de 122 secteurs de data Lorsqu il existe il est constitu du num ro de piste puis du num ro de secteur o se trouve le descripteur suivant Octet 02 Ici toujours FF pour un premier descripteu
182. e Re bootez et testez Par exemple PROT prot ge vos fichiers sans rien demander bien que la commande PROT soit dans la BANQUE n 7 Attention ma modification est m me brutale car contrairement ce qui se passait avant nous n avons plus a taper RETURN ni ESC Conclusion Comme vous le verrez le fonctionnement de SEDORIC est consid rablement am lior par cette petite modification de rien du tout L appel aux BANQUES devient compl tement transparent SEDORIC utilise maintenant 48 RAM 16 ROM 16 RAM overlay 7 BANQUES 87 koctets sans que vous le remarquiez Ce patch marche aussi avec le kit STRATORIC 477 ANNEXE n 5 Patch 002 Correction de la gestion de PB5 Notre ATMOS est d cid ment une petite machine merveilleuse simple et ouverte Il est possible d en comprendre chaque d tail A force de scruter cette petite chose nombre d entre nous ont pu constater qu une des pattes du VIA 6522 est non connect e d origine Il s agit de la ligne PBS Port B bit n 5 C est b te de laisser non utilis e quelque chose d aussi pr cieux qu une ligne d entr e sortie Encore faut il que SEDORIC sache respecter cette ligne PB5 dont il n avait que faire jusqu ici Nous allons lui apprendre Nature du probl me PB5 n ayant jamais t connect personne ne s en est souci R sultat beaucoup de programmes massacrent PBS Je veux dire que lorsqu un programme crit sur le Port B il modifie de mani re erratique
183. e BANQUE externe 356 Note sur les coordonn es colonne ligne ORIC 1 ATMOS SEDORIC 363 Gestion de aber EE aS eee 374 Table des vecteurs systeme FF43 FFC6 en ee Sige Ee et SE wc 456 8 6 146 458 461 465 484 486 488 Troisi me Partie pages 460 630 ANNEXES gt 0002 00 00 that x X ORTU SUE 460 ANNEXE n 1 SEDORIC V2 E KAN ENEE A 401 ANNEXEn 2 6000016 20 ENEE 463 3 SBDORIC VAU0 ut on py tah dee haw talent tandis ati 465 ANNEXERHCRPBATCELOUD e Mae pa We nn og 475 ANNEXE n 5 PATCH 002 4 be A E 478 ANNEXE n 6 Que se passe t il lors du boot EEN e eme etant AT ERA HE E 482 ANNEXE n 7 Rappel de la structure des disquettes SEDORIC 484 ANNEXE n 8 Que se passe tal lors d un SAVE 7 ege beats X Ea ea 504 ANNEXE n 9 Que se passe t il lors d un DEL 511 ANNEXE n 10 Listing de du MICRODISC 517 ANNEXE TIEeFDC 793 sy qi bens 549 ANNEXE re Sk eg Ee PH ice SM SE DA Le OT Z a 560 ANNEXE n 13 Exercices de passage ROM lt gt RAM overlay
184. e charg s sans le LOAD simplement avec du fichier Micr Oric 7 page 39 Certains utilitaires sont livr s sur la disquette Master par exemple OLD COM L ensemble ATMOS MICRODISC cause bien des soucis non seulement du point de vue mat riel notamment parce que le signal d horloge de l ATMOS est an mique que du point de vue logiciel vecteur 1 HIMEM Micr Oric 7 page 38 LLIST programmes LM d une part apr s le boot c est la RAM overlay qui reste valid e salut les appels la ROM d autre part le RTS final plante voir Micr Oric 5 page 35 variables syst me mal initialis es telle la longueur de ligne cran mise 80 au lieu de 40 voir Micr Oric 5 page 34 Le DOS 1 1 a fait l objet de plusieurs utilitaires pour rem dier ses manques ou ses bogues notamment ceux de Denis Sebbag DISK SEARCH est une sorte de UNDELETE pour r cup rer les fichiers accident s Micr Oric 5 Et 84 page 21 INITIALISATION est une sorte de menu 612 Micr Oric 5 page 23 Enfin et surtout SUPER DOS qui permet d diter l ORIC DOS V1 1 et d en faire un ORIC DOS 1 15 MicrOric 5 page 24 Le nouveau fichier SYSTEM DOS occupe 46 secteurs 7300 A030 ex cution en A000 La capacit des disquettes est port e de 160 176 Ko par face soit 44 pistes de 16 secteurs au lieu de 40 pistes Ceci gr ce la nouvelle commande CONF moyennant une bogue apr s un il faut faire un POKE 500 0 Le nouveau DOS ac
185. e de la disquette DUMP6 Dans les deux cas les octets qui diff rent de l tat initial de la disquette DUMP3 sont indiqu s en gras DUMPS apr s DEL du 14e fichier DUMP6 apr s DEL du 15e fichier Drive A V3 Mst XX XX XX Drive A V3 Mst XX XX XX FICHIERO1 COM 16 FICHIERO2 COM 16 FICHIERO1 COM 16 FICHIERO2 COM 16 FICHIERO3 COM 100 FICHIERO4 COM 100 FICHIERO3 COM 100 FICHIERO4 COM 100 FICHIERO5 COM 100 FICHIERO6 COM 100 FICHIERO5 COM 100 FICHIERO6 COM 100 FICHIERO7 COM 100 FICHIERO8 COM 100 FICHIERO7 COM 100 FICHIERO8 COM 100 FICHIERO9 COM 100 FICHIER10 COM 100 FICHIERO9 COM 100 FICHIER10 COM 100 FICHIER11 COM 100 FICHIER12 COM 100 FICHIER11 COM 100 FICHIER12 COM 100 FICHIER13 COM 100 FICHIER15 COM 100 FICHIER13 COM 100 FICHIER14 COM 100 FICHIER16 COM 100 FICHIER17 COM 100 FICHIER16 COM 100 FICHIER17 COM 100 FICHIER18 COM 100 FICHIER19 COM 100 FICHIER18 COM 100 FICHIER19 COM 100 FICHIER20 COM 100 FICHIER21 COM 100 FICHIER20 COM 100 FICHIER21 COM 100 FICHIER22 COM 100 FICHIER22 COM 100 521 sectors free D 80 16 21 Files 521 sectors free D 80 16 21 Files Piste 20 Secteur 2 DEL 14e fichier Piste 20 Secteur 2 DEL 15e fichier 00 000902 15005010 02000000 0000etc 00000000 00000000 00000000 00000000 AO 20 00000000 00000088 FFFFFFFF FFFFFFFF 7 00000000 00000000 12 EL 15e fichier D Piste 20 Secteur 4 00 1407F
186. e est simplifi e lien coordonn es du descripteur suivant C100 Y et C101 Y liste des coordonn es piste secteur des secteurs charger Y de 02 EF au maximum 127 paires de 2 octets Si le nombre de secteurs charger d passe 122 127 249 il faut charger le descripteur suivant etc octets n 00 01 octet n 02 octet 3 octets n 04 05 octets n 7 octets n 08 09 octets octets n OC FF octets n 00 01 octets n 02 FF 0000 0010 C100 C102 C103 C104 C106 C108 C10A C10C C100 C102 Examinons maintenant les descripteurs de chacun des fichiers qui nous int ressent 00 00 00 00 CO oc D O oc 00 00 e UJ 01 00 05 00 05 00 06 00 00 00 00 00 00 9 00 02 00 00 ros 9 A 00 03 00 00 9 A 00 01 00 00 Petit Fichier 1 seul descripteur 0 1 2 3 4 5 6 7 8 00 00 FF 40 00 10 FF 11 00 00000000000 00 00 00 00 ClFF idem uniquement des z Petit Fichier B 1 seul descripteur D T 2 3 4 S T 8 00 00 FF 40 00 20 22 00 05100000 00 00 00 00 00 ClFF idem uniquement des Petit Fichier C 1 seul descripteur 021 25 3 5 6 7 8 00 00 40 00 30 30 00 00 00 00 00 00 00 00 00 00 1 idem uniquement des 6 Gros Fichier D 3 descripteurs premier descripteur les 2 premiers octets indiquent
187. e la ligne d entr e dans le catalogue ligne sur laquelle figure le nom du fichier et les coordonn es de son descripteur principal Il 511 est noter qu apr s la suppression les secteurs de bitmap et de directory sont redevenus identiques ce qu ils taient avant criture par contre le secteur de descripteur et les 15 secteurs de data n ont pas t supprim s non montr Un peu plus de d tails Lorsqu il efface un fichier SEDORIC ne modifie en fait que les secteurs de bitmap et de directory Le ou les secteurs de descripteurs ainsi que les secteurs de data restent intacts tant qu un nouveau fichier n est pas crit dans les secteurs lib r s serait tout fait possible d crire un programme UNDEL pour r cup rer un fichier effac par erreur Modifications dans la bitmap pour lib rer les secteurs SEDORIC charge le descripteur principal et lit la liste des coordonn es piste secteur de ce fichier et s il y a lieu des fichiers merg s qui lui sont attach s Dans la bitmap il inverse le bit correspondant chacun des secteurs de data et des descripteurs de ce fichier Finalement il d cr mente le nombre de fichiers et met jour le nombre de secteurs libres Modification dans le directory Sauf dans le cas o le fichier supprim tait le dernier de la liste SEDORIC proc de ensuite une restructuration du secteur de directory dans lequel il a effac une entr e Cette restructuratio
188. e la piste A 608 DAS50 DA8A DC6C DC7D DC80 DC89 DC8B DD15 DD2D E266 E635 E63A E63C DASD DA60 DA63 DA65 XPAY charge dans RWBUF le secteur Y de la piste A XPRSEC lit un secteur selon DRIVE PISTE SECTEUR et RWBUF XSCAT sauve le secteur de catalogue contenu dans BUF3 selon POSNMP et POSNMS XSBUFI sauve BUET au secteur Y de la piste A XSBUF3 sauve BUF3 au secteur Y de la piste A Sauve la page X dans le secteur Y de la piste A XS AY sauve la page indiqu e par RWBUF dans le secteur Y de la piste A XSVSEC crit un secteur selon DRIVE PISTE SECTEUR et RWBUF Sauve BUF1 selon DRIVE PISTE et SECTEUR Charge dans BUF3 le secteur point par POSNMP et POSNMS puis ex cute XBUCA Charge dans BUF3 le secteur point par POSNMP et POSNMS puis ex cute XCABU V rifie que la disquette en place est bien une disquette SEDORIC cherche le fichier dans le catalogue revient avec le bon secteur de catalogue en place de coordonn es POSNMP et POSNMS et avec X POSNMX pointant sur l entr e cherch e ou avec Z 1 si le fichier n a pas t trouv XWDESC crit le ou les descripteurs du fichier sauver Revient avec le nombre de secteurs sauver dans NSSAV C05A 5B les coordonn es du premier secteur descripteur dans PSDESC C05C 5D le nombre de descripteurs utilis s dans NSDESC COSE et premier descripteur en place XDEFSA positionne les valeurs par d faut pour XSAVEB en fai
189. e livre aux adresses indiqu es pour comprendre les modifications apport es Le fichier patch 001 est un fichier merg compos de 3 l ments Pour l laborer proc dez comme suit Bootez avec une disquette SEDORIC V3 0 Tapez HIMEM 1F77 Utilisez soit votre moniteur favori soit votre courage pour POKEr la suite 1 Le premier l ment P1 est form de 5 octets situ en RAM overlay de F16D F171 pour la d rivation vers la routine corrective Il sera b ti en RAM de 416D 4171 Pour cela vous pouvez au choix POKEr les 5 octets EA EA 4C ES E6 de 416D 4171 ou assembler le code suivant 416D EA NOP 416E EA NOP 416F 4C E5 E6 JMP E6E5 saut vers la routine corrective Puis tapez SAVE P1 A 416D E 4171 suivit de STATUS P1 A F16D Voil pour la premi re correction 2 Le deuxi me l ment P2 comporte 38 octets de EGE5 E70A en RAM de 36 5 370A pour la routine corrective elle m me POKEz les 38 octets suivants EA EA AD 8D 00 CO A9 00 A0 02 20 60 DA AE 16 C2 DO 7 AE DA C2 E0 33 FO 08 A2 0C 20 6 4C 72 F1 4C FI Ou assembler le code suivant 36 5 370A 36 5 36 6 36E7 AD 0A CO LDA le drive syst me 36EA 8D 00 CO STA C000 devient le drive actif 36ED A9 00 LDA 00 piste 0 36EF 02 LDY 02 secteur n 02 36F1 20 60 DA JSRDA60 XPBUF2 charge dans BUF2 le secteur Y de la piste 36F4 16 C2 LDX C216 drapeau Master Slave 36F7 DO
190. e octet v rifie la validit et g n re une CRC error si besoin Read Track tous les octets de gaps en t tes et data sont lus assembl s et transf r s dans le Data Register etun DRQ est g n r pour chaque octet Il n y a pas de v rification de CRC mais le Lost Data Status Flag peut ventuellement tre mis 1 550 Write Track F0 formate une piste Toutes les informations crire sur la piste doivent tre pr tes en m moire Il suffit alors de positionner la t te sur la piste formater puis d envoyer la commande F0 L criture commence d s qu un octet est POKE dans le Data Register et se continue en suivant des cycles d horloge Attention tous les octets de 00 4 et F8 FF sont crits tels quels sur la piste mais pas les octets de 5 F7 Les F5 sont convertis en et le g n rateur de CRC est initialis Les sont convertis en C2 Finalement chaque F7 g n re 2 octets de CRC Format d une piste Format IBM 34 256 octets secteur Format ORIC 16 17 18 19 secteurs piste Nombre d octets Valeur de l octet Nombre d octets Valeur de l octet 80 4E 40 40 0 0 4E 12 00 12 12 0 0 00 3 F6 crit C2 3 3 0 0 F6 crit C2 1 FC index mark 1 1 0 0 FC index mark 50 4E 40 40 0 0 4 d but de cycle d une piste d but de cycle d une piste 12 00 12 00 3 F5 crit Al 3 F5 crit A1 1 1
191. e texte ne peut videmment pr senter qu un r sum succinct des modifications qui seront trait es en d tail plus loin dans le livre Nous verrons successivement les secteurs de la disquette qui ne sont pas inclus dans les fichiers syst me Puis nous passerons en revue les fichiers syst me qui ont t modifi s NOYAU BANQUE n 2 BANQUE n 5 et BANQUE n 6 et enfin la nouvelle BANQUE n 7 dans son int gralit Les exemples offerts proviennent d une disquette master vierge format e en 42 pistes de 17 secteurs simple face Piste 0 secteur 1 83 octets diff rents VERSION SEDORIC V3 006 01 01 96 Upgraded by Ray McLaughlin and Andr Ch ramy See SEDORIC3 FIX file for information Piste 0 secteur 2 1 octet diff rent COPYRIGHT SEDORIC V3 0 1985 ORIC INTERNATIONAL Piste 20 secteur 1 4 octets diff rents La table de configuration des lecteurs TABDRV devient D2 D2 D2 D2 soit 80 pistes double face pour les lecteurs A B C et D Piste 20 secteur 2 amp 3 250 octets diff rents 466 DOUBLE BITMAP R percute l existence de la nouvelle BANQUE n 7 MODIFICATIONS DANS LE NOYAU qui sera copi en RAM overlay de C400 FFFF C500 Piste 0 secteur 6 1 octet diff rent Modification introduite par Ray signification inconnue C600 Piste 0 secteur 7 amp 8 4 octets diff rents Correction de la BOGUE C700 Piste 0 secteurs 9 et 10 189 173 362 octets diff rents
192. ectories des disquettes patch es SEDORIC V 3 006 amp TOOLS V3 006 DORIC V3 006 P ADDRESS DAT 30P ALPHA COM 14 BDDISK 6P CHKSUM HLP 6P DEMO COM 149P EUPHORIC BK7 65 1 KRILLYS COM 2P MARC COM 98P COM 10 NIBBLE COM 27 NIBBLE2 HLP 6P NIBBLERAY COM 27P ROMORICI COM 66 SECTMAP COM 6P SEDORICI KEY 3P SEDORIC3D KEY 3P STAT COM 3P V20 2P V20 PG2 5P V30NEWSO2 HLP 6P V30NEWSOA HLP 6P V30NEWSOO6 HLP 6P V30NEWSOS HLP 6P VERSION COM 6P WELCOME HRS 33P PATCH 001 6P PATCHHELP 002 6P 56 Files 623 D 80 16 SE Drive A V3 ISK ISKAC IC INIT DORIC3 DORIC3N 0 ONEWSO1 ONEWSO3 ONEWSO5 ONEWSO7 ONEWSO9 RES Mst COM 12 WIN 5P COM 59P COM 59P COM 31P BK6 65 COM 22 B2 157P BIN 2P COM 5P HLP 6P HLP 6P HLP 6P COM 66 BIN 2P DAT 5P FIX 6P KEY 3P 256 130P PG1 HLP 6P HLP 6P HLP 6P HLP 6P HLP 6P HLP 6P 002 4P 001 6P DRESS DRESS D D NVERT SUH PATCH Up ROMATMOS SECTMAP SECTMAP SE SE STRAT3 V2 3 3 3 3 3 V PATCHHELP 1119 sectors free TOOLS V3 006 P 30P 14P 6P 6P 149P 65P 33P 2P 98P 10P 27 6P 27 66P 5P 3P 3P 3P 2P 5P 6P 6P 6P 6P 6P 33P gt
193. ei exi xv ARA x EM AE E e Ret ERE 203 Prendre un caract re au clavier remplace EB78 ROM 221 628 Utilisation d une commande SEDORIC sans argument programme LM Listing de du MICRODISC F A Q Exercices de passage ROM RAM overlay Utilisation d une routine en RAM overlay programme LM Utilisation d une commande SEDORIC avec param tres programme LM Les bogues de SEDORIC Mots cl s SEDORIC Les Codes de Fonctions Futures extensions Routines d int r t g n ral par ordre chronologique Routines d int r t g n ral par th mes Des drives et des DOS pour ORIC Directories des disquettes SEDORIC V3 006 et TOOLS V3 006 Tables et figures Table des mati res 629 Commandes SEDORIC avec quelques routines associ es d usage g n ral Commandes SEDORIC faisant appel une BANQUE externe Note sur les coordonn es colonne ligne ORIC 1 ATMOS SEDORIC Gestion de fichiers Table des vecteurs syst me FF43 FFC6 Copyrights ANNEXES ANNEXE n 1 SEDORIC V2 0 ANNEXE n 2 SEDORIC V2 0 ANNEXE n 3 SEDORIC V2 0 ANNEXE n 4 PATCH 001 ANNEXE n 5 PATCH 002 ANNEXE n 6 Que se passe t il lors du boot ANNEXE n 7 Rappel de la structure des disquettes SEDORIC ANNEXE n 8 Que se passe t il lors d un SAVE ANNEXE n 9 Que se passe t il lors d un DEL ANNEXE n 10 Le FDC 1793 ANNEXE n 12 ANNEXE n 13 ANNEXE n 14 ANNEXE n 15 ANNEXE n 16 ANNEXE
194. ent de l assemblage d un programme avec des tiquettes non d finies Cette ROM contient aussi des routines inutilis es et inutilisables ainsi que des r f rences des tiquettes non d finies Il semble qu l origine les d veloppeurs voulaient avoir ORIC DOS dans cette ROM mais que ce DOS est devenu trop gros De plus il est plus difficile de mettre jour une version en ROM qu une version en RAM donc charg e partir d une disquette Donc l ORIC DOS dela ROM maquille l initialisation du BASIC de l ORIC 1 ATMOS en modifiant les variables des pages z ro et deux et m me en affichant le message de Copyright C est la raison pour laquelle on est tromp au boot lorsqu on pense que le BASIC d marre comme d habitude et bascule de facon magique sur le code de la ROM du MICRODISC Mais ce n est pas tout Le code de la ROM du MICRODISC cherche charger ORIC DOS partir de la disquette Or la structure de la disquette Master qui contient SEDORIC est bien diff rente Si on passe sur certains d tails scabreux ORIC DOS utilise par exemple des enregistrements de taille variable dans les secteurs enregistrements contenant leur propre adresse de chargement le copyright est extrait d un enregistrement factice situ dans le secteur num ro 2 de la piste z ro et les fichiers BOOTUP COM et SYSTEM COM sont cherch dans un directory factice situ dans le troisi me secteur de la piste z ro C est au tour de SEDORIC de tromper
195. es ce qui est un cas unique dans le monde ORIC Voil qui pourrait faire le bonheur de ceux qui sont en train de d velopper une interface IDE pour l ORIC avec l arri re pens e d y installer un disque dur Cette structuration du directory se fait gr ce aux commandes MAKE pour cr er un sous r pertoire et CHANGE pour passer d un r pertoire l autre 613 RANDOS poss de galement les commandes suivantes BACKUP BUILD CLOSE COPY avec de nombreuses options CREATE DEL DEMO DIR ERROR EXTEND FILES FILENAME FORMAT LOAD OLD OPEN OPTION BYTE PUT RECALL REN SAVE SET STORE TYPE WILDCARD Notez que RANDOS dispose d un acc s disque octet par octet ce qui peut tre particuli rement utile pour le traitement de texte et pour les bricoleurs du soft Notez aussi que STORE et RECALL permettent le transfert de donn es d un programme l autre En mati re d information sur les erreurs 42 messages diff rents peuvent tre envoy s Enfin comble du bonheur le mode d emploi de RANDOS apporte aussi la localisation et la description des routines utilis es Un autre article sur RANDOS dans Th oric 7 avril 85 page 57 souligne que le formatage est diff rent de celui du DOS V1 1 mais qu il existe un utilitaire de transfert L article regrette l absence d indication de la taille des fichiers mais souligne les innovations majeures voir ci dessus Comble de malchance le RANDOS
196. essus sous programme FF43 utilis pour XPMAP sous programme FF4A utilis pour INIT sous programme FF4F utilis pour XSMAP sous programme FF51 utilis pour XSMAP sous programme FF94 utilis par le sous programme Cherche un secteur libre sous programme FFD9 utilis par le sous programme A quel bit des bitmaps correspond le secteur AY lib rer Au total 595 bits diff rent entre la version 1 006 et la version 2 0 Ces diff rences incluent aussi 66 octets au secteur 1 de la piste 0 o le copyright SEDORIC V1 006 01 01 86 a t chang en SEDORIC V2 0 08 11 91 Upgraded by Ray McLaughlin to allow 80 track double sided drives 1 octet au secteur suivant SEDORIC V2 0 au lieu de V1 0 et bien s r la quasi totalit du secteur 3 de la piste 20 qui ne contenait que des z ros De plus l octet en 5 t chang F1 devient 42D mais la signification de ce changement m chappe La totalit des am liorations apport es avec la version 2 0 ont t gard es dans la version 3 0 462 ANNEXE n 2 SEDORIC V2 1 Apr s comparaison des disquettes Master 2 0 et 2 1 j ai trouv que 9 secteurs sont diff rents voici donc les additions et corrections que Ray a apport es sa premi re mouture Secteur 1 de la piste 0 40 octets diff rents Correction du message de version qui devient SEDORIC V2 1 22 08 93 Upgraded by Ray McLaughlin to allow 80 track double sided drives D TRACK DNAME a
197. est mis jour que lorsqu il est utilis voir plus loin Piste 20 Secteur 3 2e Secteur de Bitmap Piste 20 Secteur 3 2e Sec de Bitmap 00 FF00000A 00005010 01200000 0 00 FFO00000A 00005010 01200000 0 10 FFFFFFFF FFFFFFFF FFFFFFFE 10 FFFFFFFF FFFFFFFF FFFFFFFE 20 FFFFFFFF FFFFFFFF FFFFFFFE 20 FFFFFFFF FFFFFFFF FFFFFFFF FFFFFFFF 30cFFFFFFFF FFFFFFFF FFFFFFFF FFFFetc 30 FFFFFFFF FFFFFFFF FFFFetc 3 DIRECTORY Enfin SEDORIC ajoute une entr e dans le directory Les octets suivants sont modifi s Piste 20 Secteur 4 ler Sec Directory Piste 20 Secteur 4 ler Sec Directory 00 00001000 00000000 00000000 00000000 00 00002000 00000000 00000000 00000000 10 00000000 00000000 00000000 00000000 10 46494348 49455230 31434F4D 06041040 FICH IERO 1 20 00000000 00000000 00000000 2 20 00000000 00000000 00000000 12 Octet 02 n de l octet de la premi re entr e libre Ici la valeur 10 est chang e en 20 Les caract ristiques du nouveau fichier sont port es sur la ligne 10 1F et le prochain fichier sera d crit partir de 20 Octets X0 a XF Entr e pour le nouveau fichier Dans notre exemple de 10 1F criture des octets suivants Octets X0 X8 nom du fichier compl t droite par des espaces 20 si n cessaire Dans notre exemple de 10 18 on a 46 49 43 48 49 45 52 30 et 31 soit FICHIERO1 Octets X9
198. et VISUHIRES Fautes d orthographe dans les messages affich s UNKNOWN pour UNKNOWN CEAF et CED4 non corrig sectors free au lieu de free sectors en CF34 non corrig Founds pour Found en C7B9c non corrig LINES ALREADY EXISTS au lieu de LINE ALREADY EXISTS en C7EBc non corrig Valeurs incorrectes 4 en C531c et en C550c il faudrait 4F commande CHANGE longueur des chaines non corrig 31 en D71B il faudrait 32 le n d erreur utilisateur minimal est 50 et non 49 non corrig 570 en E558 il faudrait 0B commande REN comparaison des de l ancien nom et du nouveau nom cette comparaison inclut un octet de trop non corrig 4F en E8A7 il faudrait 50 commande TKEN longueur de la chaine le manuel indique 79 caract res non corrig 02 en EA1B il faudrait 03 commande EXT la validit du troisi me caract re de l extension n est pas v rifi e Il est donc possible de mettre n importe quoi comme troisi me caract re Mais attention quand m me ce n est pas sans risque une extension CO est accept e mais les fichiers CO nele seront pas Corrig en C432g apr s d placement de la commande dans la BANQUE n 7 5F en F1D3 il fallait 5E commande INIT pour charger les 94 premiers secteurs de la disquette master et non les 95 premiers Cette valeur a t corrig e pour tenir compte de la nouvelle BANQUE n 7 et vaut maintenant 63 9
199. et son fameux SEDORIC la soci t TRAN se sent oblig e de lancer son JASMIN 2 PLUS Voici un extrait de leur publicit dans Th oric 14 novembre d cembre 85 page 31 La Soci t TRAN a mis au point JASMIN 2 PLUS nouvelle version du fameux JASMIN 2 avec circuit pr diffus permettant une forte int gration des fonctions du contr leur de disquette d o renforcement de la fiabilit accompagn e d une baisse de prix Le prix en question chute en effet 2690F au lieu de 2990F le mois pr c dent le MICRODISC lui est 2490F depuis septembre Le JASMIN 2 PLUS fonctionne aussi avec le FTDOS version C AUTRES DRIVES ET DOS Plusieurs autres syst mes ont t commercialis s Il s agit soit de syst mes complets carte contr leur drive et DOS soit de syst mes utilisant un DOS pr existant ou l g rement adapt soit de simples lecteurs 618 esclaves 5 25 ou 3 5 en g n ral N ayant eu entre les mains aucun de ces drives ni aucun des DOS correspondant nous ne pouvons donner que des indications sommaires et probablement sujettes caution En voici la liste chronologique probablement incompl te 1 Avril 1984 ITL Kathmill lecteur BD500 accompagn du BDDOS 2 Juillet 1985 Cumana et SUPERDOS 2 2 d riv de l ORIC DOS V1 1 3 Janvier 1986 M S E premier lecteur 5 25 4 Mars 1986 I C V premier lecteur 3 5 esclave pour MICRODISC ou Jasmin 5 Mars 1986 Opelco et ROMDOS 1 ITL KATHMILL D
200. eur d extension c est la ROM de la carte m re qui est valid e Pour l ATMOS en FFFC FFFD de cette ROM se trouve l adresse F88F Le microprocesseur 6502 ex cute alors le code qu il trouve cette adresse c est dire la routine COLDSTART Si un MICRODISC est branch sur le connecteur d extension quand le syst me est mis sous tension la carte du MICRODISC d sactive la ROM de l ORIC 1I ATMOS en mettant la ligne ROMPIS du connecteur d extension la masse et valide sa propre ROM Il fait alors un saut l adresse qu il trouve en FFFC FFFD c est dire en EB7E En fait les premiers ORIC 1 sont sortis avec leur ROM sous forme de deux EPROMs de 8koctets et malheureusement le signal ROMPIS n tant connect qu une seule de ces EPROMS en l occurrence IC9 qui correspond la moiti haute de la ROM seules les adresses de E000 FFFF de la ROM de ces premiers ORIC 1 taient inactiv es Une ROM de 8Koctets a donc t utilis e dans l interface du MICRODISC pour raison de compatibilit avec tous les ORIC 1 ATMOS Dans les machines plus r centes o l on utilise une EPROM de 16Koctets pour loger la ROM de la carte m re le ROMBHS inactive toute la puce et donc toute la ROM de C000 FFFF Si c est la carte du MICRODISC qui a invalid la ROM de la carte m re au profit de sa propre ROM et comme celle ci ne couvre que les adresses de E000 FFFF les adresses de C000 DFFF restent dirig es vers la RAM overlay En r sum on a al
201. eur dans le buffer si n cessaire vers le General Buffer 06 07 pointe sur le type la longueur et la valeur du data Ecrit l enregistrement du General Buffer dans le Channel s own Data Buffer en utilisant le secteur suivant si n cessaire 610 F3F3 4 FD46 FDD9 FE38 ANNEXE n 23 Des DRIVES et des DOS enqu te historique l ments pr liminaires Quatre grandes familles de lecteurs de disquettes et DOS associ s peuvent tre distingu es dans le monde ORIC A Le MICRODISC d Oric Products International pour lequel 4 grands DOS ont t d velopp s ORIC DOS V1 1 RANDOS XT DOS XL DOS et SEDORIC B Le Jasmin de TRAN avec le TDOS FTDOS C Divers autres lecteurs dont les plus connus sont ITL KATHMILL BDDOS CUMANA SUPER DOS OPELCO ROMDOS et PRAVETZ BOBY DOS D Enfin le TELESTRAT avec son STRATSED A LE MICRODISC A 1 PRODUCTS INTERNATIONAL ET ORIC DOS V1 1 Et 83 Nos lecteurs MICRODISC sont en phase de finalisation et devraient tre mis en production pour commercialisation vers septembre octobre 83 Peter Harding directeur commercial de Oric Products International cit page 18 dans ORIC l histoire sans fin de Jonathan Haworth not par la suite dans cet expos par la lettre H suivie du num ro de page Le lecteur MICRODISC et le modem sont en bonne voie et pourraient sortir en septembre Paul Kaufman directeur g n ral de Tansoft H19 De fait dans
202. fameuse publicit Maintenant allez y Avec Micr Oric 4 Printemps 84 pages 3 et 62 Th oric 1 avril 84 pages 10 et 32 et Oric Owner 7 avril mai H27 les publicit s se succ deront ainsi que les appellations ORIC MICRO DISC MICRODISQUES ORIC etc Les promesses se multiplient double face double densit qui ne verra le jour que chez Eur ka dont certaines sont assez fantaisistes capacit 160 Ko par face d bit 250 Ko s ou encore 640 Ko format s une seule t te simple densit Et que dire de Evolution possible 4 lecteurs 80 pistes face 3 ou 5 25 mais le premier lecteur doit tre un 3 Voir notamment l interview de Paul Jonhson et Terry Shurwood dans Th oric 1 page 10 qui annoncent entre autres que les nouveaux lecteurs de disquettes sont des 3 5 Hitachi et o l on apprend quand m me que le connecteur est au standard Shuggart La premi re r f rence un DOS pour MICRODISC non nomm mais il s agit sans doute du DOS V1 1 ou d une version ant rieure V1 0 se trouve dans un court article de Micr Oric 4 Printemps 98 page 62 Le syst me d exploitation est fourni sur disquette avec 17 fonctions un mode d emploi et des exemples l cran Liste des 17 fonctions BACKUP CLOSE COPY DEL DIR DRV FORMAT IGET LOAD OPEN PROTECT PUT RECALL REN SAVE STORE et SYS Selon une autre source un gros article de Th oric 2 juillet 84 page 26 8 30 cing de ces commandes s
203. i les caract res de contr les valides CTRL D double hauteur CTRL T minuscules MAJUSCULES CTRL N effacement ligne CTRL Z ESC pour attributs vid o DEL ESC sortie RETURN sortie et fl ches d placement et sortie le manuel oublie le CTRL D Dans le pr ambule concernant la gestion de fichiers page 76 ainsi que pour les commande OPEN 5 OPEN R et OPEN D pages 77 82 et 88 le manuel passe sous silence le pseudo tableau FI de type entier 5 73 qui est r serv et beaucoup plus grave oublie d indiquer qu il est interdit de cr er un tableau avec la commande DIM d s qu un OPEN a t utilis et ceci tant que tous les fichiers ouverts ne sont pas ferm s avec CLOSE Commande amp pour les fichiers de type S cette commande retourne 1 vrai dans tous les cas n si la fin du fichier est atteinte et si ce n est pas le cas retourne soit 0 false si amp n soit le type d enregistrement si amp n C est le contraire de ce qui est indiqu dans le manuel page 81 Utilisation de la zone BFEO BFFF Attention les commandes LINE et BOX utilisent la zone BFEO BFFF en RAM Ceci est un choix malheureux quasiment assimilable une bogue car de nombreux programmes utilisent cette zone pour loger une petite routine en langage machine Toute utilisation des commandes LINE et BOX entrainera donc l crasement de la routine Il y a gros a parier que l utilisateur ne comprendra pas ce qui lui arrive non corrig
204. ie contient un mode d emploi fort clair et d acc s tr s ais L article d taille ensuite 5 groupes de commandes 1 Travail sur disque 2 Aide la programmation 3 Extension BASIC 4 Syst me et 5 Gestion des fichiers de type Matrice S quentiels Acc s direct Chaine et Disque Voici la liste de ces commandes avec entre parenth ses le groupe de commandes correspondant et ventuellement un petit commentaire amp 5 ACCEPT 3 saisie de texte format e ANGLE 3 BACKUP 1 BOX 3 4 autorise les interruptions clavier CLOSE 5 CODE 3 codage chaines BASIC COPY 1 DEL 1 DELETE 2 DIR 1 DISK 5 DRV 1 EXECUTE 3 ex cution chaines BASIC FDEL 5 FEND 5 FIELD 5 FILE 4 fichier par d faut FJUMP 5 FORMAT 1 FSTART 5 FUNC 4 en liaison avec utilitaire DKEY INIT 1 LINE 3 LOAD 1 avec 4 options LSET 5 MERGE 2 MLOAD 5 recharge les tableaux MSAVE 5 sauve les tableaux NUM 2 OFF 4 rend le facultatif OLD 2 ON 4 rend le obligatoire OPEN D 5 ouvre un fichier disque OPEN L 5 OPEN 5 OPEN S 5 ouvre un fichier chaine PRINTER 4 PROT 1 PUT 5 REN 1 RENUM 2 RESET 4 RESTORE 3 ROT 3 RSET 5 SAVE 1 avec 4 options SEI 4 supprime les 614 interruptions clavier SWAP 3 SYS 1 TAKE 5 UPDATE 1 La premi re mention de XL DOS semble se trouver dans Th oric 6 mars 85 page 18 Pour 45
205. ier a t supprim et que son entr e dans le premier secteur de directory a t remplac e par celle du quinzi me fichier La quinzi me et derni re entr e devenue inutile a t surcharg e avec des z ros Puis le deuxi me fichier a t supprim et son entr e a t remplac e par la derniere entr e valide c est dire celle du quatorzi me fichier laquelle devenue inutile a t surcharg e avec des z ros On peut suivre les divers ajustements que cela aentrain dans le premier secteur de bitmap Le nombre de secteurs libres a t ajust 219 537 Le nombre de fichiers t r duit 14 20 Des secteurs ont t lib r s dans les pistes num ro 7 8 64 71 Le deuxi me secteur de bitmap n a pas t affect Le deuxi me secteur de directory non plus Commentaires sur le DUMPO suppression puis criture Le douzi me fichier t supprim et son entr e dans le premier secteur de directory a t remplac e par celle du quinzi me fichier La quinzi me et derni re entr e devenue inutile a t surcharg e avec des z ros Puis le vingti me fichier a t supprim et son entr e dans le deuxi me secteur de directory a t remplac e par la derni re entr e valide c est dire celle du vingt deuxi me fichier laquelle devenue inutile a t surcharg e avec des z ros Puis le vingt troisi me fichier a t crit et son entr e a t mise la premi re place libre
206. ils and the stack fills up restores track O0 and returns status of the previous command T T the recursivity bug shows here the JSR E325 20 B2 E3 JSR SE3B2 E328 AD FE 04 LDA 04FE E32B 58 CLI E32C 60 RTS E2DD BO 4E BCS E32D E2DF EA NOP 280 AD 02 CO LDA 5 002 E2E3 8 12 3 STA 0312 E2E6 98 TYA 207 29 20 AND 520 E2E9 DO 1A BNE 5 05 E2EB 20 93 3 JSR E393 E2EE 58 ELT E2EF AD 18 03 LDA 0318 E2F2 30 FB BMI SE2EF E2F4 AD 13 03 LDA 0313 E2F7 91 STA SFE E2F9 C8 INY E2FA DO F3 BNE SE2EE INC SFF E2FE DO EF BNE SE2EF E300 FO 18 BEQ SE31A E302 EA NOP E303 NOP E304 FA NOP E305 20 93 E3 JSR E393 E308 58 CLI E309 AD 18 03 LDA 0318 E30C 30 FB BMI 5 09 E30E Bl FE LDA FE E310 8D 13 03 STA 0313 E313 C8 INY E314 DO F3 BNE E309 E316 6 FF INC SFF E318 DO EF BNE E309 E31A FO FE BEQ E31A read write track commands handles them like read write sector commands 31C AD 05 CO LDA C005 31F 29 10 AND 10 321 FO C8 BEQ SE2EB 323 00 EO BNE SE305 address id read failed bi Ed bi Bd e we S STA WA DATI GLS PA EDS BOA A ok va IE S QR LN DAS ISG O S SO A OR EE EE UR returns interesting bits of the status 525
207. it 100 DATA 20 F2 04 REM JSR 04F2 110 DATA 20 AF E0 REM JSR 120 DATA 20 F2 04 REM JSR 04F2 130 DATA 60 REM RTS 200 FOR K 9801 TO 980A REM on place ce programme 210 READ V POKE K V REM de 9801 3 980A 220 NEXT Sauvegardez implantez avec un RUN effacez le programme avec un NEW et restaurez le avec un CALL 9801 Un LIST vous persuadera que a marche Si vous pr f rez utiliser un moniteur par exemple Supmon pas de probl me charger ce moniteur tapez 19801 20 F2 04 20 AF EO 20 F2 04 60 lt RETURN gt RETURN 10 REM ESSAI OLD RETURN NEW CALL 9801 LIST 564 ANNEXE n 15 Utilisation d une routine en RAM overlay partir d un programme crit en langage machine Tapez le petit programme qui suit 100 DATA 48 45 AC 4C 4F 20 REM message HELLO 110 DATA 41 4F 44 52 45 00 REM ANDRE termin par z ro 120 DATA 20 2 04 REM JSR 04F2 130 DATA A9 01 REM LDA 01 140 DATA A0 98 REM LDY 98 150 DATA 20 37 D6 REM JSR D637 160 DATA 20 F2 04 REM JSR 04F2 170 DATA 60 REM RTS 200 FOR K 9801 TO 981A REM on place ce programme 210 READ V POKE K V REM de 9801 981A 220 NEXT Sauvegardez ce chef d oeuvre RUN pour implanter CALL 980D pour afficher HELLO ANDRE Vous avez utilis le sous programme XAFSTR situ en D637 en RAM overlay Ce sous programme permet d afficher toute chaine d adresse AY termin e par un z ro Il y a enco
208. it un caract re les espaces sont saut s le met dans A le convertit en MAJUSCULE Z 1 si fin d instruction 0 ou C 0 si chiffre O 9 soit 30 39 sinon C 1 Y et X inchang s identique au CHRGET du BASIC mais en plus convertit les minuscules en MAJUSCULES XCRGOT relit le caract re TXTPTR sans incr menter TXTPTR puis le convertit en MAJUSCULE les espaces sont saut s Z 1 si fin d instruction O ou C 0 602 D219 D21B D21C D224 D22C D22E D238 D274 D27F D292 D2FA D33A D342 D398 D39E si caract re chiffre O 9 soit 30 39 sinon 1 Y et X inchang s identique au CHRGOT du BASIC mais en plus convertit les minuscules en MAJUSCULES XminMAJ convertit si n cessaire en MAJUSCULE le caract re dans A XNF lit un nom de fichier non ambigu TXTPTR et l crit dans BUFNOM XNFA lit un nom de fichier ambigu TXTPTR et l crit dans BUFNOM Valide le drive s il est indiqu TXTPTR sinon valide DRVDEF XSETOFF Teste si le param tre est SET ou OFF retourne avec C 1 si SET ou C 0 si OFF sinon g n re une SYNTAX ERROR OPERATIONS sur ACCI floating point accumulator JSR CF17 ROM value une expression num rique TXTPTR Retourne avec la valeur num rique dans ACCI JSR CF17 ROM value une expression TXTPTR retourne avec une valeur num rique dans et 00 dans 28 ou l adresse d
209. k k k k k k k k k k k k k k k k k k k k k k k k k k k k k k k k k k k k k k k k k k k k k k k k k k k k k x x x 5 156 50 530 S3A SEI2E 506 SEI2E kk k k k k k k k k k k k k k k k k k k k k k k k k k k k k k k k k k k k k k k k k k k k k k k char 5 9 520 5 162 INY LDA CMP BEQ RTS prints a hex byte 56 1 OF 30 3A DO 06 CC E9 20 F9 8 9 9 9 0 9 0 8 1 9 0 0 gt D gt 4 4 4 4 4 2 6 2 0 5 9 6 D 0 6 6 reads next non blank 1162 163 165 167 1169 Tj Se Ne I e Ck k k k k k k k k k k k k k x x x 5 e EU OR UR EE UO EE E TR C a p KIRI interprets decimal and hexadecimal numbers 500 initializes the number read C145 C146 SE9 Y skips any blanks 520 520 DA 7 7 IN CM L S S L A A A Y E D 4 9 D 1 8 9 A 8 8 B 6 e 16A 16C 16F 172 174 1175 5
210. k k k k k k k k k k k k k k k k k k k k k k k k k k k k k k k k k k k k k k k k k k k k k k k k k k k k k k k k k k k x x x command returns error 1 if Write protect flag retries if CRC error or lost data forgets a record not found in multiple sectors operations so a record was not found when reading read first address id encountered can t even read an address id gives up decrements retry counter and tries again restores track 0 523 40 ak A D UJ D E D rd z CO p O lt L LDY JSR STY BCS BPL JSR 40 1 D 10 12 05 10 DO 05 CO 64 E 05 CO 08 CO AC 8C BO 10 20 got an error in a type 7 E268 E26A E26C E26E E270 E273 E275 E277 E27A E27D E280 E282 E285 E287 501 returns an error 1 SE24D LDX SEC BCS E28A A2 01 UJ Lr 38 BO E28C E28D e Ck Ck CK k k k k k k k k k k k k k k k k k k k k k k k k k k k k k k k k k k k k k k k k k k k k k k k k k k k k k k k k k k k k k k k k k k x x x 20 SE2BC Step commands issue them 510 SE2BC restore track 0 command issue it C001 no then it is a seek
211. lacer le JSR D22E par un JSR D22C sinon le s parateur de param tres peut tre non seulement une virgule mais n importe quoi corrig Bogues dans le manuel SEDORIC Le nombre maximum de secteurs par disquette n est pas de 1200 comme indiqu page 37 mais de 1919 Bogue page 62 concernant les lignes utilis es par CREATEW La ligne service et la premi re ligne n 0 ainsi que la derni re ligne de l cran n 26 ne sont pas utilis es Commande ERR en mode direct le n de ligne est FFFF soit 65535 et non 65635 comme indiqu dans le manuel page 59 Erreur dans le manuel page 60 avec RESUME NEXT l ex cution est reprise non pas la ligne suivante mais la commande qui suit celle qui a provoqu l erreur Commande USER le manuel comporte une erreur page 70 dans la syntaxe indiqu e la virgule est indispensable devant DEF les exemples donn s sont eux corrects sinon SEDORIC consid re alors qu il s agit d un param tre utilisateur Erreur dans le manuel concernant ce que retourne la commande INSTR renvoie IN 0 si la chaine examiner est vide ou si la chaine recherch e est vide ou n est pas trouv e et ILLEGAL QUANTITY si la position indiqu e est nulle ou sup rieure la longueur de la chaine examiner LINPUT l option S contrairement ce qui est indiqu dans le manuel page 61 interdit de sortir avec les fl ches de d placement mode par d faut Toujours LINPUT page 61 parm
212. me secteur de disquette 489 Dump du troisi me secteur de disquette 493 Exemple de secteur 1 de la piste 14 20 493 Exemple de secteur 2 de la piste 14 premier secteur de bitmap 494 Exemple de secteur 3 de la piste 14 deuxi me secteur de bitmap 496 Exemple de Directory ananas Tew NS ER 496 Dump du descripteur de la BANQUE n 732 ob ex Ded os Ne Mo ie ace EN d 497 Exemples de descripteurs de fichiers simples 499 501 Exemples de descripteurs de fichiers merg s 501 503 Dumps illustrant la commande SAVE 505 510 Dumps illustrant la commande DEL 2 Ga eme Lus se ea PUR wd 5114516 Listing de MICRODISC date ua diene ered eed 517 548 Commandes du PDC 1793 resas re tox eee eg ee S 549 559 Comparaison des formats de piste IBM et 551 Liste des logiciels moniteur assembleur d assembleur adapt s pour SEDORIC 563 Table des Mots Cl s SEDORIC RS Kee ANEN es 575 et 576 Table des codes de fonctions 5T 583 M moire libre en RAM Overlay a
213. mp INIST bugs fixed also En fait les commandes BACKUP DKEY DNUM et DSYS ont aussi t affect es Secteur 2 de la piste 0 1 octet diff rent Correction du n de version qui devient V2 1 Secteur 5 de la piste 4 18 octets diff rents Correction de la BANQUE n 2 BACKUP De C6D9 C6EF remplacement de la chaine Formating complete par Done soit un gain de 14 octets qui ont permis Ray d ins rer le code suivant partir de C6E2 C6E2 A9 48 LDA 48 quiest le code de PHA C6E4 8D 15 DO STA 2015 remplace un RTS en D015 C6E7 20 CD CF JSR CFCD appel de la routine XRWTS de gestion des lecteurs C6EA A9 60 LDA 860 est le code de RTS C6EC 8D 15 DO STA 2015 remet en place le RTS d origine C6EF 60 RTS fin de la nouvelle routine Ce nouveau sous programme permet d utiliser une routine XRWTS modifi e ceci uniquement lors du positionnement de la t te et uniquement pour lacommande BACKUP sans affecter l utilisation de XRWTS dans les autres cas Ray pourrait il nous clairer sur la raison de cette modification transitoire Secteur 6 de la piste 4 2 octets diff rents Correction de la BANQUE n 2 BACKUP En C7B2 le JSR CFCD routine XRWTS est remplac par JSR C6E2 nouveau sous programme ci dessus Secteur 1 de la piste 5 5 octets diff rents Correction dans la BANQUE n 5 d une bogue cr e par Ray lors de sa modification de D TRACK pour la version 2 0 En C4A3 le BEQ C4D3 est remplac par BEQ C4D1 En C4A
214. n la machine re oit son langage d une cartouche et dispose d un espace m moire tendu gr ce un syst me de permutation de banques en fait deux cartouches sont utilisables La cartouche fournie d origine propose un BASIC super tendu qui contient outre toutes les commandes du BASIC 1 1 de l ATMOS le syst me d exploitation des MICRODISC DOS et 31 commandes suppl mentaires dont nous donnons la liste plus loin Citons encore La compatibilit avec l ATMOS est assur e 100 grace la commande ATMOS tout simplement Passons sur une liste de promesses poustouflantes par exemple futur syst me CP M Revenons sur les 31 commandes suppl mentaires disponibles auxquelles il faut encore ajouter celles du DOS proprement dit dont on ne sait malheureusement rien ABS DRAW commande graphique ADRAW 3D commande graphique ATMOS compatibilit 100 AUTO DELETE DRAW 3D commande graphique DSET 3D commande graphique ECLOAD CLOAD am lior avec contr le de CRC ECSAVE CSAVE am lior ED diteur ELLIPSE commande graphique ENGLISH ENV EVAL FRENCH GDIR pour cartouche de jeu GLOAD pour cartouche de jeu IRS 232 port s rie MOVE 3D commande graphique NOTE PAINT commande graphique RENUM SETFUN touche FUNCT SINPUT port s rie SLIST port s rie SPLOT commande graphique SPRINT port s rie SRECALL communication t l phonique avec un autre STRATOS XLOAD communication t l phoniq
215. n rale XVERTXT v rifie que l on est bien en mode TEXT sinon g n re une DISP TYPE MI SMATCH ERROR r initialise la pile et retourne au Ready XSETOFF Teste si le param tre TXTPTR est SET ou OFF retourne avec C si SET ou C 0 si OFF sinon g n re une SYNTAX ERROR XCHAR s lectionne le jeu de caract res correct normal ou selon MODCLA XSTATUS initialise PAPER INK mode clavier et status console XLINPU routine principale de LINPUT routine de saisie de chaine au retour F4 contient le mode de sortie et DO 21 D2 donne la longueur et l adresse de la chaine dans la zone de stockage des chaines sous HIMEM XVERHRS v rifie si on est bien en mode HIRES sinon g n re une DISP TYPE MIS MATCH ERROR r initialise la pile et retourne au Ready XGETCAR attend un caract re au clavier et revient avec ce caract re dans GESTION des ERREURS Affiche ON BYTE JSR retourne au Ready apr s affichage d un message d erreur JSR C3F4 ROM d cale un bloc m moire vers le haut En CE CF adresse du premier octet du bas en 9 adresse dernier octet du haut en C7 C8 et AY adresse cible vers haut OUT OF MEMORY si adresse cible gt adresse du bas des cha nes A2 A3 revient avec nouveau d but 100 en C7 C8 et nouvelle fin en 0 1 haut des tableaux JSR C444 ROM v rifie que l adresse AY est en dessous des chaines OUT
216. n est en g n ral tr s primitive l entr e supprim e est en fait cras e la derni re de la liste laquelle devenue inutile est alors surcharg e de z ros Si l entr e du fichier supprim tait la derni re d un secteur de directory la quinzi me donc elle est simplement surcharg e de z ros Enfin SEDORIC d cr mente le pointeur de la prochaine entr e libre dans ce secteur de directory Apr s plusieurs DEL l ensemble des secteurs de directory est donc parsem de trous qui sont toujours localis s la fin de ces secteurs de directory Ces trous sont r utilis s en priorit lors d un nouveau SAVE En effet SEDORIC cherche une place en examinant par le d but la suite des divers secteurs de directory R cup ration de secteurs de directory La restructuration est parfois plus complexe Avant de rendre la main lorsque SEDORIC a effac tout ce qu on lui avait demand il calcule combien de secteurs de directory sont n cessaires compte tenu du nombre de fichiers restants S il y a au moins un secteur de catalogue de plus que n cessaire SEDORIC va chercher le dernier secteur de catalogue et en recopie les entr es valides dans les trous des secteurs de catalogue pr c dents Il recherche ces trous en commengant par le premier secteur de directory A l issue de ce transfert l avant dernier secteur de directory devient le nouveau dernier secteur de directory SEDORIC y crit donc des z ros l endroit des coordonn e
217. nd UK DIRS RASTI RARER RRR BRE EKER ER KORR UK UK UK KK TAR E20A A2 0 EE EE EE EE EE EE EE EE LDX OR REE KK KAK DDD E COR OK UR UK KE UK KA KR BRK KERRE 5 CK SE3E3 disables timerl interrupts SE21C the FDC routine itself SE3EB enables timerl interrupts JSR JSR PHP TXA PHA JSR PLA TAX RTS FDC routine E20C 20 3 E20F 20 1C 2 E212 08 E213 8A E214 48 E215 20 EB 3 E218 68 E219 AA E21A 28 E21B 60 COE RR ROR BR TITEL ON GR IE MK C ek ARER BRIERE ARR RR RR E ERR ARRAN KR A command specified in register X itself recursively C005 500 5048 507 5 008 GI 522 FDC routine heart the routine may call thus callers have to save and restore some global variables C005 0008 OR EUR UE DR HR OE SERI S OGNI SAR IER AR EE ee STX PHA TYA PHA LDA STA LDA STA 05 CO 00 FE 04 07 08 CO D OO gt Lo o o o OO E21C E21F E220 E221 E222 E224 E227 E229
218. nd description Command words should only be loaded in the Command Register when th Busy status bit is off Status bit 0 The one exception is the Force Interrupt command Whenever a command is being executed the Busy status bit is set When a command is completed an interrupt is generated and the busy status bit is reset The Status Register indicates whethter th completed command encountered an error or was fault free For ease of discussion commands are divided into four types I II III IV 553 COMMAND SUMMARY models 1791 1792 1793 1794 Type Command b7 b6 b5 54 52 01 bO I Restore 0 0 0 0 h V 0 I Seek D 05 kk Ek 60 I Step O 104 du Ioh Stoen I oStep In 0 0 T h V rl 0 I Step Out 0 GR che Veg 60 II Read Sector 1 00 Sr o9 II Write Sector 1 0 1 m S E III Read Address 1 0 0 0 E 0 0 III Read Track 1 Lo 407 N Bie 0 9 III Write Track 1 12 2 20 7E 20 0 IV Force Interrupt 1 05 52522 cd 0 FLAG SUMMARY Stepping Motor Rate Track Number Verify Flag 0 no verify 1 verify on dest track Head Load Flag 1 load head at beginning 0 unload head Track Update Flag 0 no update 1 update Track Register Data Address Mark 0 FB 1 F8 deleted DAM Side Compare Flag 0 disable side compare 1 enable side comp 15 ms delay 0 no 15ms delay 1 15 ms delay Side Compare Flag 0 compare for side 0 1 compare for side 1
219. nt qu il en reste Ex cute les instructions pr sentes dans le tampon clavier avec l interpr teur BASIC et retour au Ready 200 DATA 2 34 REM LDX 34 XY pour ajuster TXTPTR 0034 210 DATA 0 00 REM LDY 00 adresse de l interpr teur 220 DATA 20 C4 SR C4BD ATMOS prendre pour l ORIC 1 Mise en place du programme 300 DATA 5 FA REM JMP 5 SHOOT FA9B pour la ROM V1 0 310 FOR K 9801 TO 981F READ V POKE K V NEXT 980 RETURN Affiche le catalogue des fichiers BAS et retourne au Ready sans SHOOT et oui Une autre m thode pr conis e par Denis Henninot permet de retourner au point d appel dans le programme appelant en langage machine Denis utilise le moniteur Had s mais on peut aussi proc der avec un autre assembleur ou avec un chargeur BASIC comme ci dessus Sa m thode consiste d tourner le vecteur 1B 1C vers le programme appelant Surla ROM l affichage du message Ready se fait parunJSR 566 001A avec l adresse CCBO qui est celle de la routine Afficher la chaine AY Cette m thode simple de mise en oeuvre permet de b n ficier de la gestion des erreurs I RETURN pour inserer le texte source 1 ORG 9801 ou autre chaine ex cuter avec param tres 2 CMD NUL DIR BAS 3 DEB LDX 00 transfert 4 gt 1 LDA CMD X de la ou des 5 STA 35 X commande s 6 lt 2 et des ventuels param tres 7 INX dans le
220. ntient des NOP et qui tait donc en r serve pour ce genre d op ration Correction des programmes BASIC et Langage Machine Comme bien 50 SEDORIC n est pas le seul responsable et que beaucoup de programmes perturbent aussi 5 en cas de besoin il vous faudra rechercher le ou les STA 0300 ou POKE 0300 et les remplacer par des JSR XXXX ou CALLZXXXX En RAM l adresse XXXX de votre choix devra se trouver une routine corrective analogue celle d crite plus haut Vous ne pouvez pas utiliser celle que vous avez patch en RAM overlay car les JSR ou les CALL de votre correctif aboutiraient en ROM 479 Prenons un exemple concret Si vous implantez la routine corrective en 981E il faudra changer le STA EA2B en STA 982B C est simple suivez le listing ci dessus et modifiez seulement 9824 8D 2B 98 STA 9825 auto modifie la routine elle m me en RAM Si vous optez pour un autre emplacement il faudra ajuster le STA 982B de fa on crire la valeur de l accumulateur l endroit correspondant de votre routine Protocoles utiliser pour programmer correctement en BASIC ou en LM Pour mettre PB5 en entr e sans modifier la direction des autres lignes 100 A PEEK 302 LDA 0302 pour lire l tat actuel du registre de direction du Port B 110 AZA AND DF AND DF masque 1101 1111 pour forcer PBS z ro 120 POKE 302 A STA 0302 les autres bits resterons tels quels Pour mettre PB5 en sortie sans modifier la direction de
221. on ATMOS ENER NEE de ak uaa iR s EAR URS 25 D sassemblase de la page 4SEDORIC 26 BANQUES interchangeables Ados ins 30 BANQUE n 1 adresse RENUM DELETE 30 BANQUE n 2 adresse Cxxxb BACKUP QA IE SIEG 51 BANQUE n 3 adresse SEEK CHANGE et MERGE 68 BANQUE n 4 adresse Cxxxd COPY 89 BANQUE n 5 adresse Cxxxe SYS DNAME DTRACK TRACK INIST DNUM DSYS DKEY et VUSER A RE A d 103 BANQUE n 6 adresse xx xt INID rron REOR NS 123 BANQUE n 7 adresse Cxxxg CHKSUM EXT PROT STATUS SYSTEM UNPROT et ak RI 144 D but du NOYAU permanent de SEDORIC C800 FFFF 161 Mots Cl s SBDORIC RUE 3 bee GAUL SE ne RE RE dde E 167 XRWTS Routine de gestion des lecteurs wein 4 deep de ete dee 179 S rie d appels des sous programmes en ROM 187 Routines SEDORIC d usageg n ral 2 2 Sdn eek 8 ICI nS 197 212 et 236 Routines principales de Ray McLaughlin o EN NEEN EE Y E ES 202 Entr e SEDORIC recherche l adresse d ex cution d un mot cl SEDORIC 199 Analyse d un n m de fichier 5 usuyasa
222. on place dans SECTEUR LL de l adresse du tampon lecture criture que l on souhaite utiliser par exemple 9900 HH cette adresse est plac e dans RWBUF suivantes doit tre ins r e XPRSEC lit un secteur selon DRIVE PISTE SECTEUR et RWBUF XSVSEC crit un secteur selon DRIVE PISTE SECTEUR et RWBUF et enfin retour sur la ROM ORG 9800 JSR 04F2 LDA 8 STA C000 LDA 8 STA 5 001 LDA 8 STA C002 LDA BUFFER STA C003 LDA BUFFER STA 5 004 et l une des deux instructions JSR DA73 JSR DAA4 JSR 04F2 Rechercher un secteur disponible sur la disquette Encore une routine de Denis tr s utile pour les amateurs de langage machine qui d sire utiliser au mieux passage sur la RAM overlay n du drive utiliser de 0 3 que l on place dans DRIVE XPMAP prend le secteur de bitmap dans BUF2 XLIBSE cherche un secteur libre revient avec coordonn es AY que l on place dans PISTE et dans SECTEUR XSMAP sauve le secteur de bitmap sur la disquette et enfin retour sur la ROM les avantages de SEDORIC JSR 04F2 LDA 8 STA C000 JSR DA4C JSR DC6C STA 5 001 STY C002 JSR DA8A JSR 04F2 Lib re un secteur d j occup Cette routine qui est la contrepartie de la routine pr c dente est elle aussi bien utile passage sur la RAM overlay n du drive utiliser de 0 3 que l on place dans DRIVE XPMAP prend le secteur de bitmap dans BUF2 PISTE du secteur
223. ont orthographi es autrement DELETE DIRECTORY DRIVE RENAMEet SYSTEM S agit il d une autre version Aucune r f rence pr cise n est donn e Mauvaise nouvelle on apprend que le MICRODISC 00016 plus cher que pr vu soit 3600F Cet article pr cise qu au boot on a le choix entre 2 options HELP et DEMO HELP donne un r sum de chaque commande du DOS lequel occupe 45 secteurs et r side dans le fichier SYSTEM DOS Les disquettes sont simple face et format es raison de 40 pistes de 16 secteurs par face Un secteur semble r serv pour le boot et un secteur pour le directory nom de chaque fichier et adresse du premier secteur du fichier Un autre article dans Micr Oric 6 Automne 84 page 35 donne de nombreuses informations suppl mentaires Pour faire extr mement bref le fichier SYSTEM DOS est d abord charg en RAM de 7400 A030 et ex cut en A000 ce qui transf re le DOS en RAM overlay de 0400 FFFF Si vous voulez en savoir plus consultez cet excellent article de 7 pages intitul BONJOUR LES MICRODIQUES par Fabrice Broche Certaines commandes ont des options par exemple l option MERGE pour COPY ou l option N pour LOAD Pour sauver sous le m me nom il faut d abord renommer ou supprimer l ancien fichier Il existe une liste de 29 erreurs possibles Apr s chargement du DOS en RAM overlay le syst me recherche charge et lance BOOTUP COM Particularit amusante les fichiers ayant l extension COM peuvent tr
224. ors les adresses de 0000 DFFF qui sont en RAM dont la partie C000 DFFF correspond ce qui est couramment appel la RAM overlay et les adresses de E000 FFFF qui sont dans la ROM du MICRODISC En EB7E de la ROM du MICRODISC se trouve donc la routine de RESET qui est en fait le programme de boot initial Dans ce qui suit j utilise le terme g n ral DOS Disk Operating System au lieu de SEDORIC car en fait ce syst me de boot est bien ant rieur au SEDORIC voir le paragraphe suivant La routine de boot copie l ensemble du DOS de la disquette Master dans la RAM Le DOS est d abord charg en m moire basse ainsi qu une routine pour le remonter en RAM overlay Cette routine est d clench e ult rieurement par le programme apr s d activation de la ROM du MICRODISC et validation 482 de la RAM overlay par la carte du MICRODISC De plus le code de communication entre le DOS situ en RAM overlay et la ROM de la carte m re est copi dans la page 4 de la RAM Puis une routine du DOS effectue l initialisation pour le DOS lui m me et pour le syst me ORIC d origine avant de passer la main la ROM de la carte m re qui finalement attend les entr es au clavier comme d habitude La ROM du MICRODISC contient une version simplifi e de ORIC DOS version 0 6 La plupart des routines ont t limin es mais la ROM contient toujours la table compl te des adresses de ces routines dont un tas d adresses nulles Ceci r sulte clairem
225. persiste dans Th oric 8 mai 85 page 47 avec un article intitul Modifier le TDOS dont on trouvera la suite dans Th oric 12 septembre octobre 85 page 55 Nous ne connaissons pas le s num ro s de version du TDOS Il a probablement volu plusieurs reprises Par exemple Th oric 4 d cembre 84 page 50 fait mention d une version V2 26 w du TDOS et signale l arriv e prochaine d une nouvelle version avec une vitesse de transfert 17 fois plus rapide probablement le FTDOS B 2 JASMIN et FTDOS Annonce d un nouveau DOS pour Jasmin 17 fois plus rapide que l ancien dans Th oric 5 f vrier 85 pages 54 et 55 le FTDOS V3 2 pour Fast Tran Disc Operating System Le num ro de version 3 2 indique qu il s agit en fait d une nouvelle mouture du TDOS De plus le FTDOS comme avant lui le TDOS existe en deux versions ORIC 1 et ATMOS Une mise jour gratuite est propos e en magasin ou par courrier chez TRAN pour 100F disquette vierge plus port Th oric 6 page 53 Ce DOS permet notamment de lire et d crire directement sur la disquette secteur par secteur et comporte 4 instructions suppl mentaires par rapport au TDOS WS pour Write Sector RS pour Read Sector DS pour Delete sector et HELP qui charge les fichiers ayant l extension SCH Le FTDOS comporte 50 instructions indispensables pour les applications de gestion et scientifiques et plus de 5 utilitaires Le copyright est ainsi libell T R A N DIS
226. pl ter pour d clencher l affichage des crans HIRES que l on aura indiqu s nouvelle commande pr d finie n 27 1B NB DOKE 2F5 2F9 et 2FC sont les vecteurs de et amp Les touches ESC CTRL SHIFTg 1 espace 1 FUNCT SHIFTd RETURN et DEL ainsi que les touches restantes re oivent le code de re d finition 00 soit rien FUNCT RETURN affiche le num ro de la ligne BASIC suivante commande NUM 469 Les tables KEYDEF et REDEF telles qu elles sont d crites dans la premi re partie de cet article sont pr sentes non seulement dans le NOY AU mais aussi dans le fichier SEDORIC3N KEY Le fichier SEDORIC3D KEY contient galement les m mes tables l exception dela table REDEF qui a t chang e pour avoir Touche FUNCT Cde n 0 espace rien 00 pour les touches pas encore attribu es par KEYDEF 1 POKE 26A PEEK 801 suivie de l une des 2 commandes suivantes 2 26A AND FE 02 pour forcer le curseur OFF invisible 3 26A OR 01 03 pour forcer le curseur ON visible 4 PRINTCHR 18 04 pour valider la commande curseur ON OFF 5 POKE BBA3 0 05 pour effacer le hideux CAPS de la ligne service 6 FORI BB80TO BBA 06 suivie de la commande suivante 7 7 POKEL32 NEXTI 07 pour effacer toute la ligne service 8 POKE BB80 08 suivie de la commande suivante 9 PEEK 26B 09 pour couleur PAPER ligne service PAPER cran POKEZBBSI 40A suivie de la commande suivante
227. qui diff rent ont t indiqu s en gras Lorsque le premier fichier est supprim il est remplac dans le directory par le dernier fichier du premier secteur de directory Les nombres de secteurs libres 01B5 437 et de fichiers 15 21 sont mis jour Dans la bitmap proprement dite c est dire partir de l octet num ro 10 du deuxi me secteur de la piste 20 chaque piste ici 16 secteurs occupe deux octets en commen ant par la piste num ro z ro Le secteur descripteur du premier fichier se trouvait au quatri me secteur de la piste 6 et les secteurs de data correspondants continuaient jusqu troisi me secteur de la piste 7 Vous pourrez v rifier que 16 secteurs ont bien t lib r s 000000 gt F8FF07 Dans le premier secteur de directory le pointeur de premi re entr e libre indique F0 et sur la ligne F0 l ancienne entr e du quinzi me fichier est surcharg e de z ros Si maintenant on supprime le quatorzi me fichier qui est cheval sur les deux faces ont obtiendra des modifications analogues mais les 100 secteurs lib r s dans la bitmap s chelonneront du huiti me secteur de la piste num ro 4D 77 au secteur num ro 802 11 de la piste num ro 83 piste num ro 3 de la deuxi me face DUMPS Essayez de comprendre ce qui se passe lorsqu on supprime le quinzi me fichier qui est r pertori sur la derni re ligne d entr e du premier secteur de directory et qui se trouve sur la deuxi me fac
228. r Octet 03 Type de fichier ici 40 bloc de data Rappel du codage de cet octet bO 1 si AUTO bl et b2 non utilis s b3 1 si fichier direct b4 1 si fichier s quentiel 05 et b6 1 si fichier window b6 1 si bloc de data et b7 1 si BASIC Octets 04 et 05 Adresse de d but du fichier ici 400 et 10 pour 1000 Octets 06 et 07 Adresse de fin du fichier ou longueur d une fiche pour un fichier acc s direct ici et 1E pour 1EFF Octets 08 et 09 Adresse d ex cution si AUTO sinon 00 et 00 comme dans notre exemple Octets OA et OB Nombre de secteurs de data ici 0F et 00 pour 000 soit 15 Notons que le dernier secteur de data est la plupart du temps incomplet mais ici la longueur de notre fichier est un multiple de 256 octet donc le dernier secteur de data est complet Octets OC FF liste des coordonn es piste secteur de chacun de ces secteurs de data pour 122 secteurs au maximum dans un descripteur de ce type Ici on commence avec 406 et 405 ce qui indique que le premier secteur de data a t crit dans 16 cinqui me secteur de la sixi me piste c est dire dans le secteur libre suivant juste apr s le descripteur La quinzi me et derni re paire de coordonn es est 07 et dernier secteur de data a donc t crit dans le troisi me secteur de la septi me piste Lorsqu il n y a pas assez de place pour crire les coordonn es piste secteur de tous les secteurs de data dans
229. r de bitmap et correction de la bogue de double face 3 XPMAP en DAAC Prend le secteur de bitmap dans BUF2 Adaptation pour fonctionner avec 2 secteurs de bitmap nouveau sous programme FF43 appel en DA4C 4 XSMAP en Sauve le secteur de bitmap sur la disquette Adaptation pour la m me raison remplac par le sous programme DC80 plac au d but de XSMAP sous programme DC80 a t implant dans un vide laiss par la modification du sous programme DC7D voir plus loin Si le 07 de 2F est 1 le deuxi me secteur de bitmap pr sent dans BUF2 est sauvegard par un JSR FFAF 5 Le sous programme DC7D Cherche un secteur libre a t remplac par le sous programme FF94 6 La fin du sous programme DCD6 Calcule quel bit et quel octet de la bitmap correspond le secteur AY lib rer a t remplac par le sous programme FFD9 tenant compte des 2 bitmaps 7 La commande SEDORIC gt en F5BA Affecte un champ une variable a aussi t modifi e en FSFE F609 461 8 Une petite s rie de NOP F638 F63D a t remplac e par un sous programme utilis par INIT pour ins rer un appel au nouveau sous programme FF4A qui permet de sauver la deuxi me bitmap 9 La table des vecteurs syst me FF43 FFC6 qui n tait en fait pas utilis e et une partie du copyright final FFC7 FFF9 ont t supprim es et remplac es par des sous programmes utilis s pour r aliser les adaptations indiqu es ci d
230. rdonn es du descripteur suivant soit premier secteur de la piste 10 D or are te i eee geben egens MEM ee DI LATE pa papa pa A LA A A LA pn gt Q O UJ UJ gt gt Lo Lo OY OY Ci A LA po 174 A A p A A LA UJ D UJ gt P Lo Lo I Os O CH 07 OF 1 Jp op EA p kA op kA A H A UJ D gt D gt o Lo I IS OY O1 DS A A A A A A A OQ POD m P O OV V o o lt I 1 A A A A A A A A DD DPD P O Lo 41 o O O1 i p p kA op pa HA A A EL A CO WW J gt gt Lo Lo 41 lt J 4 Co 0A 01 09 LA LA n x A CO COD J gt gt Lo oo 1 N 01 1 08 10 07 D LA nt A A CO COD J gt gt Lo Lo lt lt Troisi me et dernier descripteur situ dans le secteur 01 de la piste 1D les 2 premiers octets indiquent 0000 c est dire qu il n y a pas de descripteur suivant F B D C B A 9 8 7 6 5
231. re des centaines de routines en RAM overlay qui ne demandent qu tre utilis es Faites votre choix l aide de SEDORIC A NU Si vous pr f rez utiliser un moniteur par exemple Supmon tapez T 9801 HELLO ANDRE RETURN 1980C 00 20 F2 04 A9 01 AO 98 20 37 D6 20 F2 04 60 RETURN RETURN CALL 980D affiche le message ou un autre selon votre fantaisie mais attention l adresse du CALL si la longueur du message est diff rente 565 ANNEXE n 6 Utilisation d une commande SEDORIC avec param tres partir d un programme crit en langage machine Mais diriez vous comment faire avec une commande comportant des param tres Un embryon de solution est indiqu dans la BANQUE z ro lorsque SEDORIC ex cute les instructions de d marrage INIST il suffit de placer la ou les commandes SEDORIC avec param tres dans le TIB tampon clavier d initialiser correctement TXTPTR et de faire appel l interpr teur en ROM Cette m thode tr s simple a un inconv nient on retourne au Ready Copie les instructions termin es par fin de commandes dans le TIB 100 DATA 344 49 852 22 2A 2 42 41 53 22 00 DIR BAS 00 110 DATA A2 0B REM LDX 0 pour copier 12 octets 120 DATA BD 01 98 REM LDA 9801 X lit les octets de 9801 980B 130 DATA 95 35 REM STA 35 X et les copie dans le TIB de 35 3F 140 DATA REM DEX octet pr c dent par la fin 150 DATA 10 8 REM BPL 120 et reboucle ta
232. remier mot cl et le nombre de mots cl s dans ce groupe 6 Modifiez la table des initiales V rifiez que pour chacune des initiales alt r es les 4 octets qui la caract risent sont corrects sinon corrigez adresse de d but du groupe de mots cl s de m me initiale dans la table des mots cl s n d ordre du premier mot cl et le nombre de mots cl s dans ce groupe 7 Modifiez la table des adresses d ex cution pour chaque commande modifi e ou d plac e v rifiez que l adresse d ex cution est correcte sinon corrigez en indiquant l adresse que vous avez not e au 4 Restriction dans l utilisation de la plage en RAM Attention les commandes LINE et BOX utilisent la zone BFEO BFFF en RAM Ceci est un choix malheureux quasiment assimilable une bogue car de nombreux programmes utilisent cette zone pour loger une petite routine en langage machine Toute utilisation des commandes LINE et BOX entrainera donc l crasement de la routine Il y a gros a parier que l utilisateur ne comprendra pas ce qui lui arrive 586 ANNEXE n 1 Routines d int r t g n ral par ordre chronologique XRWTS acc s la routine de gestion des lecteurs X contient la commande En sortie Z 1 si pas d erreur 2 0 sinon V 1 si la disquette est prot g e en criture DRIVE PISTE SECTEUR et RWBUF doivent tre jour Handler d IRQ sous programme vectoris en FFFE Lit le num ro de piste sous la t te
233. rge le premier secteur de directory est valid Cette valeur est rest e inchang e Mais ce n est videmment pas toujours le cas En effet lorsque le nombre de fichiers d passe 15 SEDORIC valide un second secteur de directory situ au septi me secteur de la piste 14 20 Et ainsi de suite Les secteurs num ros 04 07 0A 0D et 10 de la piste 14 sont en effet d j r serv s c est dire marqu s occup s m me sur une disquette vierge Si le nombre de fichiers d passe la capacit de ces 5 secteurs r serv s c est dire 15x5 75 fichiers SEDORIC crit un nouveau secteur de directory dans le premier secteur libre qu il trouve et cette fois 1l bascule le bit correspondant dans la bitmap Et ainsi de suite Octets 10 FF Bitmap proprement dite La disquette est consid r e comme une suite de secteurs 80x16x2 2560 secteurs dans notre cas Chaque secteur est repr sent par un bit Ces bits sont rang s par groupes de 8 dans des octets 8 bits Dans chaque octet ils sont plac s de bO b7 il faut donc les lire de droite gauche Ces octets sont rang s dans l ordre croissant partir de l octet num ro 10 il faut donc les lire de gauche droite Dans notre exemple une piste 16 secteurs est cod e sur deux octets La premi re moiti de la piste z ro par exemple est cod e en 10 la seconde moiti en 11 Puis la premi re moiti de la piste 1 etc Lorsqu un octet est libre le bit correspondant est 1
234. ric 18 mars avril 86 page 5 Ce drive est pass au banc d essai dans le m me num ro de Th oric page 8 Notons en passant qu de multiples reprises des drives 5 25 esclaves ont galement t propos s tant pour MICRODISC que pour JASMIN Pour exemple une publicit de VISMO dans Th oric 23 septembre 86 page 49 pour un nouveau lecteur 5 1 4 sur ORIC 1595F C 4 OPELCO Opelco est apparu sur le march britannique en mars 1986 avec ses premiers mailings H47 En novembre 1986 Opelco lance une nouvelle gamme de lecteurs de disquettes un mod le simple 184 et un mod le double 235 avec deux variantes de DOS H48 Dans le JEO MAG 4 juillet 1990 on peut 619 lire M Steve HOPPS directeur de la soci t Opelco nous a contact s pour nous informer qu il poss dait un stock important de lecteurs de disquettes Master neufs qui n attendaient qu trouver un foyer le prix se fixera aux alentours de 1600F article de Vincent Talvas Les caract ristiques du lecteur Opelco sont pass es en revue 3 boitier m tallique alimentation incorpor e mod les simple ou DUO simple ou double face norme Shuggart livr d origine avec deux DOS ROMDOS et RANDOS mais SEDORIC fonctionne galement avec l Opelco C 5 PRAVETZ C est gr ce internet que la communaut Oricienne a appris l existence d un drive PRAVETZ 8D compatible avec le format de fichier et de disquette de l APPLE 5 1 4 simple face
235. rives contient le nombre de pistes et de faces ici D2 52 soit 82 pistes par face 80 flag double face pour les drives A B C et D type de clavier b6 1 si ACCENT SET et b7 1 si AZERTY ici 40 0100 0000 seul b6 est 1 c est un clavier accentu en QWERTY d part de RENUM ici 0064 100 pas de RENUM ici 400008 10 XX XX XX nom de la disquette 21 octets ici INIST instructions ex cut es au d marrage 60 octets ici aucune instruction non utilis s suite de 00 l INIST aurait pu tre plus long octets n 00 03 octets 4 octets n 05 06 octets 1207 08 octets n 09 1D octets n 1E 59 octets n SA FF 0000 0010 0020 0030 0040 0050 0060 0070 0080 EN ECH 43 E 0 ET EREECHEN RR k k k k k k k Y 41 100 104 105 107 109 11 15 Dump des secteurs n 2 et n 3 de la piste n 14 n 20 BITMAP Exemple de secteur n 2 de la piste n 20 premier secteur de bitmap 7 8 9 A B CQ De 11 01 2A 00 00 00 00 00 00 00 00 00 00 00 8 CRE CEE FF FF FF OF DB F6 FF FF FF RR RE GERE dch kk KE Kb kb ek Kb EB SR kk
236. rreur SEDORIC a toutes les chances d tre cras non corrig F325 F327 F3CA encore la commande WINDOW cette fois c est l existence du tableau WI qui n est pas v rifi e non corrig F3F3 F424 gestion de fichiers routine de v rification de l existence et cr ation ventuelle de FL cette v rification est plus que cavali re et peut conduire toutes les catastrophes de plus cette routine qui est l une des plus utilis es se propose tout moment de cr er le pseudo tableau FI m me si elle n est pas 572 appel e par une commande OPEN corrig F526 F525 gestion de fichiers routine de gestion des champs il est possible d avoir le m me nom de champ index dans plusieurs fichiers cependant lors d un transfert de ou vers un champ gr ce aux commandes LSET ou RSET seul le premier de champ index est accessible Ceci est d au fait que SEDORIC ne compare pas le NL pour lequel le de champ index a t d finis avec le NL courant La v rification du NL et du nom de champ index peut tre obtenue en changeant un octet de SEDORIC remplacer BVC F548 50 20 par BVC F54B 50 23 en F526 non corrig F5FE bogue de la commande SEDORIC gt corrig e par RAY FA62 FA63 gestion de fichiers routine d extension de FI le LDY A1 qui se trouve l est absolument inutile toutefois 11 ne cr e aucun probl me non corrig FC48 FC4A commande FIELD analyse de syntaxe il faudrait remp
237. rs sont recopi s sur la nouvelle disquette Il est donc prudent de reprendre la disquette Master d origine si on veut viter l accumulation des erreurs Les 3 premiers secteurs contiennent n de version boot et copyright et sont list s ci apr s Les 61 suivants sont structur s comme un fichier 1 secteur de descripteur suivi de 60 secteurs de code qui lors du boot sont copi s en RAM de 1400 AFFF puis en RAM overlay de C400 FFFF Ce fichier n apparait pas au directory Les 30 secteurs suivants repr sentent les 6 BANQUES interchangeables et sont structur s en 6 fichiers de 5 secteurs 1 secteur de descripteur suivi de 4 secteurs de code qui sont copi s en RAM overlay de C400 C7FF lors de l appel de certaines commandes Ces fichiers n apparaissent pas au directory Pour r cup rer ces fichiers cach s il suffit de partir d une disquette master vierge format e en 16 secteurs par piste de cr er une s rie de vrais fichiers l aide des commandes suivantes SAVE NOYAU SED A 1400 E 4FFF SAVE BANQUEI SED A C400 E C7FF etc idem pour BANQUE2 SED BANQUE3 SED BANQUEA SED BANQUES SED ET BANQUE6 SED Puis l aide d un diteur de secteur BDDISK par exemple 11 faut remplacer les coordonn es des descripteurs de ces fichiers dans le secteur 4 de la piste 20 1 er secteur catalogue par les coordonn es des descripteurs des fichiers cach s Les coordonn es des descripteurs se trouvent aux 13 me et 14 me octets de chaq
238. s Si la commande Force Interrupt est re ue alors qu aucune autre commande n est en cours d ex cution le 00 est mit 0 et les autres bits sont mis jour ou z ro Apr s une lecture ou une criture dans le Data Register le bit b1 et la ligne sont mis z ro R sum du Status Register Cde de Lecture Lecture Lecture Ecriture Ecriture TypeI Adresse Secteur Piste Secteur Piste b7 lt not ready gt b6 Protection Ecriture lt gt lt Protection Ecriture gt b5 Head Loaded 0 Record Type 0 lt Erreur Ecriture lt b4 Seek Error lt RNF gt 0 lt RNF gt 0 b3 lt CRC Error gt 0 lt CRC gt 0 b2 Piste z ro lt Lost Data gt bl Index Pulse lt DRQ gt bO lt Busy gt Status pour commande de type I b7 Not Ready 1 pas pr t O pr t b6 Protected 1 18 disquette est prot g e contre l criture b5 Head Loaded 1 la t te est positionn e b4 Seek Error 1 piste d sir e pas encore trouv e 0 Track Register mis jour b3 CRC Error
239. s 3 1 2 restants quant eux limit s 82 pistes par face C500 Piste 5 secteur 7 15 octets diff rents COMMANDE INIT DOUBLE BITMAP et BIGDISK suite C600 Piste 5 secteur 8 11 octets diff rents COMMANDE INIT DOUBLE BITMAP suite et Ia BOGUE C700 Piste 5 secteur 9 1 octet diff rent CORRECTION BOGUE DE LA COMMANDE INIT suite amp fin STRATORIC V3 0 STRATORIC comporte ici aussi 2 octets diff rents de SEDORIC qui influent sur les caract ristiques de formatage NOUVELLE BANQUE n 7 qui sera copi en RAM overlay de C400 C7FF Piste 5 secteur 10 nouveau DESCRIPTEUR DE LA BANQUE n 7 0000 00 00 FF 40 00 4 FF C7 00 00 04 00 05 OB 05 0010 05 OD 05 00 00 00 00 00 00 00 00 00 00 00 00 473 0020 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 etc Les 14 octets qui diff rent de ceux d un secteur vierge sont indiqu s en gras C400 Piste 5 secteur 11 14 nouveaux BANQUE n 7 PROPREMENT DITE Nouvel emplacement des commandes EXT PROT STATUS SYSTEM et UNPROT Nouvelles commandes CHKSUM et VISUHIRES Dans ces 4 secteurs 998 octets 247 249 251 251 diff rent de ceux d un secteur vierge 474 ANNEXE n 4 Patch 001 INSERT MASTER DISK IN DRIVE La capacit des disquettes 3 1 2 est norme en comparaison de la taille moyenne des fichiers Termin la p nurie de place Bonjour le fouillis des listings de directory ce propos la disquette MASTER de SEDORIC V3 0
240. s D et E merg s Dans les 2 cas la taille r sultante est la somme des tailles Ne pas tenir compte des fichiers DSC La page de catalogue correspondante piste 04 du secteur 14 est la suivante les coordonn es du premier descripteur de chacun des fichiers qui nous int ressent sont en gras 0 1 2 3 4 5 6 7 8 9 B C D E 0123456789ABCDEF C300 00 00 FO 00 00 00 00 00 00 00 00 00 00 00 00 00 310 45 20 20 20 20 20 20 20 20 44 4 43 26 OA 03 41 DOC Q C320 46 20 20 20 20 20 20 20 20 44 4 43 8B OE 02 42 DOG C330 44 20 20 20 20 20 20 20 20 44 4 43 OD OE FF 40 D DOC Q C340 41 20 20 20 20 20 20 20 20 44 43 05 03 40 DOC Q C350 42 20 20 20 20 20 20 20 20 44 4 43050D 04 40 DOC C360 43 20 20 20 20 20 20 20 20 44 4F 43 05 11 02 40 C DOC Q C370 47 20 20 20 20 20 20 20 20 44 4 43 06 02 09 40 DOC Q 380 50 45 54 49 46 49 43 48 41 44 53 43 06 02 40 PETIFICHADSC C390 50 45 54 49 46 49 43 48 42 44 53 43 06 OD 02 40 PETIFICHBDSC 0 50 45 54 49 46 49 43 48 43 44 53 43 06 OF 02 40 PETIFICHCDSC C3B0 47 524p 53 46 49 43 48 44 44 53 43 07 04 04 40 GROSFICHDDSC 0300 47 52 4 53 46 49 43 48 45 44 53 43 07 08 04 40 GROSFICHEDSC 300 50 45 54 49 46 49 43 48 47 44 53 43 06 11 04 40 PETIFICHGDSC C3E0 47 52 4 53 46 49 43 48 46 44 53 43 07
241. s autres lignes 100 AZPEEK 302 LDA 0302 pour lire l tat actuel du registre de direction du Port B 110 A A OR 0 ORA 20 masque 0010 0000 pour forcer PBS seulement un 120 POKE 302 A STA 0302 les autres bits resterons tels quels Lorque PB5 est en entr e pour lire sa valeur dans le registre data du Port B 100 A PEEK 300 LDA 0300 pour lire l tat actuel du registre de data du Port B 110 A A AND 20 AND 20 le masque 0010 0000 force tous les bits 0 sauf 5 120 IF A 0 THEN BEQ A 0 lorsque PBS est au niveau bas Lorsque PBS est en sortie pour le mettre au niveau bas la masse 100 300 LDA 0300 pour lire l tat actuel du registre de data du Port 110 AZA AND DF AND DF masque 1101 1111 pour forcer 5 z ro 120 POKE 300 A STA 0300 les autres bits resterons tels quels Lorsque PBS est en sortie pour le mettre au niveau haut le tirer 45V 100 A PEEK 300 LDA 0300 pour lire l tat actuel du registre de data du Port B 110 A A OR 0 ORA 20 masque 0010 0000 pour forcer PB5 un 120 POKE 300 A STA 0300 les autres bits resterons tels quels Conclusion Vous n avez plus d excuse maintenant pour ne pas d velopper une application originale bas e sur l exploi tation de la ligne d entr e sortie PB5 Ce peut tre la commande d un relais pour votre train lectrique ce qui fait deux avec PB6 Ou pour commander l allumage d une LED la d tection d un v nement ex
242. s du secteur de directory suivant Lorsque le dernier secteur de directory est enti rement vid il est lui m me lib r dans la bitmap s il s agit d un des secteurs 4 7 10 13 ou 16 de la piste 20 seul le nombre de secteurs de directory en service est d cr ment le secteur reste r serv occup dans la bitmap SEDORIC reboucle si n cessaire pour lib rer un autre secteur de directory Encore quelques exemples Soit la m me disquette apr s avoir crit 22 fichiers dans l ordre FICHIERO1 COM FICHIER22 COM sachant que le quatorzi me est cheval sur les deux faces que le quinzi me est inscrit sur la derni re ligne d entr e du premier secteur de directory et pr sent sur la deuxi me face de la disquette et que le vingti me est cheval sur les deux secteurs de bitmap Nous allons faire subir cette disquette un certain nombre de d l tion type et examiner ce qui se passe Pour plus de facilit la comparaison se fera toujours avec l tat initial 512 DUMP4 Apr s DEL du premier fichier Drive A V3 Mst XX XX XX FICHIER15 COM 100 FICHIERO2 COM 16 FICHIERO3 COM 100 FICHIERO4 COM 100 FICHIERO5 COM 100 FICHIERO6 COM 100 FICHIERO7 COM 100 FICHIERO8 COM 100 FICHIERO9 COM 100 FICHIER10 COM 100 FICHIER11 COM 100 FICHIER12 COM 100 FICHIER13 COM 100 FICHIER14 COM 100 FICHIER16 COM 100 FICHIER17 COM 100 FICHIER18 COM 100 FICHIER19 COM 100 FICHIER20 COM 100 FICHIER21 C
243. s grandes lignes de cette nouvelle version Vous trouverez ici un r sum de la comparaison des disquettes master des versions 1 006 et 3 006 Deux patches correctifs ont t mis au point ult rieurement et sont d crits en ANNEXE n 4 et 5 L un permet d utiliser la ligne PB5 du VIA 6522 C est un peu trop sp cialis pour en parler maintenant L autre donne un suppl ment d intelligence SEDORIC avant de demander une disquette master il regarde s il n en a pas d j une avant de d livrer le message INSERT MASTER DISC IN DRIVE X AND PRESS RETURN Lorsque vous faites appel l une des commandes situ es dans une des BANQUES INIT COPY etc plus CHKSUM EXT PROT UNPROT STATUS SYSTEM et VISUHIRES pour la version 3 0 lorsque le syst me vous demande une disquette master veillez bien lui fournir une Master de la m me version que celle qui vous a servi booter En cas de doute effectuerez un DIR qui affichera V3 Mst V3 SIv si le boot t effectu en V3 0 la disquette pr sente dans le lecteur pouvant tre d une version quelconque Attention la commande DIR ne se soucie pas de la version de la disquette plac e dans le lecteur Par contre elle indique bien s il s agit d une Master Mst ou d une Slave SIv SEDORIC V3 0 est 10096 compatible avec les versions pr c dentes mais poss de une BANQUE suppl mentaire ce qui implique des modification en RAM overlay pour la g rer La disquette master a t
244. s le premier secteur de directory et qui se trouvent tous les deux sur la premi re face de la disquette ou des suppression suivies de l criture de nouveaux fichiers Dans ce dernier exemple on supprimera le douzi me premier secteur de directory premi re face de la disquette premier secteur de bitmap puis le vingti me fichier deuxi me secteur de directory deuxi me face de la disquette et cheval sur les 2 secteurs de bitmap puis on crira un vingt troisi me et un vingt quatri me fichiers DUMPO DUMP apr s DEL puis SAVE Mst XX XX XX M 16 FICHIERO2 COM 16 M 100 FICHIERO4 COM 100 M 100 FICHIERO6 COM 100 M 100 FICHIERO8 COM 100 M 100 FICHIER10 COM 100 M 100 FICHIER15 COM 100 M 100 FICHIER14 COM 100 M 100 FICHIER16 COM 100 M 100 FICHIER18 COM 100 M 100 FICHIER22 COM 100 M 100 FICHIER24 COM 100 free D 80 16 22 Files teur 2 DEL puis SAVE 16005010 02200000 0 00000000 00000000 0 00000000 00000000 2 00000000 00000000 0 0 00000000 0 Drive FICHIERO1 CO FICHIERO3 CO FICHIERO5 CO FICHIERO7 CO FICHIERO9 CO FICHIER11 CO FICHIER13 CO FICHIER23 CO FICHIER17 CO FICHIER19 CO FICHIER21 CO 421 sectors Piste 20 Sec 00 FF00A501 10 00000000 20 00000000 90 00000000 A0 00000000 DUMPS apr s DEL multiples Drive A V3 Mst XX XX XX FICHIERO1 COM 16 FICHIER14 COM 100 FICHIERO3 COM 100 FICHIEROA CO
245. simple densit 140 koctets En Juillet 1998 Ivan Naydenov de Sofia Bulgarie lan ait sur lyghtforce com un appel au secours parce que READDSK EXE ne pouvait pas relire ses disquettes 5 1 4 ORIC compatibles APPLE pour les utiliser sous EUPHORIC C estainsi qu il nous apprit qu au milieu des ann es 80 commenga en Bulgarie la fabrication de l ordinateur PRAVETZ 80 un clone de l ATMOS avec caract res cyrilliques et alimentation interne la ROM cyrillique est disponible sur une page web de Fabrice Mais ce PRAVETZ 8D ne disposait que d un lecteur de K7 alors que ses confr res les PRAVETZ 82 8M et 8C pavanaient avec leurs lecteurs de disquette et leur DOS 3 3 C est alors qu un ing nieur bulgare Borislav Zahariev adapta un lecteur APPLE sur un PRAVETZ 8D ATMOS Le transfert de fichiers entre le monde APPLE et le monde ORIC pouvait se faire sans probl me pour le texte videmment les programmes n cessitant une adaptation Le BOBY DOS crit par Borislav Zahariev est compatible APPLE Les disquettes ont toutes les caract ristiques APPLE m me taille et emplacement des secteurs m me structure Toutefois si le file type utilise les m mes bits que l APPLE les lettres d signant le type de fichier sont diff rentes c est uniquement un probl me de visualisation par le DOS Rappelons que les drives APPLE sont au format MF simple densit alors que les drives ORIC et PC sont au format Les contr leurs
246. ssi manuel SEDORIC page 102 Les touches A Q M Q A W Z et Z W ont une double tiquette Ceci correspond aux claviers AZERTY QWERTY La touche M n est pas utilis e il en est de m me pour les touches et qui toutes ont re u le code 00 Il est possible de re definir ces touches l aide de la commande 468 KEYDEF Les tables REDEF des fonctions re d finissables et PREDEF des fonctions pr d finies ont galement t compl tement modifi es Les nouvelles fonctions peuvent tre obtenues avec les combinaisons de touches sulvantes Touche FUNCT Cdes Touche FUNCT SHIFT Cdes Cdes re d finissables n Cdes pr d finies n 0 espace rien 00 0 HEX 10 1 DOKE 2F5 01 1 CALL 11 2 DOKE 2F5 467 CR 02 2 TEXT 12 3 DOKE 2F9 03 3 FORI 1TO 13 4 DOKE 2F9 D070 CR 04 4 LEFT 14 5 DOKE 2FC 05 5 MID 15 6 DOKE 2FC 461 CR 06 6 16 7 PAPERO INK74CR 07 7 STR 17 8 CALL F8D0 CR 08 8 UNPROT 18 9 ASCII n 126 7 09 9 ASCII 96 60 19 0A USING 1A HEX DEEK 0B VISUHIRES 1B M PEEK 0 VUSER 1 1 DEEK 00 1 WIDTH 1D POKE 0E WINDOW 1E 1 DOKE 0F 1 IRESTORE 1 Exemple FUNCT 8 d clenche une r g n ration des caract res c est une commande utilisateur re d finissable avec KUSE visualisable avec VUSER manuel SEDORIC page 55 amp 102 tandis que FUNCT SHIFT affiche VISUHIRES qu il faut com
247. suite d octets lire de gauche droite De plus il n y a aucune correlation entre le num ro d un octet codant et un secteur donn et encore moins entre un bit donn et et le secteur correspondant Il faut faire le calcul si tel secteur est le X me de la disquette il est cod dans le X 1 8 me octet situ apr s l octet n 10 du secteur de bitmap et par le bit b r indiqu par le reste de la division Pour SEDORIC c est un calcul simple mais qui d passe les facult s de calcul mental de l oricien moyen Toutefois si vous tes amen s bricoler sur des disquettes SEDORIC formatez les en 16 secteurs par piste ainsi il sera plus facile d tablir une correspondance entre les secteurs de la disquette et la bitmap puisque chaque piste sera cod e par deux octets tout juste Certains secteurs sont d j occup s au d part ce sont Les secteurs situ s au d but de la disquette et dont le nombre varie selon qu il s agit d une disquette Master 94 Slave 8 ou de type G 17 Shortsed initialis par GAMEINIT Le Secteur Syst me secteur 1 de la piste 20 voir ci dessus Les Secteurs Bitmap secteurs 2 et 3 de la piste 20 voir ci dessus 494 Les secteurs de catalogues secteurs 4 7 10 13 et 16 de la piste 20 voir ci dessus Ils sont marqu s occup s r serv s mais contiennent des 00 tant qu ils ne sont pas r ellement utilis s Voici le deuxi me secteur de bitmap secteur n 3 de la piste n 20
248. t positionne pour sauver le programme BASIC XSAVEB sauve le fichier de nom contenu dans BUFNOM selon VSALOO VSALOI DESALO FISALO EXSALO XDEFLO positionne les valeurs par d faut pour XLOADA XLOADA charge le fichier dont le nom est dans BUFNOM selon VSALOO VSALOI DESALO Charge un fichier selon X POSNMX POSNMP et POSNMS VSALOO VSALOI DESALO XNOMDE d truit le fichier index par POSNMX dont le secteur de catalogue est dans en fait tout est positionn comme apr s un 609 DA6D DA73 DA82 1 94 DA96 DA9E DAA4 8 5 0820 DBCO DE28 DE9C DFE6 EOES 266 GESTION des FICHIERS S quentiels diRects et Disques V rifie l existence du pseudo tableau FI au d but des tableaux et le cr e s il n existe pas encore Place l adresse du d but du Channel Buffer correspondant au NL en 00 01 celle du d but du Channel s own Data Buffer en 02 03 celle du Descriptor Buffer en 04 05 celle du d but du General Buffer en 06 07 et enfin met jour C083 longueur d une fiche ou 00 et OB flag S R D puis retourne avec Y 00 Sauve sur la disquette le secteur du fichier qui est pr sent dans le General Buffer Lit l enregistrement suivant du fichier Si la fin du fichier n est pas atteinte copie un enregistrement complet type longueur et valeur de la variable du Channel s own Data Buffer charge un second sect
249. t MERGE 68 BANQUE n A adresse COPY rurasa u e oa Y ton OR CREDE E 89 BANQUE n 5 adresse Cxxxe SYS DNAME TRACK INIST DNUM DSYS DKEY tMVUSER L te dee toU tex Pd T ERU Sev b tes s 103 BANQUE n 0 adresse CxxxD INID menite eae at anqana RE HER ASE 123 BANQUE n 7 adresse Cxxxg CHKSUM EXT PROT STATUS SYSTEM UNPROT et VISUHIRES 144 D but du NOYAU permanent de SEDORIC C800 161 MotsCl sSEDORIC 0 gay AG RA Xa E EX 167 XRWTS Routine de gestion des lecteurs E SENE REESE ORE MR SEX 179 S rie d appels des sous programmes en ROM 187 Routines SEDORIC d usage g n ral 197 212 et 236 Routines principales de Ray McLaughlin bee ple DER ESSE 292 Entr e SEDORIC recherche l adresse d ex cution d un mot cl SEDORIC 199 Analyse d anmnom de fichi r deceive cing alee 0 Dada Rone mies aded 203 Prendre un caract re au clavier remplace EB78 ROM 221 Deuxi me Partie pages 232 459 Commandes SEDORIC avec quelques routines associ es d usage g n ral Commandes SEDORIC faisant appel un
250. t de terminer par un autre JSR 04F2 pour revenir aux conditions normales c est dire sur la ROM Cette proc dure n affecte aucun registre ou plut t ils sont sauv s puis restaur s Voici donc un petit exercice tapez le programme qui suit Il s agit d un chargeur de langage machine crit en BASIC 100 DATA 20 2 04 REM JSR 04F2 110 DATA 24 REM LDA C024 120 DATA 8D 0 98 REM STA 980E 130 DATA 20 2 04 REM JSR 04 2 140 DATA 60 REM RTS et NOP o sera mis le r sultat 200 FOR K 9801 TO 4980E REM on place ce programme de 9801 980E 210 READ V POKE K V 220 NEXT Maintenant sauvegardez votre programme puis faites un CALL 9801 suivi d un 980 qui vous affichera 128 soit 80 si votre ROM est une V1 1 ou O si c est une version 1 0 Il faut encore noter que lorsqu on ex cute une commande SEDORIC on est sous RAM overlay Si cette commande concerne des manipulations de la m moire il est donc possible de consulter voire d alt rer SEDORIC lui m me Ainsi pour modifier SEDORIC vous avez le choix entre 2 m thodes Vous pouvez travailler directement sur la disquette en utilisant un diteur de secteurs du type BDDISK ou NIBBLE et en vous aidant des tableaux Emplacement de SEDORIC sur une disquette master en ANNEXE pour avoir la correspondance entre l adresse en RAM overlay et les coordonn es piste secteur Vous pouvez aussi plus simplement effectuer un SAVE de la zone mo
251. te est consid r e comme ayant une seule face de 82 pistes Th oric 5 page 54 617 Un court article accompagn du listing du directory de la disquette master version ATMOS sur le FTDOS parait dans Th oric 7 pages 30 et 31 Il signale la correction des bogues qui affectait les commandes MERGE CUT ERSET ERR GOTO et ainsi que l apparition des nouvelles commandes FS permet de connaitre le premier Free Sector de la disquette RS DS et WS voir ci dessus Ces quatre nouvelles instructions sont un peu artisanales puisqu il faut faire des PEEK et POKE pour les utiliser L encore diverses corrections ou am liorations du FTDOS ont t propos es Par exemple un article de Th oric 12 septembre octobre 85 page 56 propose une am lioration de la commande START palliant le d faut de lancement al atoire d un programme en langage machine en passant nous apprenons l existence de cette commande Un utilitaire est propos par Guy Hermann dans Th oric 13 octobre novembre 85 page 53 permettant de lire les disquettes MICRODISC il s agit du DOS V1 1 sur Jasmin il s agit du FTDOS Guy Hermann proposera l utilitaire inverse dans Th oric 16 janvier f vrier 86 page 52 Entre temps SEDORIC est sorti et propose l utilitaire CONVERT voir manuel SEDORIC et Th oric 14 de novembre d cembre 85 page 10 Ce dernier utilitaire pour SEDORIC permet de relire les disquettes des DOS V1 1 XL DOS et TDOS
252. terne Ce peut tre aussi tout simplement l utilisation de cartouches PBS voir le Journal du Soft n 9 qui devrait vous permettre de profiter de 16384 octets de ROM suppl mentaires afin d y installer les routines Langage Machine que demande le jeu que vous en train de d velopper N h sitez pas me 480 contacter si vous avez besoin d aide 481 ANNEXE n 6 Que se passe t il lors du boot Informations recueillies sur oric lyghtforce com Contributions de Fabrice Franc s et Ray McLaughlin Un MICRODISC est connect votre ATMOS Vous inserez une disquette Master de SEDORIC V3 0 dans le lecteur Votre syst me dispose potentiellement des m moires et supports suivants la RAM 48 koctets de 0000 BFFF la RAM overlay 16 koctets de C000 FFFF la ROM de l ATMOS 16 de C000 FFFF la ROM du MICRODISC 8 koctets de E000 FFFF et la disquette jusqu 788 5 koctets pour une disquette format e en 83 pistes de 19 secteurs double face Vous allumez votre alimentation et le tout d marre affichant d abord le copyright Tangerine puis le copyright SEDORIC puis le menu SEDORIC V3 0 Quels v nements se sont produits au cours de ce boot Parconstruction le microprocesseur 6502 trouve son vecteur de RESET en FFFC FFFD Cela signifie que lors de la mise sous tension ou d un reset froid il fait un saut l adresse indiqu e en FFFC FFFD Normalement lorsqu aucune interface n est branch e sur le connect
253. teur en cours 313 o se trouve le Data Register qui contient le num ro de piste d sir ou les data lire ou crire Je n entrerai pas dans les d tails de fonctionnement du 1793 qui est assez complexe Sachez toutefois que les 11 commandes sont divis es en 4 groupes I IV Ces commandes sont de la forme 07 b6 05 b4 3 b2 bl bO Les b7 04 indiquent le num ro de la commande et les b3 bO sont les param tres de la commande Les valeurs utilis es par SEDORIC sont indiqu es Groupe I d placement de la t te Restore 08 positionne la t te sur la piste 00 Seek 18 positionne la t te et met jour le Track Register Step 28 ou 38 avance la t te d une piste dans la m me direction que pr c demment et met jour 38 ou non 28 le Track Register Step in 48 ou 58 idem vers les n de pistes croissants Step out 68 ou 78 idem en direction de la piste z ro 549 Les 00 et b1 Stepping Motor Rate des commandes du groupe I indiquent la vitesse de changement de piste Avec la carte contr leur MICRODISC MFM 1 MHz ils sont 1 ce qui correspond un changement de piste en 30 ms Le b2 Track Number Verify Flag est z ro pas de v rification Le b3 Head Load Flag est 1 Load head at beginning Enfin le b4 Track Update Flag est soit 0 pas de mise jour du Track Register soit 1 mise jour du Track Register Groupe II lecture criture d un ou de pl
254. th 0201 CRC2 Although the CRC bytes are transferred to the computer the FD179X checks for validity and the CRC error status bit is set if there is a CRC error The track address of the ID field is written into the sector register so that a comparison can be made by the user At the end of the operation an interrupt is generated and the Busy status bit is reset Read Track Upon receipt of the Read Track command the head is loaded and the busy status bit is set Reading starts with the leading edge of the first encountered index pulse and continues until the next index pulse All gap header and data bytes are assembled and transferred to the data register and DRQ s are generated for each byte The accumulation of bytes is synchronized to each address mark encountered An interrupt is generated at the completion of the command The ID Address Mark ID field ID CRC bytes DAM Data and Data CRC bytes for each sector will be correct The gap bytes may be read incorrectly during write splice time because of synchronization Write Track formatting a track Upon receipt of the Write Track command the head is loaded and the Busy Status bit is set Writing starts with the leading edge of the first encountered index pulse and continues until the next index pulse at which time the interrupt is activated The Data Request is activated immediately upon receiving the command but writing will not start until after the first byte has
255. tr leur XL DOS permet d tendre sans limite le vocabulaire et ceci sans le On sent que SEDORIC du m me tandem BROCHE SEBBAG n est pas loin Ce premier DOS de Micro Programmes 5 a bel et bien exist en tant que XT DOS par exemple Michel Zupan dans Th oric 13 page 15 signale que son programme tourne sur MICRODISC avec le DOS V1 1 et RANDOS mais n cessite un r tablissement des vecteurs d interruption d origine pour XT DOS et XL DOS Mais par la suite le XL DOS lui a succ d S agit il d un simple changement de jaquette ou d une version d bogu e am lior e Nous ne le savons pas n ayant eu entre les mains que le XL DOS et non le XT DOS Le mode d emploi sur disquette de XL DOS a t clairement adapt du celui du XT DOS puisque trois reprises les correcteurs ont laiss pass la mention XT DOS au lieu de XL DOS L examen du premier secteur des disquettes XL DOS r v le les copyrights suivants XL DOS V 0 6 par D Sebbag et F Broche O MP5 et XL DOS Oric Basic tendu Version 0 6 par F Broche amp D Sebbag notez l ordre invers des auteurs On trouve encore dans le secteur 5 de la piste 0 XL DOS O Micro Programmes 5 Nous ne savons pas s il existe d autres versions mais c est peu probable car le successeur direct de DOS semble bien avoir t SEDORIC En r sum le XL DOS maillon interm diaire entre le DOS V1 1 et SEDORIC n a jamais connu le succ s probablement cause de son prix du fait qu on ne
256. tus bit is set and the command is terminated with an interrupt Each of the Type II commands contains an m flag which determines if multiple records sectors are to be read or written If m 0 a single sector is read or written and an interrupt is generated at the completion of the command If m 1 multiple records are read or written with the sector register internally updated so that an address verification can occur on the next record The FD179X will continue to read or write multiple records and update the sector register in numerical ascending sequence until the sector register xceeds the number of sectors on the track or until the Force Interrupt command is loaded into the Command Register The Type II commands for 1791 94 also contain side select compare flags When C 0 bit 1 no comparison is made When C 1 the LSB of the side number is read off the ID Field of the disk and compared with the contents of the S flag Read Sector Upon receipt of the command the head is loaded the busy status bit set and when an ID field is encountered that has the correct track number correct sector number correct side number and correct CRC the data field is presented to the computer An DRQ is generated each time a byte is transferred to the DR At the end of the Read operation the type of Data Address Mark encountered in the data field is recorded in the Status Register bit 5 555 Write Sector
257. ue avec un autre STRATOS communication t l phonique avec un autre STRATOS XSTORE communication t l phonique avec un autre STRATOS Cot drives un contr leur de disquette est int gr la carte m re Quatre lecteurs esclaves de format 3 ou 5 25 peuvent tre branch s Capacit 160 Ko face Interface SHUGART Th oric 6 page 14 D 2 EUREKA ORIC INTERNATIONAL ET TELESTRAT Th oric 36 novembre 87 pages 8 et 9 publie une interview de ce Fabrice Broche Pour le TELESTRAT l aventure commence en novembre 1985 et se finit pour la programmation en septembre 1986 Le TELESTRAT est certes arriv en retard mais repr sente tout de m me 55 d assembleur optimis s sans compter le travail de routine ORIC En 10 mois ce n est pas si mal Le travail se r partit peu pr s ainsi 2 mois de TELEMATIC 3 mois de TELEMON et STRATSED toutes les routines syst me 5 mois de HYPERBASIC En fait le TELESTRAT aurait 60 arriver au d but de 86 comme en t moigne Th oric 16 janvier f vrier 86 dont la couverture s orne de l norme photo d un TELESTRAT On trouve aussi page 9 avec un article intitul LA FAMILLE S AGRANDIT galement illustr d une large photo du TELESTRAT Selon une publicit sur la derni re page de couverture la machine serait disponible chez VISMO au prix de 3990F prix indicatif au 31 12 85 Le num ro suivant Th oric 17 f vrier mars 86 pr sente pages 8 et 9 le TELEST
258. ue ligne de catalogue Il faut y crire les coordonn es suivantes 0004 0401 0406 040B 0410 0505 et 050A pour une disquette master format e en 16 secteurs par piste voir plus loin le tableau d crivant l emplacement de SEDORIC sur une disquette master format e en 16 secteurs par piste Si l on voulait pouvoir utiliser normalement cette disquette il faudrait poursuivre les mises jour directory et bitmap mais en l tat il est d j possible de copier ces 7 fichiers sur une disquette normale et de les exploiter souhait 484 EMPLACEMENT DE SEDORIC SUR UNE DISQUETTE MASTER 16 correspondance entre les adresses en RAM overlay et les secteurs d une disquette master C500 C600 C700 Utili Util2 Util3 etc C400 C500 C600 C700 BK5 C400 C500 C600 C700 BK6 C400 C500 C600 C700 BK7 C400 BK1 C400 500 C600 C700 BK2 C400 C500 C600 C700 BK3 C400 C500 C600 C700 BK4 F000 F100 F200 F300 400 500 F600 F700 F800 F900 00 00 00 00 00 000 100 200 00 400 500 600 700 800 900 00 00 FCO EDOO 00 EF00 D000 D100 D200 D300 D400 D500 D600 D700 0800 0900 DAOO DBOO 0000 DE00 DF00 0 copyright et boot Desc C400 C500 C600 C700 C800 C
259. ui occupe lui aussi 3 octets 2 D installer l adresse XXXX une petite routine qui lira le contenu du registre 0300 modifiera le bit n 5 sans changer la valeur des autres bits et re crira le r sultat en 0300 Correction de SEDORIC C est bien s r par l qu il faut commencer Toutes les versions de SEDORIC sont affect es mais je ne corrigerai que la version 3 0 Je vous propose de fabriquer une petite rustine le PATCH 002 qui viendra se coller sur la partie fautive de SEDORIC en RAM overlay Comme pr c demment avec le PATCH 001 478 qui corrigeait le INSERT MASTER DISC il faudra ins rer PATCH 002 dans la commande INIST afin que la correction prenne effet d s le boot Attention notez que seule la RAM overlay sera modifi e et non votre disquette master SEDORIC Vous allez assembler ou poker directement les octets indiqu s ci dessous pour ceux qui n ont pas d assembleur les deux modifications en RAM les sauver changer les adresses des 2 fichiers sauv s avec la commande STATUS pour qu ils soient ensuite charg s directement la bonne place dans la RAM overlay et enfin les merger dans le fichier PATCH 002 1 Assemblez ou pokez la routine corrective l adresse 981E 981E 48 PHA sauve la valeur V qui tait destin e au Port B 981F A9 20 LDA 20 soit masque 0010 0000 pour lire l tat actuel X de PB5 en 0300 9821 2D 00 3 AND 0300 r sultat l accumulateur contient maintenant 00X0 000
260. umes that the Track Register contains the track number of the current position of the head and the Data Register contains the desired track number The FD179X will update the Track Register and issue stepping pulses in the appropriate direction until the contents of the Track Register ar qual to the contents of the Data Register An interrupt is generated at the completion of the command Note when using multiple drives the track register must be updated for the drive selected before seeks are issued Step Upon receipt of this command the FD179X issues one stepping pulse to the disk drive The stepping direction motor direction is the same as in the previous step command An interrupt is generated at the end of the command Step In Upon receipt of this command the FD179X issues one stepping pulse in the direction towards track 76 An interrupt is generated at the end of the command Step Out Upon receipt of this command the FD179X issues one stepping pulse in the direction towards track 0 An interrupt is generated at the end of the command Type II commands Type II commands are the Read Sector and Write Sector commands Prior to loading the Type II command into the Command Register the computer must load the Sector Register with the desired sector number Upon receipt of the Type II command the busy status bit is set The FD179X must find an ID field with a matching Track number and Sector number otherwise the Record not found sta
261. usieurs secteurs Read Sector 8X lit un secteur sans tester le n de face Read Sector 429 X lit plusieurs secteurs sans tester le n de face Write Sector AX crit un secteur sans tester le n de face Write Sector crit plusieurs secteurs sans tester le n de face Avant d envoyer une commande de lecture criture la t te doit avoir t positionn e sur la bonne piste commande du groupe I et donc le Track Register doit contenir le n de piste voulu L ordinateur doit encore mettre jour le Sector Register avec le n du secteur d sir 60 Data Address Mark est toujours 0 et indique que les data commencent apr s un FB Le b1 Side Compare flag est 0 s il ne faut pas et 1 s il faut comparer le n de face lu dans le champ ID sur la disquette et le n de face indiqu par b3 voir plus loin Le b2 15 ms Delay est toujours z ro pas de d lai Le b3 Side Compare Flag est 0 face n 0 ou 1 face n 1 En pratique 80 et 88 par exemple donnent le m me r sultat puisque dans les 2 cas le b1 est 0 pas de comparaison Le b4 Multiple Record Flag est 0 si un seul secteur ou 1 si plusieurs secteurs doivent tre lus ou crits Groupe IIl Read Address C0 le FD1793 lit le prochain champ ID en assemble les 6 octets n de piste n de face n de secteur taille du secteur CRCI et CRC2 les transf re dans le Data Register g n re un pour chaqu
262. virgule 8 TXTPTR et lit le caract re suivant avec conversion ventuelle de minuscule en MAJUSCULE Cette lecture ne sert souvent qu placer TXTPTR sur le caract re qui suit la virgule JSR D067 ROM puis D3A1 RAM overlay demande TXTPTR un octet identique A et lit le caract re suivant avec conversion ventuelle de minuscule en MAJUSCULE JSR D188 ROM d code le nom de la variable TXTPTR et place l adresse de cette variable dans AY B6 B7 et D3 D4 cette adresse pointe en fait sur les data longueur adresse dans le cas d une chaine de la variable dans la zone des variables BASIC JSR D7D0 et CF09 ROM v rifie si l expression valu e TXTPTR est bien alphanum rique retourne l adresse de la chaine dans XY et 91 92 ainsi que sa longueur dans A CF17 ROM CF09 ROM et D8CB ROM value un nombre entier TXTPTR et le retourne dans X JSR DA22 ROM prend 2 coordonn es TXTPTR et les retourne dans 2F8 x et X y JSR E853 ROM value un nombre non sign TXTPTR sur 2 octets JSR 00E2 ROM incr mente TXTPTR et lit un caract re CHRGET Les espaces sont saut s Z 1 si fin d instruction O ou C 0 si caract re chiffre 0 9 soit 30 39 sinon C 1 Y et X inchang s JSR 00 8 lit le caract re CHRGOT Les espaces sont saut s Z 1 si fin d instruction 0 ou C 0 si caract re chiffre 0 9 soit 30 39 sinon C 21 Y et X inchang s XCRGET incr mente TXTPTR l
Download Pdf Manuals
Related Search
annexes annexus annexus health annexus login annexus dermatology annexus meaning annexus annuity annexus group annexus agent login annexus products annexus health careers annexus dermatology deland annexus pulverbeschichten ag annexus dermatology orange city annexus dermatology port orange annexus nationwide login
Related Contents
Information on MODRET IKEA DUNO AA-45683-6 User's Manual MP1-F MODE D`EMPLOI - Primo LevelOne HDSpider™ HDMI over Cat.5 Long Range Receiver GRINDZ(グラインズ)コーヒーグラインダークリーナー取扱説明書 MODE D`EMPLOI SCELLEUSE POUR SACHETS Painel de Função Renal Piccolo Hyundai Santa Fe - Rev B.indd 195_7016_02 ASUS VivoTab SL7825 User's Manual Copyright © All rights reserved.
Failed to retrieve file