10 'MAKDOS Makes a DOS for the OLIVETTI M-10. A. Ryan [72007,1743] 1/JULY/89 20 'Reverse Engineered version of DSKMGR Version 3.02 by J. K. HEILMAN 30 CLS:CLEAR 512:HEX$ = "0123456789ABCDEF":CHK = 0 40 FOR A = 32496 TO 32503:CHK = CHK + PEEK(A):NEXT:IF CHK = 624 THEN 50 ELSE 210 50 READ TP,EN,EX:AD = TP:CHK = TP + EN + EX:IF HIMEM > TP THEN 180 60 READ Z$:IF Z$ = "EOD" THEN 110 70 FOR I = 1 TO LEN(Z$) STEP 2:HI$ = MID$(Z$,I,1):LO$ = MID$(Z$,I + 1,1) 80 V = (16 * (INSTR(HEX$,HI$) - 1)) + (INSTR(HEX$,LO$) - 1) 90 PRINT @87,"Data:";V;" ":PRINT @99,"Address:";AD:POKE AD,V:CHK = CHK + V 100 AD = AD + 1:NEXT:GOTO 60 110 READ Z$:IF CHK <> VAL(Z$) THEN 200 120 IF FRE(0) < 6 + (EN - TP) THEN END 130 PRINT"Do you wish to save program?" 140 Z$ = INKEY$:IF Z$ = "" THEN 140 150 IFZ$ <> "Y" AND Z$ <> "y" THEN END 160 INPUT"Output File Name:";F$ 170 SAVEM F$,TP,EN,EX:END 180 PRINT"Top :";TP:PRINT"End :";EN:PRINT"Exe :";EX:PRINT"HIMEM:";HIMEM 190 PRINT"Memory Conflict. Reset HIMEM":END 200 PRINT"Checksum Error. File Unusable!":END 210 PRINT"Machine is not an OLIVETTI M-10!":END 220 DATA 60700,62799,60700 230 DATA CD815A2165F5115EF63E06CD6A5A21FFFF227DF62339225AF5CD55EE2A5AF5F9CD5C42AF32B0FACD 240 DATA 4E42063621A1FD22D7FD36FF2305C24EED680EC0CD7B590E80CD7B590EA0CD7B597D3D32EFFDF5FE 250 DATA 12CA8DEDCDD459E521225BCD605AE12C7DFE13C270EDF1FA8DEDAF32EEFDCDE0F4210718CD9942CD 260 DATA F87D210801CD99422169EECD605A21011CCD9942215CEECD605AAF30326DFFCD755DCD7572DADDED 270 DATA FE0DCADBEDFE20DA26EECA24EECD4642C3B3EDCA38EDCDA0EECDE8EEC338ED3E02F52138ED2255F6 280 DATA F121CFEDE521000039225CF53DFA35EFCA18F23D3DFAEBF0CA1DF53D3DFA80F4CAEFF43DCAA9F43D 290 DATA C2C9EDCD46EE2118EEC3A257313AA7302CB752414D3ABA003E1CF53AEEFD5FF1D61C01B3EDC5F801 300 DATA CE58C5CAF6583DCAED58C13DCAE658C3C1582165F57EFE4DDAF017231602C3F0172191EE37C3F017 310 DATA 44534B4D47522076332E3032004C697374204C6F61642053617665205376616C2045726173204B69 320 DATA 6C6C2046726D74204D656E750039384E314400262E2B7CB5C299EEC9F5CDE5F4F12103EF4F7E23A7 330 DATA C2A9EE0DC2A9EECD605AC346423E03213E02213E01213E04213E05213E06213E07213E08213E0921 340 DATA 3E0A213E0B213E0C213E0D2A5CF5F96FAF30B5C93A3DF6FE04C8212CEFCD605A21505FCD605A2103 350 DATA 00CD605AC3345F004F6B20004E5200434D004142004646004145004F4D00575000485400494F004E 360 DATA 4400424600464500204572726F72212000CD65EF3E01326CF54FCD4E42CD91F0060AC5CD6BF0C10E 370 DATA 0205C246EF210801CD994221C7F0CD83F10E02CA3EEFC324F2CD97EECDDDEF210700CDA5EFCD9F76 380 DATA CD9FEF30CD746DCABCEE4F2188F5CD856DC2B9EE77230DC282EF3A88F5FE12C8FE43C2D1EE01314D 390 DATA CD68F4CDD8EFC397EE226AF5216AF5E57E2386477EF523A7CAC0EF4F7886230DC2B9EF47782F5701 400 DATA 5A5ACD68F4C10404E17ECDDAEF2305C2CDEF7A213E0DCD396EDBBBE620C8C3BCEE216AF5CD9F76E5 410 DATA CD14F0CD14F04FCD14F04179A7CA03F0CD14F00DC2FCEFE10404AF30862305C208F02FBEC2B9EEC9 420 DATA CDDDEFCD856DDAC2EEC2B9EE7723C92188F5CDE8EF3A8AF5A7C9CD65EF0E00612E462284F521001A 430 DATA CDA5EFCD23F04F3A88F5FE1279C0E6F0CABFEEFE10CAC5EEFE40CAD4EEFE50CACEEEFE60CACBEEFE 440 DATA 70CAD7EEC3D1EECD33F0AF3296F5218AF5B6CA9AF0CD605A3A3DF6F52AA3F57C656FCDEE39F1C607 450 DATA FE1EDA96F0CD3F423E03323DF6C9CD3F423AA5F56F2600118000CD3F37CDEE393E30E721E47ECD60 460 DATA 5A210801CD994221C7F0CD83F1CA38EDC324F24E616D65206F6E206469736B3A003AEEFD21A1FD11 470 DATA 0200B7CAE7F0193DC3DEF0CDEC5AC9CDD5F02260F5CDBEF178B1CADDEEC521C7F0CD7BF1DAFAF02A 480 DATA 60F5CA0FF11188F6C314F1545D13131301090009CDE8F3CD2EF0A7CA32F1CD48F4CA38EDCD1CF4CD 490 DATA 31F0A7C2C8EE3E01CDFAF12A60F5CDEB5AC1AF325EF5116CF57E1223130B3A5EF53C325EF5F578B1 500 DATA CA5EF1F1FE80DA45F1FEF1E5672E04D5C5CD20F4C1D1E178B1C23EF1CD76F1C3BFEE2E02C31EF411 510 DATA 0701EBCD9942EBCD7A42CD605ACD3946DAC2EE21BBF1E52188F67E4FA7C8FE3BD8FE61DAAAF1FE7B 520 DATA D2AAF1E6DF77237EA7C8FE3AC2B5F137C9FE20D8C39DF10C0DC9E5CDEB5AD11AE620C2E8F11AE640 530 DATA C2DCF1E5CDF605C17D914F7C98470BC93E1A01FFFFBE2303C2E1F1C91AE610C2C5EE23234E234603 540 DATA 0303030303C9326CF5210101CDA5EFCD23F0C8C34AF04E616D6520666F722052414D3A0021C7F0CD 550 DATA 7BF1DA18F2CA18F2CDCBF3C2DAEECD2EF0A7CAC5EE210AF2CD7BF1DA31F21188F6C243F2116CF521 560 DATA 99FCCD04F42A73F54C457D325EF5CDBB20CA63F2E5D5CD48F4D1E1C8CDFAF22AA3F57C656F2260F5 570 DATA CD31F3D111BFF2D52262F522DAFAE53E03CDFAF1210300CDA5EFCDE5EF216AF57E23234ECD46F0E1 580 DATA 3A6BF54F116CF51A771323E52A60F52B2260F57CB5E1CAB8F20DC29BF2E522DAFAC380F23C325FF5 590 DATA C3EEF2325FF521F4F2E53A5EF5FE43CAEEF2DADFF22A60F5444D2AD8FACDA46BC3EEF22A62F5CDF6 600 DATA 0523EB2AD0FADFC44521CD5A21CD76F13A5FF5C3D2ED3A5EF5D644CAD11F3CCAEB1F3CC32920CD27 610 DATA F3EB2AB4FB0922B4FBEBC9EB2AB6FBE5EBCD27F3EBE122B6FBEBC9CD726BD0CD76F1C3CBEECD314E 620 DATA CD5A212AB8FB22BAFB22BCFB21B2F9010B00097E3CCACBEE3DFA46F3E53A5EF5D644CA99F33CCA7A 630 DATA F33CC2DAEE0E02CDB1F32A9DF9CD0AF3CDBAF33E80EBE1D51BCD5222E1C94FCDB1F32AB6FBCD17F3 640 DATA CDBAF3E523230B0B0B0B0B0B7123703EA0E1C371F30E01CDB1F32AB4FBCD27F3CDBAF3E5092B361A 650 DATA 3EC0C395F306002A60F509444DC9C5E5AF77230B78B1C2BCF322D0FAE1C1C91188F6626B0100067E 660 DATA 0CFE2ECAE5F378B9D87E23A7C2D3F33CC93600234E2346C5216CF5CD04F4362E23C1712370230E0F 670 DATA 3620230DC2FCF3C901FCF3C50E061AA7C8FE2EC8FE20C81377230DC20AF4C1C92E052600CDA5EFCD 680 DATA 23F0C8C34AF046696C65206578697374732E20200050726F636565643F2028592F4E2900CDE5F421 690 DATA 2AF41139F4CD605AEBCD605ACDD012CDEC0FFE4EC8FE59C258F4A7C978CDDAEF79C3DAEF46696C65 700 DATA 20746F2064656C6574653A002170F4CD7BF1DA80F4CA80F4CDCBF3C2DAEECD2EF0A7CAC5EECDE5F4 710 DATA 2117F2CD4EF4C8CD1CF4C3BFEECDE5F421C4F4CD4EF4CA38EDCD65EF210600CDA5EFCDE5EFC3BFEE 720 DATA 464F524D41542077696C6C206572617365206469736B2120003AEEFD6FCDF059C9210701CD9942CD 730 DATA 7A42C9CDE5F42139F4CD55F42138EDE5C8CDD5F0E5AF32A7FCCD314ECD5A21E1CDDE20E620C2EB1F 740 DATA 7EE640CA2920C3D11F2135F5E521000039225CF5CDDDF4AF32EEFDCDDDF4CDEBF0FE01C2D2EDCDDD 750 DATA F43AEEFD21EFFD3CBEDA2CF5CA2CF53E01C3D2ED 760 DATA EOD 770 DATA 472857