|
Message
From: cvs at opencores.org<cvs@o...>
Date: Fri Mar 14 16:52:50 CET 2008
Subject: [cvs-checkins] MODIFIED: System09 ...
Date: 00/08/03 14:16:52 Added: System09/src/flex9 FLEX9ADS.S19 FLEX9CF8.S19 FLEX9IDE.S19 FLEX9RAM.S19 f9-cli.txt f9-data.txt f9-dkcf8.txt f9-dkfdc.txt f9-dkide.txt f9-dkram.txt f9-equ.txt f9-fms.txt f9-init.txt f9-moneq.txt f9-monex.txt f9-monio.txt f9-sfcb.txt f9-spool.txt f9-var.txt flex9_cf8_b16_0.vhd flex9_cf8_b16_1.vhd flex9_cf8_b16_2.vhd flex9_cf8_b16_3.vhd flex9_ide_b16_0.vhd flex9_ide_b16_1.vhd flex9_ide_b16_2.vhd flex9_ide_b16_3.vhd flex9_ram_b16_0.vhd flex9_ram_b16_1.vhd flex9_ram_b16_2.vhd flex9_ram_b16_3.vhd flex9_ram_b16_ext.vhd flex9ads.asm flex9ads.lst flex9ads.sh flex9cf8.asm flex9cf8.aux flex9cf8.lst flex9cf8.sh flex9ide.asm flex9ide.aux flex9ide.lst flex9ide.sh flex9ram.asm flex9ram.aux flex9ram.lst flex9ram.sh Log: Updated software - XSA-3S1000 now runs FLEX on an IDE drive or CF card. Revision Changes Path 1.1 System09/src/flex9/FLEX9ADS.S19 http://www.opencores.org/cvsweb.shtml/System09/src/flex9/FLEX9ADS.S19?rev=1.1&content-type=text/x-cvsweb-markup Index: FLEX9ADS.S19 =================================================================== S123C7007EC7217EC7037EC7477EC7857EC7957EC71F0C00000000C810C810000000003BDC S123C720121A10BECC3110EF027DCC3426118ECCFC7CCC346D842707BFCC3110EE023B8ED3 S123C740CCF87FCC3420F11A107DC71B2729BEC719A6843402EC018ECAC0ED88403502A712 S123C760036F848601A7026F88226F883B7DC71E2729113F1220F61CEFAD9FD3ED7FCCFCBC S123C780113F1220F41A107DCC302705113F1220F47CCC30397FCC301CEF397DC71D2627BC S123C7A08ECAC0BDD406261F7DC71C270F7FC71C810A270F3402860A8D3C3502810D26034B S123C7C0B7C71C8D3120D4860D8D2B860A8D27B6C7128D227FC71DBEC7196D0327056A0332 S123C7E07EC74730048CC84026038EC810BFC7197AC71B7EC747BDCCD82B05113F1220F6C2 S106C8007ECCE403 S113C840FF000000535441525455500054585400B2 S123CA002006BDCAAC39C0A08639B7D3FDBECC2B308900A1BFCA06AD9FD3F1BED3FBBFCD14 S123CA200ABFCD0DBED3F9BFCD10BFCD13BED3F7BFCD4F8E00A0C6B9A684E78412E1842648 S123CA400BA78430890400BCCA0626EC3089FF5FBFCC2B8ECD03BFCC168ECADCBDCE81BD78 S123CA60CEB58D9EBDCEB58EC8408601A784BDD4062708A601BDD2007ECD678EC080BFCC75 S123CA80148EC840BDD406270534307ED2D7BECC14A780810D26E78EC840BDD1F48EC08054 S123CAA0BFCC148ECD67BFCC437ED32E8ECAECBDCE81BDCE2B8D1425F3B7CC0E8D0D25ECC9 S123CAC0B7CC0F8D0625E5B7CC1039BDD175250BB6CC1C5D27031CFE391A01393638303981 S121CAE020464C45582056332E3031044441544520284D4D2C44442C5959293F20048B S123CC0008183A190004400000FF1B0001000000000000000000000000000000000000003E S11ECC200000000000000000000000BFFF000001000000000000000000000036 S104CC496086 S123CC4E2B2B2B043F3F3F04574841543F0443414E2754205452414E53464552044E4F543E S123CC6E20464F554E44044449534B204552524F52202304445249564553204E4F54205296 S11DCC8E454144590447455400D20F4D4F4E00D34B00271003E80064000A08 S123CD007ECD577ECD677ECDB17ECD097ECD0C7ECD0F7ECD127ECEFB7ECF417ECE2B7ECEC5 S123CD20817ECFED7ECEB57ED00E7ECDEA7ED0367ED1A27ED0EB7ED3497ECF867ECFD47EE8 S123CD40D27F7ED12F7ECFD07ED1757ED3297ECD4E7ECE057ECE0510CEC07F7FCC11BDD460 S123CD60007FCC28BDD3FD10CEC07FBDDE188ECD03BFCC168EC700AF9FD3E9BED3E7AF9FBB S123CD80D3EB8ECCF8BFCC317FCC347FCC4C8D5AB6CC11B1CC0226057CCC1520147DCC2887 S123CDA010260597BDD40326B28ECC4EBDCE818D7ABDD0D4810D27E58EC8407CCC0DBDD003 S123CDC03625168ECC938D3E2709BECC1227078D3526036E9801BDD22E8ECC568615B7CCAF S123CDE020BDCE817FCC117ECD67BECD13BFCD10BECD0DBFCD0A7FCC237FCC227FCC217FC7 S123CE00CC267FCC2439108EC844A6A0815F23028020A18026086D8426F06DA4270C6D8058 S123CE2026FC30026D8426DE1CFB398EC080BFCC14BDCEFBB1CC01271DB1CC00271F810D4F S123CE40270D810A2732811F23E78CC0FF27E2A780810D26DC398ECC528D2620CE8CC080AF S123CE6027F4301FB6CC07810826088620BDCF66B6CC07BDCF6620B9860DBDCF41862020F2 S123CE80C98D32A6848104276FBDCF41300120F3BDCD4E2765AD9FD3E5B1CC0A265C7FCCF4 S123CEA01AAD9FD3E5B1CC0A2750810326F37FCC116E9FCC167DCC2126278DD4B6CC0327A6 S123CEC020B1CC1A22187FCC1A7DCC0927028DCE3404F6CC0827058D085A26FB35047CCC63 S123CEE01A860D8D5C860A8D583404F6CC0527064F8D4E5A26FA35041CFE397DCC23261A1B S123CF007DCC2627108D1A7DCC2F27117DCC24270C8D532008BDCD092003BDCD0C7FCC1AB7 S123CF2039BFCC47BECC262006BFCC47BECC24BDD4062604BECC47397FCC24BDD27F7ECDF9 S123CF40037DCC212620811F22057FCC2920177CCC293402B6CC04270BB1CC292406BDCEEE S123CF60B57CCC29350234027DCC2226137DCC2427048DB5200D7DCC262608BDCD0F200316 S123CF80BDCD123502397FCC4AF7CC1D8604B7CC4DEC848ECCA08D0B30027ACC4D26F71FAF S123CFA098203D7FCC4B10A3842507A3847CCC4B20F43402B6CC4B26107DCC4A260B7DCC6B S123CFC01D270B86208D2320057CCC4A8D1235828D023001A6848D04A684200444444444C2 S123CFE0840F8B30813923028B077ECF4181302514813923168141250C815A230E816125FD S123D00004817A23061A01B7CC11391CFE393410BECC14B6CC18B7CC19A680B7CC18810D42 S123D0202710B1CC02270BBFCC1481202604A18427E78DB935908615A70186FFA7036F0477 S123D0406F0CBDD0D48608B7CC4B8D34252E260F8D2E25282609BCCC3F276C8D232368BEC1 S123D060CC3F6D0427616D032A0F7DCC0D2705B6CC0B2003B6CC0CA7037FCC0DBECC3F393B S123D0808D8C254381392215BECC3F6D032A388403A703BDD00E242F812E1CFE39F6CC4B51 S123D0A02B253404C005F7CC4B3504B1CC4925028020A70430015ABDD00E2408812D270475 S123D0C0815F26065D26E41A01395D27CB6F0430015A20F6BFCC3FBECC14A68481202604C5 S123D0E0300120F6BFCC14BECC3F393430E60C2618108ED10B810B2210C6033D31A5C603D3 S123D100A6A0A70C30015A26F735B042494E545854434D4442415353595342414B5343524D S123D1204441544241434449525052544F5554BDD21EBDD00E25228D2625183404C6047886 S123D140CC1C79CC1B5A26F73504BBCC1CB7CC1C5C20DFBDD00E24FB39BECC1B1CFE3980CB S123D160472A0F8B062A048B072A078B0A2B031CFE391A0139BDD21EBDD00E25DC8139221A S123D180D2840F34043402FCCC1B584958495849F3CC1BF3CC1BEBE08900FDCC1B35045C71 S123D1A020D67FCC1D8D3D81022715811626F68D33B7CC1E8D2EB7CC1F8601B7CC1D20E5E7 S123D1C08D221F898D1E1E89F3CC1BFDCC3D8D141F894D27D08D0DBECC3DA780BFCC3D5A8B S123D1E026F320C18EC840BDD4062711A6018108260E32628604A784BDD406260D1CFE3902 S123D200B7CC20810426031A01398D737ECDE486008D35250F8D077CCC4C8D8620F14F5FC0 S123D220FDCC1B39F6CC4C1027FBAE7ECD0386028D228DEABDD1A2F6CC1D27046E9FCC1EB2 S123D2408ECC5C86817ECDDE34028EC840BDD0363502251A8EC840BDD0EB8EC8408601A70D S123D26084BDD1E4102500BB86FFA7883B39B6CC11810D2707B1CC021026FB5D1A013934B8 S123D28030A601B7CC202763BDCDEA10BECC2D260881102758108ED3618EC8406D02270906 S123D2A08604A784BDD406262E8EC838C60B8D6E8EC840B6CC0BA7038601A784BDD4062634 S123D2C016B6CC204A47474C6F8820A788218615A784BDD406271E8ECC75BDCE81BECC3FC1 S123D2E0B6CC20A7016F845FBDCF8635B08ECC82BDCE8120F6BDCEB58EC840B6CC204A8453 S123D30003C63F3DCB04E78822BDD40626C9BDCF41810D26F48604A784BDD40620CD3430CC S123D3207ED1008ECC6B7ECDE13506FDCC4310FFCC457FCC207CCC287ECDB87FCC2810FEE3
S123D340CC45F6CC206E9FCC433A397DCCFC26046E9FD3F38EC840861BA701BDD27F7ECDCD
S10FD360674552524F525300005359537A
S106CCC07ED370AC
S106CCD87ED37094
S106CCE47ED37088
S10BCCF801000000000000002F
S11BD370397ED3706E9FF8046E9FF8006E9FF8086E9FF80A6E9FF80672
S123D3E5D374D370DFC2DFC8D370D370D370D378D371D37CD380D3847ECA007ED4367ED4DF
S123D405597ED47B204449534B204F5045524154494E472053595354454D20434F50595217
S123D4254947485420284329203139383020425920544543484E4943414C205359535445F3
S111D4454D5320434F4E53554C54414E5453B7
S123D435FFBDDE158ED409C60A8D118E0005BFD413BFD4157FD41A8ED41BC61A6F805A2631
S123D455FB7EC70CBDC709BED40927EB3088E4BFD40B3420BDDAC3352024ECBED40B6F02D2
S123D475BDC70CC6FF397DCCFC2703BDC7093424BFD40B6F01E6842622E602271AC10227DE
S123D49511BDD5B4BED40B25267DCCFC26235F352439BDD6CF20EDC6122014C1162304C676
S123D4B501200C5A588ED4CEAD95BED40B2402E701BDC70C6D01352439D986D9D9DAF9DA09
S123D4D5C3D5E2D81DD838D876D641D69FD969DBD6DB2CD699DA87D810D56FD590DB07DDC0
S123D4F5BDDCFBDCE58D202605C6021A0139ED84AE846F846F01398D0E2705C60D1A01399D
S123D515EC94ED841CFE39FCD40BC3001C8ED40910AE8426031CFB3910A384260139AE8405
S123D53520EEBED40B4F5F8D02C62FA7881130015A26F839BED40BC60BA604A78824300137
S123D5555A26F639BED40BC60BA6043402A68824A1E0260530015A26F039BED40BE6025404
S123D5752479E688237ED600BED40BE688226C88223AA788405C261F1A0139BED40BE602AA
S123D595C403C1032655CA80E702E60FC580260AE688233AA788401CFE39C60B1A0139A677
S123D5B5883B2B3C27076A883B8620201D8D31251B8118221527F68109260C8D23250DBEA3
S123D5D5D40BA7883B20D84D27E31CFE39BDDAB1250985012705A7847ED9A0C6121A0139D1
S123D5F5BED40BE68822270A6C88223AA688401CFE398D0324EA39BED40BEC88406C882166
S123D61526036C882010830000271CED881E34028604A7882235028D132410C5802704C6F9
S123D635102006C6092002C6081A01398D25BED40BBDDE0C25128D11BDDE0026031CFE39A6
S123D65534048D17350424EE39BED40BEC881E308840394FB7D411B7D41239C5102611C55F
S123D675802624F6D4115CC1072705F7D41120147FD411F6D4125CC104270CF7D412BED489
S123D6950BBDDE091CFE391A01398DC7BED40BBDDE0C2520BED40B8DB0BDDE03260AB6D40C
S123D6B5352737BDDE062732C540260B34048DAB350424E039C6201A0139BED40BE6883B28
S123D6D52B3D8120260F5CE7883BC17F260C200D8D0B24E6395D272720F61CFE393402C168
S123D6F50126048620201086098D143502250F3402BED40BA6883B6F883B8D03350239BE49
S123D715D40BE602C1021026FED1E68822C104260834028D213502250FBDD57D240AC60488
S123D735BED40BE788221CFE39BED40B4F5FED8820ED88422027E688122622E688172744B9
S123D7556F88178D3F252A8DE025268DDC2522BED40BC602E78817EC88117EDC828D0EBE7A
S123D775D40BED8840BDD69F241A7EDBC18D03EC8439BED40BE60386063D8ED41D3ABFD49E
S123D7951B6D84398DE72605C6071A0139BED40BED88136D88122603ED88116C881626035D
S123D7B56C88156D8817270BBDDC4325DDBED40BEC8813BDD62025D2BED40BEC88403406D2
S123D7D58DB03506ED84260A6F026F036F046F05200810AE04313F10AF044FBED40B6C8850
S123D7F52126036C88205FA7884030015A26F8BED40BEC8820ED88421CFE395F3404C603A0
S123D815200EBED415BFD413F6D4133404F6D414BED40BE788413504E788407FD4185FE79B
S123D835882239BED40BE68822261DBDD60C2530BED40B7DD4182605DC44FDD4188610A711
S123D8558822EC881EED882FA68822A78831C6183414BDD5F53514A70430015A26F21CFEC1
S123D87539BED40BA68831A78822C6183414A604BDD714351430015A26F27ED69FBED40B15
S123D895A603A78823B6D4177DD41A2631A703BED415BFD4138C0005270C8D222337BED4BB
S123D8B518BFD41320EFBED40BA68823A7032A0EBDDDBD25368D07231CBDDDAD20F2BED442
S123D8D50B7FD41ABDD549BDD81DBDD8382407C10827181A0139BED40BA604270C2A028DA3
S123D8F50FBDD55926E41CFE398D051CFB1CFE39A68833260CEC882FED8832A68831A78851
S123D9153439BDD78726178D182515C60610BED40BBED41BA6A85D3121A7805A26F61CFE70
S123D93539BDD810BDD60C2508BED40BC610E7882239BDD7878DEA25F8C60610BED40BBE01
S123D955D41BA680A7A85D31215A26F6BDD69F24E07EDBC1BED40B8602A702EC882FED88EF
S123D9751EBDD6412508BDD87624057EDBC1C60A39BDD4FA253DBDD8922538263BBED40BA9
S123D9957DD41A2706A60F85202629BDDCC0252AEC8811ED8840BDDA76E688172713340447
S123D9B5BDD60C3504250C5A26F4BED40B5FE788221CFE39C6112002C6043404BDD50C3523
S123D9D5041A0139BED40B6D032A08BDDDBD2403C61039BDD4FA25E2BDD537BDD91725DA03
S123D9F5BDD89225D52604C60320CFBDDCC025CABED40BC60A6F0F30015A26F9BED40BECA5
S123DA1588322727ED882FA68834A78831FCCC0EED8819B6CC10A7881BBDDDADBDD96925D4
S123DA35998D3E8604A788221CFE39BED40B6F88176C8812EC882FBDD620250DBDD77225D7
S123DA5508BDD69F2406BDDBC17ED9CFBED40BEC881EED88328610A78834BDD94725EA20EF
S123DA758ABED40BA684A7026F846F883B4FA78822398D28250E6F84441025FB7AC604E71B
S123DA9588221CFE39BED40BA6028183260B8603A702BDD69F102501131CFE398DE7250D50
S123DAB5BED40BA602810323F0C6121A01398DEC253181022708BED40B6F027ED50CA68829
S123DAD5122605BDDBA720198DC82517BED40B6D88172705BDDC98250ABDD9692505BDD9F3
S123DAF54724D339BDD9862528BDD60C252386032018BDD986251ABED40BA60F858026129B
S123DB15EC8813BDD62025098602BED40BA7021CFE39C60B1A01398D35BDD892252A2724BB
S123DB35BED40BC60BA68824A70430015A26F68D4D2515BED40BA60F858026D6856026093F
S123DB558D0C2055C6031A0139C60C1A0139BED40B860BB7D411A604E68835A78835E704F5
S123DB7530017AD41126EFBED40BA60C260CC603A6883DA70C30015A26F6BED40B398DCEA7
S123DB95BDD89225072606BED40B1CFE39C6041A0139BED40B86FFA704BDD969BED40B86F0
S123DBB500A70239ED8840BDD69F2414C5402608C580270AC6102006C60B2002C60A1A01C8
S123DBD539BDD917255E8DB8255ABED40BA60F8580265285602652BDD787BED41BEC0226F7
S123DBF50FBED40BEC88112733BED41BED842014BED40BBDD620252CBED40BEC8811271C29
S123DC158DA22520BED40BEC8813BED41BED02BED40BEC8815BED41BE304ED04BDDBA725A8
S123DC3503BDD94739C60B2002C60C1A0139EC881E5CE1883C2303C6014C10A38813260E4B
S123DC55A6883781FF27074CA788371CFE398D332530BED40BA6883A8B032616EC881E100D
S123DC75A388112705C6171A0139EC8840ED88388604A7883AEC8813ED88358601A7883780
S123DC951CFE39EC8838BDD62025F7BED40B1F12E6883A3AC603A6A8353121A788403001AF
S123DCB55A26F3BDD69F24DA7EDBC1BDD810BDD60C2546BED40B4F5FED8820A68867A7883B
S123DCD53C5F6F884030015A26F8BED40B1CFE39BED40BA68817271DEC88208300012A0355
S123DCF57EDD9AED8820BDDAB1250E4624076F84A688172605C6121A01397FD411EC88111D
S123DD1510AE8820276ABDDD9F25EE4F5F6D022774EB028900BFD40FBED40B10A3882024BB
S123DD352CBED40F30033402B6D4114CB7D4118154270881A83502274C20D23404BED40B73
S123DD55EC88408D45253E3504350220C0A38820BED40FA6023404A0E04A1F89A684EB011D
S123DD75BED40B2505E1883C2306E0883C4C20F5BDD6202514BED40BEC884210A38820272F
S123DD9514C6192002C6181A0139BDD6202508BED40BC6443A1CFE39BED40BC60BA688244F
S123DDB5A70430015A26F639BED40BA6034C8104240FA7032605BDDE0F2003BDDE1225E819
S109DDD539C6101A0139E1
S123DE007EDE377EDED87EDF057EDF177EDF357EDF607EDF607EDE2C7EDE367EDE6B000074
S123DE20000000000A0A0A0A0C0C03038EDE1EC6056F805A26FB398D32868C1A10B7E018F6
S123DE40170136C600B6E01885022608850126F51F89200AB6E01BA7805A26E98D05C51C20
S123DE601CEF39F6E018C50126F939F7E01AC10A220BF6DE1EC1012207C4BF2007F6DE1EEC
S123DE80C401CA40F7E014B1E01927493402B0E0191F893420108EDE28B6DE1E8401A6A6A8
S123DEA03520850827198504261584035D2A05508A6020028A4034048D1135045A26F78435
S123DEC0038A183504F7E01B1700AEB7E0181700A88D90C5107EDF798D9186AC1A10B7E062
S123DEE018170095C600B6E01885022608850126F51F89200BA680B7E01B5A26E917FF6303
S123DF00C55C1CEF39868C1A10B7E01817006A17FF511CEFC5183934108D1A8EDE28B6DE91
S123DF201E8401A68684038A08B7E0188D4B17FF32C5D83590A60381032305C60F1A013946
S123DF408D2DF6E019E784B7DE1E8101230484018A40B7E0148D18A684B7E0198D1B200B01
S123DF60A60381032305C6801A01395F1CFE398EDE1FF6DE1EC4013A3917000017000039E0
S9030000FC
1.1 System09/src/flex9/FLEX9CF8.S19
http://www.opencores.org/cvsweb.shtml/System09/src/flex9/FLEX9CF8.S19?rev=1.1&content-type=text/x-cvsweb-markup
Index: FLEX9CF8.S19
===================================================================
S123C7007EC7217EC7037EC7477EC7857EC7957EC71F0C00000000C810C810000000003BDC
S123C720121A10BECC3110EF027DCC3426118ECCFC7CCC346D842707BFCC3110EE023B8ED3
S123C740CCF87FCC3420F11A107DC71B2729BEC719A6843402EC018ECAC0ED88403502A712
S123C760036F848601A7026F88226F883B7DC71E2729113F1220F61CEFAD9FD3ED7FCCFCBC
S123C780113F1220F41A107DCC302705113F1220F47CCC30397FCC301CEF397DC71D2627BC
S123C7A08ECAC0BDD406261F7DC71C270F7FC71C810A270F3402860A8D3C3502810D26034B
S123C7C0B7C71C8D3120D4860D8D2B860A8D27B6C7128D227FC71DBEC7196D0327056A0332
S123C7E07EC74730048CC84026038EC810BFC7197AC71B7EC747BDCCD82B05113F1220F6C2
S106C8007ECCE403
S113C840FF000000535441525455500054585400B2
S123CA002006BDCAAC39C0A08639B7D3FDBECC2B308900A1BFCA06AD9FD3F1BED3FBBFCD14
S123CA200ABFCD0DBED3F9BFCD10BFCD13BED3F7BFCD4F8E00A0C6B9A684E78412E1842648
S123CA400BA78430890400BCCA0626EC3089FF5FBFCC2B8ECD03BFCC168ECADCBDCE81BD78
S123CA60CEB58D9EBDCEB58EC8408601A784BDD4062708A601BDD2007ECD678EC080BFCC75
S123CA80148EC840BDD406270534307ED2D7BECC14A780810D26E78EC840BDD1F48EC08054
S123CAA0BFCC148ECD67BFCC437ED32E8ECAECBDCE81BDCE2B8D1425F3B7CC0E8D0D25ECC9
S123CAC0B7CC0F8D0625E5B7CC1039BDD175250BB6CC1C5D27031CFE391A01393638303981
S121CAE020464C45582056332E3031044441544520284D4D2C44442C5959293F20048B
S123CC0008183A190004400000FF1B0001000000000000000000000000000000000000003E
S11ECC200000000000000000000000BFFF000001000000000000000000000036
S104CC496086
S123CC4E2B2B2B043F3F3F04574841543F0443414E2754205452414E53464552044E4F543E
S123CC6E20464F554E44044449534B204552524F52202304445249564553204E4F54205296
S11DCC8E454144590447455400D20F4D4F4E00D34B00271003E80064000A08
S123CD007ECD577ECD677ECDB17ECD097ECD0C7ECD0F7ECD127ECEFB7ECF417ECE2B7ECEC5
S123CD20817ECFED7ECEB57ED00E7ECDEA7ED0367ED1A27ED0EB7ED3497ECF867ECFD47EE8
S123CD40D27F7ED12F7ECFD07ED1757ED3297ECD4E7ECE057ECE0510CEC07F7FCC11BDD460
S123CD60007FCC28BDD3FD10CEC07FBDDE188ECD03BFCC168EC700AF9FD3E9BED3E7AF9FBB
S123CD80D3EB8ECCF8BFCC317FCC347FCC4C8D5AB6CC11B1CC0226057CCC1520147DCC2887
S123CDA010260597BDD40326B28ECC4EBDCE818D7ABDD0D4810D27E58EC8407CCC0DBDD003
S123CDC03625168ECC938D3E2709BECC1227078D3526036E9801BDD22E8ECC568615B7CCAF
S123CDE020BDCE817FCC117ECD67BECD13BFCD10BECD0DBFCD0A7FCC237FCC227FCC217FC7
S123CE00CC267FCC2439108EC844A6A0815F23028020A18026086D8426F06DA4270C6D8058
S123CE2026FC30026D8426DE1CFB398EC080BFCC14BDCEFBB1CC01271DB1CC00271F810D4F
S123CE40270D810A2732811F23E78CC0FF27E2A780810D26DC398ECC528D2620CE8CC080AF
S123CE6027F4301FB6CC07810826088620BDCF66B6CC07BDCF6620B9860DBDCF41862020F2
S123CE80C98D32A6848104276FBDCF41300120F3BDCD4E2765AD9FD3E5B1CC0A265C7FCCF4
S123CEA01AAD9FD3E5B1CC0A2750810326F37FCC116E9FCC167DCC2126278DD4B6CC0327A6
S123CEC020B1CC1A22187FCC1A7DCC0927028DCE3404F6CC0827058D085A26FB35047CCC63
S123CEE01A860D8D5C860A8D583404F6CC0527064F8D4E5A26FA35041CFE397DCC23261A1B
S123CF007DCC2627108D1A7DCC2F27117DCC24270C8D532008BDCD092003BDCD0C7FCC1AB7
S123CF2039BFCC47BECC262006BFCC47BECC24BDD4062604BECC47397FCC24BDD27F7ECDF9
S123CF40037DCC212620811F22057FCC2920177CCC293402B6CC04270BB1CC292406BDCEEE
S123CF60B57CCC29350234027DCC2226137DCC2427048DB5200D7DCC262608BDCD0F200316
S123CF80BDCD123502397FCC4AF7CC1D8604B7CC4DEC848ECCA08D0B30027ACC4D26F71FAF
S123CFA098203D7FCC4B10A3842507A3847CCC4B20F43402B6CC4B26107DCC4A260B7DCC6B
S123CFC01D270B86208D2320057CCC4A8D1235828D023001A6848D04A684200444444444C2
S123CFE0840F8B30813923028B077ECF4181302514813923168141250C815A230E816125FD
S123D00004817A23061A01B7CC11391CFE393410BECC14B6CC18B7CC19A680B7CC18810D42
S123D0202710B1CC02270BBFCC1481202604A18427E78DB935908615A70186FFA7036F0477
S123D0406F0CBDD0D48608B7CC4B8D34252E260F8D2E25282609BCCC3F276C8D232368BEC1
S123D060CC3F6D0427616D032A0F7DCC0D2705B6CC0B2003B6CC0CA7037FCC0DBECC3F393B
S123D0808D8C254381392215BECC3F6D032A388403A703BDD00E242F812E1CFE39F6CC4B51
S123D0A02B253404C005F7CC4B3504B1CC4925028020A70430015ABDD00E2408812D270475
S123D0C0815F26065D26E41A01395D27CB6F0430015A20F6BFCC3FBECC14A68481202604C5
S123D0E0300120F6BFCC14BECC3F393430E60C2618108ED10B810B2210C6033D31A5C603D3
S123D100A6A0A70C30015A26F735B042494E545854434D4442415353595342414B5343524D
S123D1204441544241434449525052544F5554BDD21EBDD00E25228D2625183404C6047886
S123D140CC1C79CC1B5A26F73504BBCC1CB7CC1C5C20DFBDD00E24FB39BECC1B1CFE3980CB
S123D160472A0F8B062A048B072A078B0A2B031CFE391A0139BDD21EBDD00E25DC8139221A
S123D180D2840F34043402FCCC1B584958495849F3CC1BF3CC1BEBE08900FDCC1B35045C71
S123D1A020D67FCC1D8D3D81022715811626F68D33B7CC1E8D2EB7CC1F8601B7CC1D20E5E7
S123D1C08D221F898D1E1E89F3CC1BFDCC3D8D141F894D27D08D0DBECC3DA780BFCC3D5A8B
S123D1E026F320C18EC840BDD4062711A6018108260E32628604A784BDD406260D1CFE3902
S123D200B7CC20810426031A01398D737ECDE486008D35250F8D077CCC4C8D8620F14F5FC0
S123D220FDCC1B39F6CC4C1027FBAE7ECD0386028D228DEABDD1A2F6CC1D27046E9FCC1EB2
S123D2408ECC5C86817ECDDE34028EC840BDD0363502251A8EC840BDD0EB8EC8408601A70D
S123D26084BDD1E4102500BB86FFA7883B39B6CC11810D2707B1CC021026FB5D1A013934B8
S123D28030A601B7CC202763BDCDEA10BECC2D260881102758108ED3618EC8406D02270906
S123D2A08604A784BDD406262E8EC838C60B8D6E8EC840B6CC0BA7038601A784BDD4062634
S123D2C016B6CC204A47474C6F8820A788218615A784BDD406271E8ECC75BDCE81BECC3FC1
S123D2E0B6CC20A7016F845FBDCF8635B08ECC82BDCE8120F6BDCEB58EC840B6CC204A8453
S123D30003C63F3DCB04E78822BDD40626C9BDCF41810D26F48604A784BDD40620CD3430CC
S123D3207ED1008ECC6B7ECDE13506FDCC4310FFCC457FCC207CCC287ECDB87FCC2810FEE3
S123D340CC45F6CC206E9FCC433A397DCCFC26046E9FD3F38EC840861BA701BDD27F7ECDCD
S10FD360674552524F525300005359537A
S106CCC07ED370AC
S106CCD87ED37094
S106CCE47ED37088
S10BCCF801000000000000002F
S11BD370397ED3706E9FF8046E9FF8006E9FF8086E9FF80A6E9FF80672
S123D3E5D374D370DFC2DFC8D370D370D370D378D371D37CD380D3847ECA007ED4367ED4DF
S123D405597ED47B204449534B204F5045524154494E472053595354454D20434F50595217
S123D4254947485420284329203139383020425920544543484E4943414C205359535445F3
S111D4454D5320434F4E53554C54414E5453B7
S123D435FFBDDE158ED409C60A8D118E0005BFD413BFD4157FD41A8ED41BC61A6F805A2631
S123D455FB7EC70CBDC709BED40927EB3088E4BFD40B3420BDDAC3352024ECBED40B6F02D2
S123D475BDC70CC6FF397DCCFC2703BDC7093424BFD40B6F01E6842622E602271AC10227DE
S123D49511BDD5B4BED40B25267DCCFC26235F352439BDD6CF20EDC6122014C1162304C676
S123D4B501200C5A588ED4CEAD95BED40B2402E701BDC70C6D01352439D986D9D9DAF9DA09
S123D4D5C3D5E2D81DD838D876D641D69FD969DBD6DB2CD699DA87D810D56FD590DB07DDC0
S123D4F5BDDCFBDCE58D202605C6021A0139ED84AE846F846F01398D0E2705C60D1A01399D
S123D515EC94ED841CFE39FCD40BC3001C8ED40910AE8426031CFB3910A384260139AE8405
S123D53520EEBED40B4F5F8D02C62FA7881130015A26F839BED40BC60BA604A78824300137
S123D5555A26F639BED40BC60BA6043402A68824A1E0260530015A26F039BED40BE6025404
S123D5752479E688237ED600BED40BE688226C88223AA788405C261F1A0139BED40BE602AA
S123D595C403C1032655CA80E702E60FC580260AE688233AA788401CFE39C60B1A0139A677
S123D5B5883B2B3C27076A883B8620201D8D31251B8118221527F68109260C8D23250DBEA3
S123D5D5D40BA7883B20D84D27E31CFE39BDDAB1250985012705A7847ED9A0C6121A0139D1
S123D5F5BED40BE68822270A6C88223AA688401CFE398D0324EA39BED40BEC88406C882166
S123D61526036C882010830000271CED881E34028604A7882235028D132410C5802704C6F9
S123D635102006C6092002C6081A01398D25BED40BBDDE0C25128D11BDDE0026031CFE39A6
S123D65534048D17350424EE39BED40BEC881E308840394FB7D411B7D41239C5102611C55F
S123D675802624F6D4115CC1072705F7D41120147FD411F6D4125CC104270CF7D412BED489
S123D6950BBDDE091CFE391A01398DC7BED40BBDDE0C2520BED40B8DB0BDDE03260AB6D40C
S123D6B5352737BDDE062732C540260B34048DAB350424E039C6201A0139BED40BE6883B28
S123D6D52B3D8120260F5CE7883BC17F260C200D8D0B24E6395D272720F61CFE393402C168
S123D6F50126048620201086098D143502250F3402BED40BA6883B6F883B8D03350239BE49
S123D715D40BE602C1021026FED1E68822C104260834028D213502250FBDD57D240AC60488
S123D735BED40BE788221CFE39BED40B4F5FED8820ED88422027E688122622E688172744B9
S123D7556F88178D3F252A8DE025268DDC2522BED40BC602E78817EC88117EDC828D0EBE7A
S123D775D40BED8840BDD69F241A7EDBC18D03EC8439BED40BE60386063D8ED41D3ABFD49E
S123D7951B6D84398DE72605C6071A0139BED40BED88136D88122603ED88116C881626035D
S123D7B56C88156D8817270BBDDC4325DDBED40BEC8813BDD62025D2BED40BEC88403406D2
S123D7D58DB03506ED84260A6F026F036F046F05200810AE04313F10AF044FBED40B6C8850
S123D7F52126036C88205FA7884030015A26F8BED40BEC8820ED88421CFE395F3404C603A0
S123D815200EBED415BFD413F6D4133404F6D414BED40BE788413504E788407FD4185FE79B
S123D835882239BED40BE68822261DBDD60C2530BED40B7DD4182605DC44FDD4188610A711
S123D8558822EC881EED882FA68822A78831C6183414BDD5F53514A70430015A26F21CFEC1
S123D87539BED40BA68831A78822C6183414A604BDD714351430015A26F27ED69FBED40B15
S123D895A603A78823B6D4177DD41A2631A703BED415BFD4138C0005270C8D222337BED4BB
S123D8B518BFD41320EFBED40BA68823A7032A0EBDDDBD25368D07231CBDDDAD20F2BED442
S123D8D50B7FD41ABDD549BDD81DBDD8382407C10827181A0139BED40BA604270C2A028DA3
S123D8F50FBDD55926E41CFE398D051CFB1CFE39A68833260CEC882FED8832A68831A78851
S123D9153439BDD78726178D182515C60610BED40BBED41BA6A85D3121A7805A26F61CFE70
S123D93539BDD810BDD60C2508BED40BC610E7882239BDD7878DEA25F8C60610BED40BBE01
S123D955D41BA680A7A85D31215A26F6BDD69F24E07EDBC1BED40B8602A702EC882FED88EF
S123D9751EBDD6412508BDD87624057EDBC1C60A39BDD4FA253DBDD8922538263BBED40BA9
S123D9957DD41A2706A60F85202629BDDCC0252AEC8811ED8840BDDA76E688172713340447
S123D9B5BDD60C3504250C5A26F4BED40B5FE788221CFE39C6112002C6043404BDD50C3523
S123D9D5041A0139BED40B6D032A08BDDDBD2403C61039BDD4FA25E2BDD537BDD91725DA03
S123D9F5BDD89225D52604C60320CFBDDCC025CABED40BC60A6F0F30015A26F9BED40BECA5
S123DA1588322727ED882FA68834A78831FCCC0EED8819B6CC10A7881BBDDDADBDD96925D4
S123DA35998D3E8604A788221CFE39BED40B6F88176C8812EC882FBDD620250DBDD77225D7
S123DA5508BDD69F2406BDDBC17ED9CFBED40BEC881EED88328610A78834BDD94725EA20EF
S123DA758ABED40BA684A7026F846F883B4FA78822398D28250E6F84441025FB7AC604E71B
S123DA9588221CFE39BED40BA6028183260B8603A702BDD69F102501131CFE398DE7250D50
S123DAB5BED40BA602810323F0C6121A01398DEC253181022708BED40B6F027ED50CA68829
S123DAD5122605BDDBA720198DC82517BED40B6D88172705BDDC98250ABDD9692505BDD9F3
S123DAF54724D339BDD9862528BDD60C252386032018BDD986251ABED40BA60F858026129B
S123DB15EC8813BDD62025098602BED40BA7021CFE39C60B1A01398D35BDD892252A2724BB
S123DB35BED40BC60BA68824A70430015A26F68D4D2515BED40BA60F858026D6856026093F
S123DB558D0C2055C6031A0139C60C1A0139BED40B860BB7D411A604E68835A78835E704F5
S123DB7530017AD41126EFBED40BA60C260CC603A6883DA70C30015A26F6BED40B398DCEA7
S123DB95BDD89225072606BED40B1CFE39C6041A0139BED40B86FFA704BDD969BED40B86F0
S123DBB500A70239ED8840BDD69F2414C5402608C580270AC6102006C60B2002C60A1A01C8
S123DBD539BDD917255E8DB8255ABED40BA60F8580265285602652BDD787BED41BEC0226F7
S123DBF50FBED40BEC88112733BED41BED842014BED40BBDD620252CBED40BEC8811271C29
S123DC158DA22520BED40BEC8813BED41BED02BED40BEC8815BED41BE304ED04BDDBA725A8
S123DC3503BDD94739C60B2002C60C1A0139EC881E5CE1883C2303C6014C10A38813260E4B
S123DC55A6883781FF27074CA788371CFE398D332530BED40BA6883A8B032616EC881E100D
S123DC75A388112705C6171A0139EC8840ED88388604A7883AEC8813ED88358601A7883780
S123DC951CFE39EC8838BDD62025F7BED40B1F12E6883A3AC603A6A8353121A788403001AF
S123DCB55A26F3BDD69F24DA7EDBC1BDD810BDD60C2546BED40B4F5FED8820A68867A7883B
S123DCD53C5F6F884030015A26F8BED40B1CFE39BED40BA68817271DEC88208300012A0355
S123DCF57EDD9AED8820BDDAB1250E4624076F84A688172605C6121A01397FD411EC88111D
S123DD1510AE8820276ABDDD9F25EE4F5F6D022774EB028900BFD40FBED40B10A3882024BB
S123DD352CBED40F30033402B6D4114CB7D4118154270881A83502274C20D23404BED40B73
S123DD55EC88408D45253E3504350220C0A38820BED40FA6023404A0E04A1F89A684EB011D
S123DD75BED40B2505E1883C2306E0883C4C20F5BDD6202514BED40BEC884210A38820272F
S123DD9514C6192002C6181A0139BDD6202508BED40BC6443A1CFE39BED40BC60BA688244F
S123DDB5A70430015A26F639BED40BA6034C8104240FA7032605BDDE0F2003BDDE1225E819
S109DDD539C6101A0139E1
S123DE007EDE4B7EDE6C7EDE8E7EDE327EDE907EDE9C7EDE9C7EDE1F7EDE4A7EDE37008DFA
S123DE207F86E0B7E0468601B7E04186EFB7E047206E8D5C4FC6015AF7E043B7E044F6DEBA
S123DE401EF7E045C601F7E0425F398DEA8620B7E0478D4C5F8D58B6E040A7805A26F65F22
S123DE608D4DB6E0405A26F88D365F398DC98630B7E0478D2B5F8D37A680B7E0405A26F6E3
S123DE805F8D2C4FB7E0405A26F78D145F395F39A603810323014FB7DE1E5F39A6035F39CC
S11ADEA0B6E047858026F9B6E047854027F239B6E047850827F939AF
S9030000FC
1.1 System09/src/flex9/FLEX9IDE.S19
http://www.opencores.org/cvsweb.shtml/System09/src/flex9/FLEX9IDE.S19?rev=1.1&content-type=text/x-cvsweb-markup
Index: FLEX9IDE.S19
===================================================================
S123C7007EC7217EC7037EC7477EC7857EC7957EC71F0C00000000C810C810000000003BDC
S123C720121A10BECC3110EF027DCC3426118ECCFC7CCC346D842707BFCC3110EE023B8ED3
S123C740CCF87FCC3420F11A107DC71B2729BEC719A6843402EC018ECAC0ED88403502A712
S123C760036F848601A7026F88226F883B7DC71E2729113F1220F61CEFAD9FD3ED7FCCFCBC
S123C780113F1220F41A107DCC302705113F1220F47CCC30397FCC301CEF397DC71D2627BC
S123C7A08ECAC0BDD406261F7DC71C270F7FC71C810A270F3402860A8D3C3502810D26034B
S123C7C0B7C71C8D3120D4860D8D2B860A8D27B6C7128D227FC71DBEC7196D0327056A0332
S123C7E07EC74730048CC84026038EC810BFC7197AC71B7EC747BDCCD82B05113F1220F6C2
S106C8007ECCE403
S113C840FF000000535441525455500054585400B2
S123CA002006BDCAAC39C0A08639B7D3FDBECC2B308900A1BFCA06AD9FD3F1BED3FBBFCD14
S123CA200ABFCD0DBED3F9BFCD10BFCD13BED3F7BFCD4F8E00A0C6B9A684E78412E1842648
S123CA400BA78430890400BCCA0626EC3089FF5FBFCC2B8ECD03BFCC168ECADCBDCE81BD78
S123CA60CEB58D9EBDCEB58EC8408601A784BDD4062708A601BDD2007ECD678EC080BFCC75
S123CA80148EC840BDD406270534307ED2D7BECC14A780810D26E78EC840BDD1F48EC08054
S123CAA0BFCC148ECD67BFCC437ED32E8ECAECBDCE81BDCE2B8D1425F3B7CC0E8D0D25ECC9
S123CAC0B7CC0F8D0625E5B7CC1039BDD175250BB6CC1C5D27031CFE391A01393638303981
S121CAE020464C45582056332E3031044441544520284D4D2C44442C5959293F20048B
S123CC0008183A190004400000FF1B0001000000000000000000000000000000000000003E
S11ECC200000000000000000000000BFFF000001000000000000000000000036
S104CC496086
S123CC4E2B2B2B043F3F3F04574841543F0443414E2754205452414E53464552044E4F543E
S123CC6E20464F554E44044449534B204552524F52202304445249564553204E4F54205296
S11DCC8E454144590447455400D20F4D4F4E00D34B00271003E80064000A08
S123CD007ECD577ECD677ECDB17ECD097ECD0C7ECD0F7ECD127ECEFB7ECF417ECE2B7ECEC5
S123CD20817ECFED7ECEB57ED00E7ECDEA7ED0367ED1A27ED0EB7ED3497ECF867ECFD47EE8
S123CD40D27F7ED12F7ECFD07ED1757ED3297ECD4E7ECE057ECE0510CEC07F7FCC11BDD460
S123CD60007FCC28BDD3FD10CEC07FBDDE188ECD03BFCC168EC700AF9FD3E9BED3E7AF9FBB
S123CD80D3EB8ECCF8BFCC317FCC347FCC4C8D5AB6CC11B1CC0226057CCC1520147DCC2887
S123CDA010260597BDD40326B28ECC4EBDCE818D7ABDD0D4810D27E58EC8407CCC0DBDD003
S123CDC03625168ECC938D3E2709BECC1227078D3526036E9801BDD22E8ECC568615B7CCAF
S123CDE020BDCE817FCC117ECD67BECD13BFCD10BECD0DBFCD0A7FCC237FCC227FCC217FC7
S123CE00CC267FCC2439108EC844A6A0815F23028020A18026086D8426F06DA4270C6D8058
S123CE2026FC30026D8426DE1CFB398EC080BFCC14BDCEFBB1CC01271DB1CC00271F810D4F
S123CE40270D810A2732811F23E78CC0FF27E2A780810D26DC398ECC528D2620CE8CC080AF
S123CE6027F4301FB6CC07810826088620BDCF66B6CC07BDCF6620B9860DBDCF41862020F2
S123CE80C98D32A6848104276FBDCF41300120F3BDCD4E2765AD9FD3E5B1CC0A265C7FCCF4
S123CEA01AAD9FD3E5B1CC0A2750810326F37FCC116E9FCC167DCC2126278DD4B6CC0327A6
S123CEC020B1CC1A22187FCC1A7DCC0927028DCE3404F6CC0827058D085A26FB35047CCC63
S123CEE01A860D8D5C860A8D583404F6CC0527064F8D4E5A26FA35041CFE397DCC23261A1B
S123CF007DCC2627108D1A7DCC2F27117DCC24270C8D532008BDCD092003BDCD0C7FCC1AB7
S123CF2039BFCC47BECC262006BFCC47BECC24BDD4062604BECC47397FCC24BDD27F7ECDF9
S123CF40037DCC212620811F22057FCC2920177CCC293402B6CC04270BB1CC292406BDCEEE
S123CF60B57CCC29350234027DCC2226137DCC2427048DB5200D7DCC262608BDCD0F200316
S123CF80BDCD123502397FCC4AF7CC1D8604B7CC4DEC848ECCA08D0B30027ACC4D26F71FAF
S123CFA098203D7FCC4B10A3842507A3847CCC4B20F43402B6CC4B26107DCC4A260B7DCC6B
S123CFC01D270B86208D2320057CCC4A8D1235828D023001A6848D04A684200444444444C2
S123CFE0840F8B30813923028B077ECF4181302514813923168141250C815A230E816125FD
S123D00004817A23061A01B7CC11391CFE393410BECC14B6CC18B7CC19A680B7CC18810D42
S123D0202710B1CC02270BBFCC1481202604A18427E78DB935908615A70186FFA7036F0477
S123D0406F0CBDD0D48608B7CC4B8D34252E260F8D2E25282609BCCC3F276C8D232368BEC1
S123D060CC3F6D0427616D032A0F7DCC0D2705B6CC0B2003B6CC0CA7037FCC0DBECC3F393B
S123D0808D8C254381392215BECC3F6D032A388403A703BDD00E242F812E1CFE39F6CC4B51
S123D0A02B253404C005F7CC4B3504B1CC4925028020A70430015ABDD00E2408812D270475
S123D0C0815F26065D26E41A01395D27CB6F0430015A20F6BFCC3FBECC14A68481202604C5
S123D0E0300120F6BFCC14BECC3F393430E60C2618108ED10B810B2210C6033D31A5C603D3
S123D100A6A0A70C30015A26F735B042494E545854434D4442415353595342414B5343524D
S123D1204441544241434449525052544F5554BDD21EBDD00E25228D2625183404C6047886
S123D140CC1C79CC1B5A26F73504BBCC1CB7CC1C5C20DFBDD00E24FB39BECC1B1CFE3980CB
S123D160472A0F8B062A048B072A078B0A2B031CFE391A0139BDD21EBDD00E25DC8139221A
S123D180D2840F34043402FCCC1B584958495849F3CC1BF3CC1BEBE08900FDCC1B35045C71
S123D1A020D67FCC1D8D3D81022715811626F68D33B7CC1E8D2EB7CC1F8601B7CC1D20E5E7
S123D1C08D221F898D1E1E89F3CC1BFDCC3D8D141F894D27D08D0DBECC3DA780BFCC3D5A8B
S123D1E026F320C18EC840BDD4062711A6018108260E32628604A784BDD406260D1CFE3902
S123D200B7CC20810426031A01398D737ECDE486008D35250F8D077CCC4C8D8620F14F5FC0
S123D220FDCC1B39F6CC4C1027FBAE7ECD0386028D228DEABDD1A2F6CC1D27046E9FCC1EB2
S123D2408ECC5C86817ECDDE34028EC840BDD0363502251A8EC840BDD0EB8EC8408601A70D
S123D26084BDD1E4102500BB86FFA7883B39B6CC11810D2707B1CC021026FB5D1A013934B8
S123D28030A601B7CC202763BDCDEA10BECC2D260881102758108ED3618EC8406D02270906
S123D2A08604A784BDD406262E8EC838C60B8D6E8EC840B6CC0BA7038601A784BDD4062634
S123D2C016B6CC204A47474C6F8820A788218615A784BDD406271E8ECC75BDCE81BECC3FC1
S123D2E0B6CC20A7016F845FBDCF8635B08ECC82BDCE8120F6BDCEB58EC840B6CC204A8453
S123D30003C63F3DCB04E78822BDD40626C9BDCF41810D26F48604A784BDD40620CD3430CC
S123D3207ED1008ECC6B7ECDE13506FDCC4310FFCC457FCC207CCC287ECDB87FCC2810FEE3
S123D340CC45F6CC206E9FCC433A397DCCFC26046E9FD3F38EC840861BA701BDD27F7ECDCD
S10FD360674552524F525300005359537A
S106CCC07ED370AC
S106CCD87ED37094
S106CCE47ED37088
S10BCCF801000000000000002F
S11BD370397ED3706E9FF8046E9FF8006E9FF8086E9FF80A6E9FF80672
S123D3E5D374D370DFC2DFC8D370D370D370D378D371D37CD380D3847ECA007ED4367ED4DF
S123D405597ED47B204449534B204F5045524154494E472053595354454D20434F50595217
S123D4254947485420284329203139383020425920544543484E4943414C205359535445F3
S111D4454D5320434F4E53554C54414E5453B7
S123D435FFBDDE158ED409C60A8D118E0005BFD413BFD4157FD41A8ED41BC61A6F805A2631
S123D455FB7EC70CBDC709BED40927EB3088E4BFD40B3420BDDAC3352024ECBED40B6F02D2
S123D475BDC70CC6FF397DCCFC2703BDC7093424BFD40B6F01E6842622E602271AC10227DE
S123D49511BDD5B4BED40B25267DCCFC26235F352439BDD6CF20EDC6122014C1162304C676
S123D4B501200C5A588ED4CEAD95BED40B2402E701BDC70C6D01352439D986D9D9DAF9DA09
S123D4D5C3D5E2D81DD838D876D641D69FD969DBD6DB2CD699DA87D810D56FD590DB07DDC0
S123D4F5BDDCFBDCE58D202605C6021A0139ED84AE846F846F01398D0E2705C60D1A01399D
S123D515EC94ED841CFE39FCD40BC3001C8ED40910AE8426031CFB3910A384260139AE8405
S123D53520EEBED40B4F5F8D02C62FA7881130015A26F839BED40BC60BA604A78824300137
S123D5555A26F639BED40BC60BA6043402A68824A1E0260530015A26F039BED40BE6025404
S123D5752479E688237ED600BED40BE688226C88223AA788405C261F1A0139BED40BE602AA
S123D595C403C1032655CA80E702E60FC580260AE688233AA788401CFE39C60B1A0139A677
S123D5B5883B2B3C27076A883B8620201D8D31251B8118221527F68109260C8D23250DBEA3
S123D5D5D40BA7883B20D84D27E31CFE39BDDAB1250985012705A7847ED9A0C6121A0139D1
S123D5F5BED40BE68822270A6C88223AA688401CFE398D0324EA39BED40BEC88406C882166
S123D61526036C882010830000271CED881E34028604A7882235028D132410C5802704C6F9
S123D635102006C6092002C6081A01398D25BED40BBDDE0C25128D11BDDE0026031CFE39A6
S123D65534048D17350424EE39BED40BEC881E308840394FB7D411B7D41239C5102611C55F
S123D675802624F6D4115CC1072705F7D41120147FD411F6D4125CC104270CF7D412BED489
S123D6950BBDDE091CFE391A01398DC7BED40BBDDE0C2520BED40B8DB0BDDE03260AB6D40C
S123D6B5352737BDDE062732C540260B34048DAB350424E039C6201A0139BED40BE6883B28
S123D6D52B3D8120260F5CE7883BC17F260C200D8D0B24E6395D272720F61CFE393402C168
S123D6F50126048620201086098D143502250F3402BED40BA6883B6F883B8D03350239BE49
S123D715D40BE602C1021026FED1E68822C104260834028D213502250FBDD57D240AC60488
S123D735BED40BE788221CFE39BED40B4F5FED8820ED88422027E688122622E688172744B9
S123D7556F88178D3F252A8DE025268DDC2522BED40BC602E78817EC88117EDC828D0EBE7A
S123D775D40BED8840BDD69F241A7EDBC18D03EC8439BED40BE60386063D8ED41D3ABFD49E
S123D7951B6D84398DE72605C6071A0139BED40BED88136D88122603ED88116C881626035D
S123D7B56C88156D8817270BBDDC4325DDBED40BEC8813BDD62025D2BED40BEC88403406D2
S123D7D58DB03506ED84260A6F026F036F046F05200810AE04313F10AF044FBED40B6C8850
S123D7F52126036C88205FA7884030015A26F8BED40BEC8820ED88421CFE395F3404C603A0
S123D815200EBED415BFD413F6D4133404F6D414BED40BE788413504E788407FD4185FE79B
S123D835882239BED40BE68822261DBDD60C2530BED40B7DD4182605DC44FDD4188610A711
S123D8558822EC881EED882FA68822A78831C6183414BDD5F53514A70430015A26F21CFEC1
S123D87539BED40BA68831A78822C6183414A604BDD714351430015A26F27ED69FBED40B15
S123D895A603A78823B6D4177DD41A2631A703BED415BFD4138C0005270C8D222337BED4BB
S123D8B518BFD41320EFBED40BA68823A7032A0EBDDDBD25368D07231CBDDDAD20F2BED442
S123D8D50B7FD41ABDD549BDD81DBDD8382407C10827181A0139BED40BA604270C2A028DA3
S123D8F50FBDD55926E41CFE398D051CFB1CFE39A68833260CEC882FED8832A68831A78851
S123D9153439BDD78726178D182515C60610BED40BBED41BA6A85D3121A7805A26F61CFE70
S123D93539BDD810BDD60C2508BED40BC610E7882239BDD7878DEA25F8C60610BED40BBE01
S123D955D41BA680A7A85D31215A26F6BDD69F24E07EDBC1BED40B8602A702EC882FED88EF
S123D9751EBDD6412508BDD87624057EDBC1C60A39BDD4FA253DBDD8922538263BBED40BA9
S123D9957DD41A2706A60F85202629BDDCC0252AEC8811ED8840BDDA76E688172713340447
S123D9B5BDD60C3504250C5A26F4BED40B5FE788221CFE39C6112002C6043404BDD50C3523
S123D9D5041A0139BED40B6D032A08BDDDBD2403C61039BDD4FA25E2BDD537BDD91725DA03
S123D9F5BDD89225D52604C60320CFBDDCC025CABED40BC60A6F0F30015A26F9BED40BECA5
S123DA1588322727ED882FA68834A78831FCCC0EED8819B6CC10A7881BBDDDADBDD96925D4
S123DA35998D3E8604A788221CFE39BED40B6F88176C8812EC882FBDD620250DBDD77225D7
S123DA5508BDD69F2406BDDBC17ED9CFBED40BEC881EED88328610A78834BDD94725EA20EF
S123DA758ABED40BA684A7026F846F883B4FA78822398D28250E6F84441025FB7AC604E71B
S123DA9588221CFE39BED40BA6028183260B8603A702BDD69F102501131CFE398DE7250D50
S123DAB5BED40BA602810323F0C6121A01398DEC253181022708BED40B6F027ED50CA68829
S123DAD5122605BDDBA720198DC82517BED40B6D88172705BDDC98250ABDD9692505BDD9F3
S123DAF54724D339BDD9862528BDD60C252386032018BDD986251ABED40BA60F858026129B
S123DB15EC8813BDD62025098602BED40BA7021CFE39C60B1A01398D35BDD892252A2724BB
S123DB35BED40BC60BA68824A70430015A26F68D4D2515BED40BA60F858026D6856026093F
S123DB558D0C2055C6031A0139C60C1A0139BED40B860BB7D411A604E68835A78835E704F5
S123DB7530017AD41126EFBED40BA60C260CC603A6883DA70C30015A26F6BED40B398DCEA7
S123DB95BDD89225072606BED40B1CFE39C6041A0139BED40B86FFA704BDD969BED40B86F0
S123DBB500A70239ED8840BDD69F2414C5402608C580270AC6102006C60B2002C60A1A01C8
S123DBD539BDD917255E8DB8255ABED40BA60F8580265285602652BDD787BED41BEC0226F7
S123DBF50FBED40BEC88112733BED41BED842014BED40BBDD620252CBED40BEC8811271C29
S123DC158DA22520BED40BEC8813BED41BED02BED40BEC8815BED41BE304ED04BDDBA725A8
S123DC3503BDD94739C60B2002C60C1A0139EC881E5CE1883C2303C6014C10A38813260E4B
S123DC55A6883781FF27074CA788371CFE398D332530BED40BA6883A8B032616EC881E100D
S123DC75A388112705C6171A0139EC8840ED88388604A7883AEC8813ED88358601A7883780
S123DC951CFE39EC8838BDD62025F7BED40B1F12E6883A3AC603A6A8353121A788403001AF
S123DCB55A26F3BDD69F24DA7EDBC1BDD810BDD60C2546BED40B4F5FED8820A68867A7883B
S123DCD53C5F6F884030015A26F8BED40B1CFE39BED40BA68817271DEC88208300012A0355
S123DCF57EDD9AED8820BDDAB1250E4624076F84A688172605C6121A01397FD411EC88111D
S123DD1510AE8820276ABDDD9F25EE4F5F6D022774EB028900BFD40FBED40B10A3882024BB
S123DD352CBED40F30033402B6D4114CB7D4118154270881A83502274C20D23404BED40B73
S123DD55EC88408D45253E3504350220C0A38820BED40FA6023404A0E04A1F89A684EB011D
S123DD75BED40B2505E1883C2306E0883C4C20F5BDD6202514BED40BEC884210A38820272F
S123DD9514C6192002C6181A0139BDD6202508BED40BC6443A1CFE39BED40BC60BA688244F
S123DDB5A70430015A26F639BED40BA6034C8104240FA7032605BDDE0F2003BDDE1225E819
S109DDD539C6101A0139E1
S123DE007EDE537EDE747EDE967EDE337EDE987EDEA47EDEA47EDE1F7EDE527EDE3800CC81
S123DE200006FDE11ECC0002FDE11ECC00E0FDE10C20758D634FC6015A34024FFDE106E638
S123DE40E4FDE108F6DE1EFDE10AC601FDE10435025F398DE3CC0020FDE10E8D4B3420101E
S123DE608E01008D52FCE100E780313F26F535208D365F398DC2CC0030FDE10E8D2A34206F
S123DE80108E01004F8D30E680FDE100313F26F535208D145F395F39A603810323014FB787
S122DEA0DE1E5F39A6035F39FCE10EC58026F9FCE10EC54027F239FCE10EC50827F939E8
S9030000FC
1.1 System09/src/flex9/FLEX9RAM.S19
http://www.opencores.org/cvsweb.shtml/System09/src/flex9/FLEX9RAM.S19?rev=1.1&content-type=text/x-cvsweb-markup
Index: FLEX9RAM.S19
===================================================================
S123C7007EC7217EC7037EC7477EC7857EC7957EC71F0C00000000C810C810000000003BDC
S123C720121A10BECC3110EF027DCC3426118ECCFC7CCC346D842707BFCC3110EE023B8ED3
S123C740CCF87FCC3420F11A107DC71B2729BEC719A6843402EC018ECAC0ED88403502A712
S123C760036F848601A7026F88226F883B7DC71E2729113F1220F61CEFAD9FD3ED7FCCFCBC
S123C780113F1220F41A107DCC302705113F1220F47CCC30397FCC301CEF397DC71D2627BC
S123C7A08ECAC0BDD406261F7DC71C270F7FC71C810A270F3402860A8D3C3502810D26034B
S123C7C0B7C71C8D3120D4860D8D2B860A8D27B6C7128D227FC71DBEC7196D0327056A0332
S123C7E07EC74730048CC84026038EC810BFC7197AC71B7EC747BDCCD82B05113F1220F6C2
S106C8007ECCE403
S113C840FF000000535441525455500054585400B2
S123CA002006BDCAAC39C0A08639B7D3FDBECC2B308900A1BFCA06AD9FD3F1BED3FBBFCD14
S123CA200ABFCD0DBED3F9BFCD10BFCD13BED3F7BFCD4F8E00A0C6B9A684E78412E1842648
S123CA400BA78430890400BCCA0626EC3089FF5FBFCC2B8ECD03BFCC168ECADCBDCE81BD78
S123CA60CEB58D9EBDCEB58EC8408601A784BDD4062708A601BDD2007ECD678EC080BFCC75
S123CA80148EC840BDD406270534307ED2D7BECC14A780810D26E78EC840BDD1F48EC08054
S123CAA0BFCC148ECD67BFCC437ED32E8ECAECBDCE81BDCE2B8D1425F3B7CC0E8D0D25ECC9
S123CAC0B7CC0F8D0625E5B7CC1039BDD175250BB6CC1C5D27031CFE391A01393638303981
S121CAE020464C45582056332E3031044441544520284D4D2C44442C5959293F20048B
S123CC0008183A190004400000FF1B0001000000000000000000000000000000000000003E
S11ECC200000000000000000000000BFFF000001000000000000000000000036
S104CC496086
S123CC4E2B2B2B043F3F3F04574841543F0443414E2754205452414E53464552044E4F543E
S123CC6E20464F554E44044449534B204552524F52202304445249564553204E4F54205296
S11DCC8E454144590447455400D20F4D4F4E00D34B00271003E80064000A08
S123CD007ECD577ECD677ECDB17ECD097ECD0C7ECD0F7ECD127ECEFB7ECF417ECE2B7ECEC5
S123CD20817ECFED7ECEB57ED00E7ECDEA7ED0367ED1A27ED0EB7ED3497ECF867ECFD47EE8
S123CD40D27F7ED12F7ECFD07ED1757ED3297ECD4E7ECE057ECE0510CEC07F7FCC11BDD460
S123CD60007FCC28BDD3FD10CEC07FBDDE188ECD03BFCC168EC700AF9FD3E9BED3E7AF9FBB
S123CD80D3EB8ECCF8BFCC317FCC347FCC4C8D5AB6CC11B1CC0226057CCC1520147DCC2887
S123CDA010260597BDD40326B28ECC4EBDCE818D7ABDD0D4810D27E58EC8407CCC0DBDD003
S123CDC03625168ECC938D3E2709BECC1227078D3526036E9801BDD22E8ECC568615B7CCAF
S123CDE020BDCE817FCC117ECD67BECD13BFCD10BECD0DBFCD0A7FCC237FCC227FCC217FC7
S123CE00CC267FCC2439108EC844A6A0815F23028020A18026086D8426F06DA4270C6D8058
S123CE2026FC30026D8426DE1CFB398EC080BFCC14BDCEFBB1CC01271DB1CC00271F810D4F
S123CE40270D810A2732811F23E78CC0FF27E2A780810D26DC398ECC528D2620CE8CC080AF
S123CE6027F4301FB6CC07810826088620BDCF66B6CC07BDCF6620B9860DBDCF41862020F2
S123CE80C98D32A6848104276FBDCF41300120F3BDCD4E2765AD9FD3E5B1CC0A265C7FCCF4
S123CEA01AAD9FD3E5B1CC0A2750810326F37FCC116E9FCC167DCC2126278DD4B6CC0327A6
S123CEC020B1CC1A22187FCC1A7DCC0927028DCE3404F6CC0827058D085A26FB35047CCC63
S123CEE01A860D8D5C860A8D583404F6CC0527064F8D4E5A26FA35041CFE397DCC23261A1B
S123CF007DCC2627108D1A7DCC2F27117DCC24270C8D532008BDCD092003BDCD0C7FCC1AB7
S123CF2039BFCC47BECC262006BFCC47BECC24BDD4062604BECC47397FCC24BDD27F7ECDF9
S123CF40037DCC212620811F22057FCC2920177CCC293402B6CC04270BB1CC292406BDCEEE
S123CF60B57CCC29350234027DCC2226137DCC2427048DB5200D7DCC262608BDCD0F200316
S123CF80BDCD123502397FCC4AF7CC1D8604B7CC4DEC848ECCA08D0B30027ACC4D26F71FAF
S123CFA098203D7FCC4B10A3842507A3847CCC4B20F43402B6CC4B26107DCC4A260B7DCC6B
S123CFC01D270B86208D2320057CCC4A8D1235828D023001A6848D04A684200444444444C2
S123CFE0840F8B30813923028B077ECF4181302514813923168141250C815A230E816125FD
S123D00004817A23061A01B7CC11391CFE393410BECC14B6CC18B7CC19A680B7CC18810D42
S123D0202710B1CC02270BBFCC1481202604A18427E78DB935908615A70186FFA7036F0477
S123D0406F0CBDD0D48608B7CC4B8D34252E260F8D2E25282609BCCC3F276C8D232368BEC1
S123D060CC3F6D0427616D032A0F7DCC0D2705B6CC0B2003B6CC0CA7037FCC0DBECC3F393B
S123D0808D8C254381392215BECC3F6D032A388403A703BDD00E242F812E1CFE39F6CC4B51
S123D0A02B253404C005F7CC4B3504B1CC4925028020A70430015ABDD00E2408812D270475
S123D0C0815F26065D26E41A01395D27CB6F0430015A20F6BFCC3FBECC14A68481202604C5
S123D0E0300120F6BFCC14BECC3F393430E60C2618108ED10B810B2210C6033D31A5C603D3
S123D100A6A0A70C30015A26F735B042494E545854434D4442415353595342414B5343524D
S123D1204441544241434449525052544F5554BDD21EBDD00E25228D2625183404C6047886
S123D140CC1C79CC1B5A26F73504BBCC1CB7CC1C5C20DFBDD00E24FB39BECC1B1CFE3980CB
S123D160472A0F8B062A048B072A078B0A2B031CFE391A0139BDD21EBDD00E25DC8139221A
S123D180D2840F34043402FCCC1B584958495849F3CC1BF3CC1BEBE08900FDCC1B35045C71
S123D1A020D67FCC1D8D3D81022715811626F68D33B7CC1E8D2EB7CC1F8601B7CC1D20E5E7
S123D1C08D221F898D1E1E89F3CC1BFDCC3D8D141F894D27D08D0DBECC3DA780BFCC3D5A8B
S123D1E026F320C18EC840BDD4062711A6018108260E32628604A784BDD406260D1CFE3902
S123D200B7CC20810426031A01398D737ECDE486008D35250F8D077CCC4C8D8620F14F5FC0
S123D220FDCC1B39F6CC4C1027FBAE7ECD0386028D228DEABDD1A2F6CC1D27046E9FCC1EB2
S123D2408ECC5C86817ECDDE34028EC840BDD0363502251A8EC840BDD0EB8EC8408601A70D
S123D26084BDD1E4102500BB86FFA7883B39B6CC11810D2707B1CC021026FB5D1A013934B8
S123D28030A601B7CC202763BDCDEA10BECC2D260881102758108ED3618EC8406D02270906
S123D2A08604A784BDD406262E8EC838C60B8D6E8EC840B6CC0BA7038601A784BDD4062634
S123D2C016B6CC204A47474C6F8820A788218615A784BDD406271E8ECC75BDCE81BECC3FC1
S123D2E0B6CC20A7016F845FBDCF8635B08ECC82BDCE8120F6BDCEB58EC840B6CC204A8453
S123D30003C63F3DCB04E78822BDD40626C9BDCF41810D26F48604A784BDD40620CD3430CC
S123D3207ED1008ECC6B7ECDE13506FDCC4310FFCC457FCC207CCC287ECDB87FCC2810FEE3
S123D340CC45F6CC206E9FCC433A397DCCFC26046E9FD3F38EC840861BA701BDD27F7ECDCD
S10FD360674552524F525300005359537A
S106CCC07ED370AC
S106CCD87ED37094
S106CCE47ED37088
S10BCCF801000000000000002F
S11BD370397ED3706E9FF8046E9FF8006E9FF8086E9FF80A6E9FF80672
S123D3E5D374D370DFC2DFC8D370D370D370D378D371D37CD380D3847ECA007ED4367ED4DF
S123D405597ED47B204449534B204F5045524154494E472053595354454D20434F50595217
S123D4254947485420284329203139383020425920544543484E4943414C205359535445F3
S111D4454D5320434F4E53554C54414E5453B7
S123D435FFBDDE158ED409C60A8D118E0005BFD413BFD4157FD41A8ED41BC61A6F805A2631
S123D455FB7EC70CBDC709BED40927EB3088E4BFD40B3420BDDAC3352024ECBED40B6F02D2
S123D475BDC70CC6FF397DCCFC2703BDC7093424BFD40B6F01E6842622E602271AC10227DE
S123D49511BDD5B4BED40B25267DCCFC26235F352439BDD6CF20EDC6122014C1162304C676
S123D4B501200C5A588ED4CEAD95BED40B2402E701BDC70C6D01352439D986D9D9DAF9DA09
S123D4D5C3D5E2D81DD838D876D641D69FD969DBD6DB2CD699DA87D810D56FD590DB07DDC0
S123D4F5BDDCFBDCE58D202605C6021A0139ED84AE846F846F01398D0E2705C60D1A01399D
S123D515EC94ED841CFE39FCD40BC3001C8ED40910AE8426031CFB3910A384260139AE8405
S123D53520EEBED40B4F5F8D02C62FA7881130015A26F839BED40BC60BA604A78824300137
S123D5555A26F639BED40BC60BA6043402A68824A1E0260530015A26F039BED40BE6025404
S123D5752479E688237ED600BED40BE688226C88223AA788405C261F1A0139BED40BE602AA
S123D595C403C1032655CA80E702E60FC580260AE688233AA788401CFE39C60B1A0139A677
S123D5B5883B2B3C27076A883B8620201D8D31251B8118221527F68109260C8D23250DBEA3
S123D5D5D40BA7883B20D84D27E31CFE39BDDAB1250985012705A7847ED9A0C6121A0139D1
S123D5F5BED40BE68822270A6C88223AA688401CFE398D0324EA39BED40BEC88406C882166
S123D61526036C882010830000271CED881E34028604A7882235028D132410C5802704C6F9
S123D635102006C6092002C6081A01398D25BED40BBDDE0C25128D11BDDE0026031CFE39A6
S123D65534048D17350424EE39BED40BEC881E308840394FB7D411B7D41239C5102611C55F
S123D675802624F6D4115CC1072705F7D41120147FD411F6D4125CC104270CF7D412BED489
S123D6950BBDDE091CFE391A01398DC7BED40BBDDE0C2520BED40B8DB0BDDE03260AB6D40C
S123D6B5352737BDDE062732C540260B34048DAB350424E039C6201A0139BED40BE6883B28
S123D6D52B3D8120260F5CE7883BC17F260C200D8D0B24E6395D272720F61CFE393402C168
S123D6F50126048620201086098D143502250F3402BED40BA6883B6F883B8D03350239BE49
S123D715D40BE602C1021026FED1E68822C104260834028D213502250FBDD57D240AC60488
S123D735BED40BE788221CFE39BED40B4F5FED8820ED88422027E688122622E688172744B9
S123D7556F88178D3F252A8DE025268DDC2522BED40BC602E78817EC88117EDC828D0EBE7A
S123D775D40BED8840BDD69F241A7EDBC18D03EC8439BED40BE60386063D8ED41D3ABFD49E
S123D7951B6D84398DE72605C6071A0139BED40BED88136D88122603ED88116C881626035D
S123D7B56C88156D8817270BBDDC4325DDBED40BEC8813BDD62025D2BED40BEC88403406D2
S123D7D58DB03506ED84260A6F026F036F046F05200810AE04313F10AF044FBED40B6C8850
S123D7F52126036C88205FA7884030015A26F8BED40BEC8820ED88421CFE395F3404C603A0
S123D815200EBED415BFD413F6D4133404F6D414BED40BE788413504E788407FD4185FE79B
S123D835882239BED40BE68822261DBDD60C2530BED40B7DD4182605DC44FDD4188610A711
S123D8558822EC881EED882FA68822A78831C6183414BDD5F53514A70430015A26F21CFEC1
S123D87539BED40BA68831A78822C6183414A604BDD714351430015A26F27ED69FBED40B15
S123D895A603A78823B6D4177DD41A2631A703BED415BFD4138C0005270C8D222337BED4BB
S123D8B518BFD41320EFBED40BA68823A7032A0EBDDDBD25368D07231CBDDDAD20F2BED442
S123D8D50B7FD41ABDD549BDD81DBDD8382407C10827181A0139BED40BA604270C2A028DA3
S123D8F50FBDD55926E41CFE398D051CFB1CFE39A68833260CEC882FED8832A68831A78851
S123D9153439BDD78726178D182515C60610BED40BBED41BA6A85D3121A7805A26F61CFE70
S123D93539BDD810BDD60C2508BED40BC610E7882239BDD7878DEA25F8C60610BED40BBE01
S123D955D41BA680A7A85D31215A26F6BDD69F24E07EDBC1BED40B8602A702EC882FED88EF
S123D9751EBDD6412508BDD87624057EDBC1C60A39BDD4FA253DBDD8922538263BBED40BA9
S123D9957DD41A2706A60F85202629BDDCC0252AEC8811ED8840BDDA76E688172713340447
S123D9B5BDD60C3504250C5A26F4BED40B5FE788221CFE39C6112002C6043404BDD50C3523
S123D9D5041A0139BED40B6D032A08BDDDBD2403C61039BDD4FA25E2BDD537BDD91725DA03
S123D9F5BDD89225D52604C60320CFBDDCC025CABED40BC60A6F0F30015A26F9BED40BECA5
S123DA1588322727ED882FA68834A78831FCCC0EED8819B6CC10A7881BBDDDADBDD96925D4
S123DA35998D3E8604A788221CFE39BED40B6F88176C8812EC882FBDD620250DBDD77225D7
S123DA5508BDD69F2406BDDBC17ED9CFBED40BEC881EED88328610A78834BDD94725EA20EF
S123DA758ABED40BA684A7026F846F883B4FA78822398D28250E6F84441025FB7AC604E71B
S123DA9588221CFE39BED40BA6028183260B8603A702BDD69F102501131CFE398DE7250D50
S123DAB5BED40BA602810323F0C6121A01398DEC253181022708BED40B6F027ED50CA68829
S123DAD5122605BDDBA720198DC82517BED40B6D88172705BDDC98250ABDD9692505BDD9F3
S123DAF54724D339BDD9862528BDD60C252386032018BDD986251ABED40BA60F858026129B
S123DB15EC8813BDD62025098602BED40BA7021CFE39C60B1A01398D35BDD892252A2724BB
S123DB35BED40BC60BA68824A70430015A26F68D4D2515BED40BA60F858026D6856026093F
S123DB558D0C2055C6031A0139C60C1A0139BED40B860BB7D411A604E68835A78835E704F5
S123DB7530017AD41126EFBED40BA60C260CC603A6883DA70C30015A26F6BED40B398DCEA7
S123DB95BDD89225072606BED40B1CFE39C6041A0139BED40B86FFA704BDD969BED40B86F0
S123DBB500A70239ED8840BDD69F2414C5402608C580270AC6102006C60B2002C60A1A01C8
S123DBD539BDD917255E8DB8255ABED40BA60F8580265285602652BDD787BED41BEC0226F7
S123DBF50FBED40BEC88112733BED41BED842014BED40BBDD620252CBED40BEC8811271C29
S123DC158DA22520BED40BEC8813BED41BED02BED40BEC8815BED41BE304ED04BDDBA725A8
S123DC3503BDD94739C60B2002C60C1A0139EC881E5CE1883C2303C6014C10A38813260E4B
S123DC55A6883781FF27074CA788371CFE398D332530BED40BA6883A8B032616EC881E100D
S123DC75A388112705C6171A0139EC8840ED88388604A7883AEC8813ED88358601A7883780
S123DC951CFE39EC8838BDD62025F7BED40B1F12E6883A3AC603A6A8353121A788403001AF
S123DCB55A26F3BDD69F24DA7EDBC1BDD810BDD60C2546BED40B4F5FED8820A68867A7883B
S123DCD53C5F6F884030015A26F8BED40B1CFE39BED40BA68817271DEC88208300012A0355
S123DCF57EDD9AED8820BDDAB1250E4624076F84A688172605C6121A01397FD411EC88111D
S123DD1510AE8820276ABDDD9F25EE4F5F6D022774EB028900BFD40FBED40B10A3882024BB
S123DD352CBED40F30033402B6D4114CB7D4118154270881A83502274C20D23404BED40B73
S123DD55EC88408D45253E3504350220C0A38820BED40FA6023404A0E04A1F89A684EB011D
S123DD75BED40B2505E1883C2306E0883C4C20F5BDD6202514BED40BEC884210A38820272F
S123DD9514C6192002C6181A0139BDD6202508BED40BC6443A1CFE39BED40BC60BA688244F
S123DDB5A70430015A26F639BED40BA6034C8104240FA7032605BDDE0F2003BDDE1225E819
S109DDD539C6101A0139E1
S123DE007EF0577EF05B7EF05F7EF0637EF06C7EF09F7EF0A37EF0A77EF0BF7EF0C3000067
S115DE2000000000000000000000000102031040FFFF98
S123F000F7BDF119F141F13FF13FF13FF13FF13FF052F052F052F119F141F13FF13FF13F7A
S123F020F13FF13FF052F052F052F052F052F052F052F052F052F052F052F052F052F17AA7
S123F040F1E9F249F24EF24EF24EF24EF052F052F0525F5D1CFE396E9FDE326E9FDE346E18
S123F0609FDE368D072701396E9FDE383430E603F7DE1E8EDE2AA68581FF26083530C60FD8
S123F0805D1A0139C6143D8EF002308B108EDE32C614A680A7A05A26F935306E9FDE3A6E03
S123F0A09FDE3C6E9FDE3E4FB7DE1E8EDE1B8DBC2504AD9FDE40B6DE1E4C810426EA396ECB
S123F0C09FDE426E9FDE441FA8B7DE221A50CEDE2AF6DE1EE6C5CEDE2EB6DE1FABC584F072
S123F0E0A7E2B6DE208001880F840FABE0B7FFF0B6DE1F840F8B005F1F03398600880FB794
S123F100FFF0B6DE221F8A39B7DE1FF7DE201CFE1A0439C6405D1A0139347017FFEA17FFD9
S123F120A6108EDE465FA6C0A7A05A26F917FFCB108EDE465FA6A0A7805A26F95F35F05F13
S123F14039347017FFC2CEDE2AF6DE1EE6C5C1012707C100270316FFBA108EDE465FA68092
S123F160A7A05A26F917FF5F108EDE465FA6A0A7C05A26F917FF845F35F0340434027FDE26
S123F180217FDE228673BDF285244CB6DE1EBDF28524443502BDF285243D3502BDF2852485
S123F1A0365FBDF2672430A780BBDE22B7DE2224037CDE215A26EBBDF267241B3402BDF26C
S123F1C06724141F89350210B3DE21260E8606BDF28524035F200DC61020098615BDF28576
S123F1E024F5C609F7DE215D39340434027FDE217FDE228672BDF28524DDB6DE1EBDF28519
S123F20024D53502BDF28524CE3502BDF28524C75FA680BDF28524BFBBDE22B7DE22240309
S123F2207CDE215A26EBB6DE21BDF28524A9B6DE22BDF28524A1BDF267249C810626035F9A
S123F2402002C60AF7DE215D39F6DE215D398651BDF285240CBDF2672407810626035F20F6
S123F26004C6101A015D3934308E03E8108E04E2B6E00047250A313F26F6301F26EE35B0BE
S123F280B6E00135B0343034028E03E8108E04E2B6E0004747250C313F26F5301F26ED35E0
S123F2A00235B03502B7E00135B00A0D466F726D6174696E672052414D6469736B2E2E2EBC
S123F2C020040A0D0452616D6469736B206E6F7420616C6C6F63617465642120048EF2AA77
S123F2E0BDF46A8EDE2A5FA6858101270C5CC10426F58EF2C2BDF46A39F7DE1E8EDE1BBD11
S123F300F06C8EDE464F5FA7805A26FB7FDE1F8601B7DE208EDE46B6DE1FA784B6DE204C43
S123F320810F26046C848601A701B6DE1FF6DE20BDF05B7CDE20B6DE20810F26D78601B748
S123F340DE207CDE1FB6DE1F81C026C88EDE4686BFC60EBDF0578EDE466F846F0186BFC661
S123F3600EBDF05B8EDE464FC60EBDF0578EDE466F846F014FC60EBDF05B8EDE464FC60390
S123F380BDF0578EDE466F846F01CC5241ED8810CC4D44ED8812CC4953ED8814CC4B20ED73
S123F3A08816CC0001ED881BCC0101ED881D86BFC60EED881FED8826CC0A72ED8821860141
S123F3C0A788238607A788248607A788254FC603BDF05B8EDE464FC601BDF0578EDE4686F2
S123F3E0AAA7848655A7014FC6017EF05B0808426F6F74696E6720696E7465726E616C2053
S123F400464C45582E2E2E2E0D0A048EF3EDBDF46A8ED3E5108EF434ECA1ED818CD3FD26D4
S123F420F78EDE00108EF44CECA1ED818CDE1E26F77ECD00F476F482DFC2DFC8F482F48288
S123F440F482F47EF482F47AF46EF4727EF0577EF05B7EF05F7EF0637EF06C7EF09F7EF093
S123F460A37EF0A77EF0BF7EF0C36E9FF80C6E9FF80A6E9FF8066E9FF8046E9FF8086E9F24
S123F480F8003953657269616C20524F4D204469736B2075706C6F6164202E2E2E0D0A04B4
S123F4A0524F4D204469736B204C6F616465640D0A048EF483BDF46A8600B7DE1E4FC601BC
S123F4C0B7DE1FF7DE2017FBFE5FBDF4EDA7C05A26F817FC26B6DE1FF6DE205CC10F26E081
S123F4E0C6014C813026D98EF4A07EF46A34048D0E484848481F898D063404ABE03584BDE0
S123F500F52829FB80302BF781092F0A81112BEF81162EEB800739B6E0008501398603B760
S123F520E0008611B7E000398610B7DE277FDE287FDE29B6E000850126088578270A8DDD41
S123F54020E6B6E0011C02397ADE2926E67ADE2826E17ADE2726DC4F1A02393402B6E000AE
S123F56085022608857827F58DB320F13502B7E001390D0A586D6F64656D20524F4D20446D
S123F58069736B2055706C6F6164040D0A55706C6F616420436F6D706C657465040D0A5552
S123F5A0706C6F6164204572726F72048EF57217FEB88601B7DE238EF61ABFDE258600B76B
S123F5C0DE1E4FC601B7DE1FF7DE2017FAF95F17002B2520A7C05A26F617FB1FB6DE1FF6C5
S123F5E0DE205CC10F26DEC6014C813026D78EF58B7EF46A17FB048EF59D16FE6D3410BE75
S123F600DE2517FF23280A861517FF4F8EF61A20F1AD8426EDBFDE253590810126068EF6CC
S123F6203A1CFA3981042608860617FF2E1A0539811826031A05391CFA39B1DE2326068E8D
S123F640F6501CFA39861517FF118EF61A1CFA3943B1DE2326EF7FDE218680B7DE248EF697
S123F660641CFA393402BBDE21B7DE2135027ADE2426038EF67B1CFE1A0439B1DE21260704
S123F6807CDE238606200D34041F305AC4801F033504861517FEC48EF61A1CFA3908084CF3
S123F6A06F616420524F4D206469736B2066726F6D20636F6E6669672050524F4D2E0446F9
S123F6C06F756E642053594E432C206C6F6164696E6720646174612E2E2E0A0D04524F4D9C
S123F6E0204469736B204C6F616465642E0A0D04524F4D204469736B204E6F7420466F7575
S123F7006E642E0A0D048EF69DBDF46A8D5A108E00208E00008D6C8D7C2715301F8C000042
S123F72026F3311F108C000026EB8EF6F07EF46A8EF6BFBDF46A4FB7DE1EC601B7DE1FF78D
S123F740DE2017F9825F8D67A7C05A26F917F9ABB6DE1FF6DE205CC10F26E1C6014C813089
S123F76026DA8EF6DD7EF46A8602B7E0C08600B7E0C08E0000301F8C000026F9BFDF46BF61
S123F780DF48398601B7E0C08600B7E0C0B6E0C04478DF493979DF4879DF4779DF46CCFF2F
S123F7A00010B3DF482607CCAA5510B3DF46393404C6088DCE5A26FBB6DF49358417FCB20A
S123F7C0847F1F89862017FCA5C1602F02C0208EF7E5E180270D30028CF7F426F58EF7F4AE
S120F7E016FC876E9442F40B4CF4B246F2DD50F70658F5AC57484154203F0A0D0431
S9030000FC
1.1 System09/src/flex9/f9-cli.txt
http://www.opencores.org/cvsweb.shtml/System09/src/flex9/f9-cli.txt?rev=1.1&content-type=text/x-cvsweb-markup
Index: f9-cli.txt
===================================================================
*********************************************
*
* FLEX COMMAND LINE INTERPRETER & SUBROUTINES
*
*********************************************
ORG $CD00
*
** FLEX JUMPS
*
COLDS JMP >COLD1
WARMS JMP >WARM1
RENTER JMP >RENT1
INCH JMP >INCH
INCH2 JMP >INCH2
OUTCH JMP >OUTCH
OUTCH2 JMP >OUTCH2
GETCHR JMP >GETCH1
PUTCHR JMP >PUTCH1
INBUFF JMP >INBUF1
PSTRNG JMP >PSTRG1
CLASS JMP >CLASS1
PCRLF JMP >PCRLF1
NXTCH JMP >NXTCH1
RSTRIO JMP >RSTIO1
GETFIL JMP >GETFL1
LOAD JMP >LOAD1
SETEXT JMP >SETEX1
ADDBX JMP >ADDBX1
OUTDEC JMP >OUTDC1
OUTHEX JMP >OUTHX1
RPTERR JMP >RPTER1
GETHEX JMP >GETHX1
OUTADR JMP >OUTAD1
INDEC JMP >INDEC1
DOCMND JMP >DOCMD1
ZCD4E JMP >ZCD4E
JMP >ZCE05
JMP >ZCE05
*
** COLD START ENTRY
*
COLD1 LDS #ZC07F
ZCD5B CLR >LASTRM
JSR >ZD400
CLR >CMDFLG
JSR >ZD3FD
*
** WARM START ENTRY
*
WARM1 LDS #ZC07F
JSR >WARMDR
LDX #WARMS
STX >ESCVEC
LDX #PRSPL1
STX [SWIVVC]
LDX >IHNDVC
STX [IRQVVC]
LDX #ZCCF8
STX >ZCC31
CLR >ZCC34
CLR >ZCC4C
BSR RSTIO1
LDA >LASTRM
CMPA >EOLCHR
BNE ZCD9D
INC >LINPTR+1
BRA RENT1
ZCD9D TST >CMDFLG
LBNE ZD33B
JSR >FMSCLS
BNE ZCD5B
LDX #PMTSTR
JSR >PSTRG1
BSR INBUF1
*
** MAIN CONTROL LOOP
*
RENT1 JSR >ZD0D4
CMPA #$0D
BEQ ZCD9D
ZCDB8 LDX #FCB
INC >ZCC0D
JSR >GETFL1
BCS ZCDD9
LDX #CMDTBL
BSR ZCE06
BEQ ZCDD3
LDX >UCTVEC
BEQ ZCDD6
BSR ZCE06
BNE ZCDD6
ZCDD3 JMP [$01,X]
ZCDD6 JSR >ZD22E
ZCDD9 LDX #WOTMSG
LDA #$15
ZCDDE STA >ERRTYP
ZCDE1 JSR >PSTRG1
ZCDE4 CLR >LASTRM
JMP >WARM1
*
** RESTORE IO VECTORS
*
RSTIO1 LDX >OUTCH2+1
STX >OUTCH+1
LDX >INCH2+1
STX >INCH+1
CLR >INPSWT
CLR >OUTSWT
CLR >SIOFLG
CLR >FIPADR
CLR >FOPADR
ZCE05 RTS
ZCE06 LDY #ZC844
ZCE0A LDA ,Y+
CMPA #$5F
BLS ZCE12
SUBA #$20
ZCE12 CMPA ,X+
BNE ZCE1E
TST ,X
BNE ZCE0A
TST ,Y
BEQ ZCE2A
ZCE1E TST ,X+
BNE ZCE1E
LEAX $02,X
TST ,X
BNE ZCE06
ANDCC #$FB
ZCE2A RTS
*
** GET USER COMMAND LINE
*
INBUF1 LDX #LINBUF
STX >LINPTR
ZCE31 JSR >GETCH1
CMPA >DELCHR
BEQ ZCE56
CMPA >BSPCHR
BEQ ZCE5D
CMPA #$0D
BEQ ZCE4F
CMPA #$0A
BEQ ZCE78
CMPA #$1F
BLS ZCE31
ZCE4A CMPX #ZC0FF
BEQ ZCE31
ZCE4F STA ,X+
CMPA #$0D
BNE ZCE31
RTS
ZCE56 LDX #QRYSTR
BSR PSTRG1
BRA INBUF1
ZCE5D CMPX #LINBUF
BEQ ZCE56
LEAX -$01,X
LDA >BSECHR
CMPA #$08
BNE ZCE73
LDA #$20
JSR >ZCF66
LDA >BSECHR
ZCE73 JSR >ZCF66
BRA ZCE31
ZCE78 LDA #$0D
JSR >PUTCH1
LDA #$20
BRA ZCE4A
PSTRG1 BSR PCRLF1
ZCE83 LDA ,X
CMPA #$04
BEQ ZCEF8
JSR >PUTCH1
LEAX $01,X
BRA ZCE83
ZCE90 JSR >ZCD4E
BEQ ZCEFA
JSR [ZD3E5]
CMPA >ESCCHR
BNE ZCEFA
ZCE9E CLR >CURLIN
ZCEA1 JSR [ZD3E5]
CMPA >ESCCHR
BEQ ZCEFA
CMPA #$03 CTRL C
BNE ZCEA1
CLR >LASTRM
JMP [ESCVEC]
*
** PRINT CR, LINEFEED
*
PCRLF1 TST >SIOFLG
BNE ZCEE1
BSR ZCE90
LDA >DEPCNT
BEQ ZCEE1
CMPA >CURLIN
BHI ZCEDE
CLR >CURLIN
TST >PAUSE
BEQ ZCED0
BSR ZCE9E
ZCED0 PSHS B
LDB >EJTCNT
BEQ ZCEDC
ZCED7 BSR ZCEE1
DECB
BNE ZCED7
ZCEDC PULS B
ZCEDE INC >CURLIN
ZCEE1 LDA #$0D
BSR PUTCH1
LDA #$0A
BSR PUTCH1
PSHS B
LDB >NULCNT
BEQ ZCEF6
ZCEF0 CLRA
BSR PUTCH1
DECB
BNE ZCEF0
ZCEF6 PULS B
ZCEF8 ANDCC #$FE
ZCEFA RTS
*
** GET A CHARACTER HONOURING TTYSET
*
GETCH1 TST >INPSWT
BNE ZCF1A
TST >FIPADR
BEQ ZCF15
BSR ZCF21
TST >FIEFLG
BEQ ZCF1D
TST >FOPADR
BEQ ZCF1D
BSR ZCF66
BRA ZCF1D
ZCF15 JSR >INCH
BRA ZCF1D
ZCF1A JSR >INCH2
ZCF1D CLR >CURLIN
RTS
ZCF21 STX >ZCC47
LDX >FIPADR
BRA ZCF2F
ZCF29 STX >ZCC47
LDX >FOPADR
ZCF2F JSR >FMS
BNE ZCF38
LDX >ZCC47
RTS
ZCF38 CLR >FOPADR
JSR >RPTER1
JMP >WARMS
*
** OUTPUT CHARACTER HONOURING TTYSET
*
PUTCH1 TST >SIOFLG
BNE ZCF66
CMPA #$1F
BHI ZCF4F
CLR >CURCOL
BRA ZCF66
ZCF4F INC >CURCOL
PSHS A
LDA >WIDCNT
BEQ ZCF64
CMPA >CURCOL
BCC ZCF64
JSR >PCRLF1
INC >CURCOL
ZCF64 PULS A
ZCF66 PSHS A
TST >OUTSWT
BNE ZCF80
TST >FOPADR
BEQ ZCF76
BSR ZCF29
BRA ZCF83
ZCF76 TST >FIPADR
BNE ZCF83
JSR >OUTCH
BRA ZCF83
ZCF80 JSR >OUTCH2
ZCF83 PULS A
RTS
OUTDC1 CLR >ZCC4A
STB >TRNFLG
LDA #$04
STA >ZCC4D
LDD ,X
LDX #DECTBL
ZCF96 BSR ZCFA3
LEAX $02,X
DEC >ZCC4D
BNE ZCF96
TFR B,A
BRA OUTHXR
ZCFA3 CLR >ZCC4B
ZCFA6 CMPD ,X
BCS ZCFB2
SUBD ,X
INC >ZCC4B
BRA ZCFA6
ZCFB2 PSHS A
LDA >ZCC4B
BNE ZCFC9
TST >ZCC4A
BNE ZCFC9
TST >TRNFLG
BEQ ZCFCE
LDA #$20
BSR ZCFEA
BRA ZCFCE
ZCFC9 INC >ZCC4A
BSR OUTHXR
ZCFCE PULS PC,A
*
** DISPLAY HEX ADDRESS
*
OUTAD1 BSR OUTHX1
LEAX $01,X
*
** OUPUT HEX BYTE
*
OUTHX1 LDA ,X
BSR OUTHXL
LDA ,X
BRA OUTHXR
OUTHXL LSRA
LSRA
LSRA
LSRA
OUTHXR ANDA #$0F
ADDA #$30
CMPA #$39
BLS ZCFEA
ADDA #$07
ZCFEA JMP >PUTCH1
*
** CLASSIFY CHARACTER ALHA/NUMERIC
*
CLASS1 CMPA #'0
BCS ZD005
CMPA #'9
BLS ZD00B
CMPA #'A
BCS ZD005
CMPA #'Z
BLS ZD00B
CMPA #'a $61
BCS ZD005
CMPA #'z $7A
BLS ZD00B
ZD005 ORCC #$01
STA >LASTRM
RTS
ZD00B ANDCC #$FE
RTS
*
** GET NEXT CHARACTER FROM FILE
*
NXTCH1 PSHS X
LDX >LINPTR
LDA >CURCHR
STA >PRVCHR
ZD019 LDA ,X+
STA >CURCHR
CMPA #$0D
BEQ ZD032
CMPA >EOLCHR
BEQ ZD032
STX >LINPTR
CMPA #$20
BNE ZD032
CMPA ,X
BEQ ZD019
ZD032 BSR CLASS1
PULS PC,X
*
** PARSE FILE SPEC. IN LINE BUFFER
*
GETFL1 LDA #$15
STA $01,X
LDA #$FF
STA $03,X
CLR $04,X
CLR $0C,X
JSR >ZD0D4
LDA #$08
STA >ZCC4B
BSR ZD080
BCS ZD07C
BNE ZD05F
BSR ZD080
BCS ZD07C
BNE ZD05F
CMPX >ZCC3F
BEQ ZD0C7
BSR ZD080
BLS ZD0C7
ZD05F LDX >ZCC3F
TST $04,X
BEQ ZD0C7
TST $03,X
BPL ZD079
TST >ZCC0D
BEQ ZD074
LDA >SYSDRV
BRA ZD077
ZD074 LDA >WRKDRV
ZD077 STA $03,X
ZD079 CLR >ZCC0D
ZD07C LDX >ZCC3F
RTS
ZD080 BSR NXTCH1
BCS ZD0C7
CMPA #$39
BHI ZD09D
LDX >ZCC3F
TST $03,X
BPL ZD0C7
ANDA #$03
STA $03,X
JSR >NXTCH1
BCC ZD0C7
ZD098 CMPA #$2E
ANDCC #$FE
RTS
ZD09D LDB >ZCC4B
BMI ZD0C7
PSHS B
SUBB #$05
STB >ZCC4B
PULS B
ZD0AB CMPA >MAPUP
BCS ZD0B2
SUBA #$20
ZD0B2 STA $04,X
LEAX $01,X
DECB
JSR >NXTCH1
BCC ZD0C4
CMPA #$2D
BEQ ZD0C4
CMPA #$5F
BNE ZD0CA
ZD0C4 TSTB
BNE ZD0AB
ZD0C7 ORCC #$01
RTS
ZD0CA TSTB
BEQ ZD098
CLR $04,X
LEAX $01,X
DECB
BRA ZD0CA
ZD0D4 STX >ZCC3F
LDX >LINPTR
ZD0DA LDA ,X
CMPA #$20
BNE ZD0E4
LEAX $01,X
BRA ZD0DA
ZD0E4 STX >LINPTR
LDX >ZCC3F
RTS
*
** DEFAULT FILE EXTENSION
*
SETEX1 PSHS Y,X
LDB $0C,X
BNE ZD109
LDY #EXTTBL
CMPA #$0B
BHI ZD109
LDB #$03
MUL
LEAY B,Y
LDB #$03
ZD100 LDA ,Y+
STA $0C,X
LEAX $01,X
DECB
BNE ZD100
ZD109 PULS PC,Y,X
*
** STANDARD FILE NAME EXTTENSIONS
*
EXTTBL FCC "BIN"
FCC "TXT"
FCC "CMD"
FCC "BAS"
FCC "SYS"
FCC "BAK"
FCC "SCR"
FCC "DAT"
FCC "BAC"
FCC "DIR"
FCC "PRT"
FCC "OUT"
*
** READ A HEX ADDRESS FROM THE LINE BUFFER
*
GETHX1 JSR >ZD21E
ZD132 JSR >NXTCH1
BCS ZD159
BSR ZD15F
BCS ZD153
PSHS B
LDB #$04
ZD13F ASL >LODOFF+1
ROL >LODOFF
DECB
BNE ZD13F
PULS B
ADDA >LODOFF+1
STA >LODOFF+1
INCB
BRA ZD132
ZD153 JSR >NXTCH1
BCC ZD153
RTS
ZD159 LDX >LODOFF
ANDCC #$FE
RTS
ZD15F SUBA #$47
BPL ZD172
ADDA #$06
BPL ZD16B
ADDA #$07
BPL ZD172
ZD16B ADDA #$0A
BMI ZD172
ANDCC #$FE
RTS
ZD172 ORCC #$01
RTS
INDEC1 JSR >ZD21E
ZD178 JSR >NXTCH1
BCS ZD159
CMPA #$39
BHI ZD153
ANDA #$0F
PSHS B
PSHS A
LDD >LODOFF
ASLB
ROLA
ASLB
ROLA
ASLB
ROLA
ADDD >LODOFF
ADDD >LODOFF
ADDB ,S+
ADCA #$00
STD >LODOFF
PULS B
INCB
BRA ZD178
*
** LOAD BINARY FILE
*
LOAD1 CLR >TRNFLG
ZD1A5 BSR ZD1E4
CMPA #$02
BEQ ZD1C0
CMPA #$16
BNE ZD1A5
BSR ZD1E4
STA >TRNVEC
BSR ZD1E4
STA >TRNVEC+1
LDA #$01
STA >TRNFLG
BRA ZD1A5
ZD1C0 BSR ZD1E4
TFR A,B
BSR ZD1E4
EXG A,B
ADDD >LODOFF
STD >ZCC3D
BSR ZD1E4
TFR A,B
TSTA
BEQ ZD1A5
ZD1D5 BSR ZD1E4
LDX >ZCC3D
STA ,X+
STX >ZCC3D
DECB
BNE ZD1D5
BRA ZD1A5
ZD1E4 LDX #FCB
JSR >FMS
BEQ ZD1FD
LDA $01,X
CMPA #$08
BNE ZD200
LEAS $02,S
ZD1F4 LDA #$04
STA ,X
JSR >FMS
BNE ZD20A
ZD1FD ANDCC #$FE
RTS
ZD200 STA >ERRTYP
CMPA #$04
BNE ZD20A
ORCC #$01
RTS
ZD20A BSR RPTER1
JMP >ZCDE4
*
** 'GET' - LOAD BINARY FILE
*
GETCMD LDA #$00
BSR ZD248
BCS ZD224
BSR ZD21E
INC >ZCC4C
BSR LOAD1
BRA GETCMD
ZD21E CLRA
CLRB
STD >LODOFF
RTS
ZD224 LDB >ZCC4C
LBEQ ZCDD9
JMP >WARMS
ZD22E LDA #$02
BSR ZD254
BSR ZD21E
JSR >LOAD1
LDB >TRNFLG
BEQ ZD240
JMP [TRNVEC]
ZD240 LDX #NTRMSG
LDA #$81
JMP >ZCDDE
ZD248 PSHS A
LDX #FCB
JSR >GETFL1
PULS A
BCS ZD26E
ZD254 LDX #FCB
JSR >SETEX1
LDX #FCB
LDA #$01
STA ,X
JSR >ZD1E4
LBCS ZD323
LDA #$FF
STA $3B,X
RTS
ZD26E LDA >LASTRM
CMPA #$0D
BEQ ZD27C
CMPA >EOLCHR
LBNE ZCDD9
ZD27C ORCC #$01
RTS
RPTER1 PSHS Y,X
LDA $01,X
STA >ERRTYP
BEQ ZD2EB
JSR >RSTIO1
LDY >ERRVEC
BNE ZD299
CMPA #$10
BEQ ZD2ED
LDY #ZD361
ZD299 LDX #FCB
TST $02,X
BEQ ZD2A9
LDA #$04
STA ,X
JSR >FMS
BNE ZD2D7
ZD2A9 LDX #ZC838
LDB #$0B
BSR ZD31E
LDX #FCB
LDA >SYSDRV
STA $03,X
LDA #$01
STA ,X
JSR >FMS
BNE ZD2D7
LDA >ERRTYP
DECA
ASRA
ASRA
INCA
CLR $20,X
STA $21,X
LDA #$15
STA ,X
JSR >FMS
BEQ ZD2F5
ZD2D7 LDX #DERMSG
JSR >PSTRG1
LDX >ZCC3F
LDA >ERRTYP
STA $01,X
CLR ,X
CLRB
JSR >OUTDC1
ZD2EB PULS PC,Y,X
ZD2ED LDX #DNRMSG
JSR >PSTRG1
BRA ZD2EB
ZD2F5 JSR >PCRLF1
LDX #FCB
LDA >ERRTYP
DECA
ANDA #$03
LDB #$3F
MUL
ADDB #$04
STB $22,X
ZD309 JSR >FMS
BNE ZD2D7
JSR >PUTCH1
CMPA #$0D
BNE ZD309
LDA #$04
STA ,X
JSR >FMS
BRA ZD2EB
ZD31E PSHS Y,X
JMP >ZD100
ZD323 LDX #NFDMSG NOT FOUND
JMP >ZCDE1
*
** CALL FLEX AS A SUBROUTINE
*
DOCMD1 PULS B,A
STD >ZCC43
ZD32E STS >ZCC45
CLR >ERRTYP
INC >CMDFLG
JMP >ZCDB8
ZD33B CLR >CMDFLG
LDS >ZCC45
LDB >ERRTYP
JMP [ZCC43]
*
** ADD ACCB TO IX
*
ADDBX1 ABX
RTS
ZD34B TST >ZCCFC
BNE ZD354
JMP [MONVEC]
ZD354 LDX #FCB
LDA #$1B
STA $01,X
JSR >RPTER1
JMP >WARM1
ZD361 FCC /ERRORS/
FCB $00,$00
FCC /SYS/
END
1.1 System09/src/flex9/f9-data.txt
http://www.opencores.org/cvsweb.shtml/System09/src/flex9/f9-data.txt?rev=1.1&content-type=text/x-cvsweb-markup
Index: f9-data.txt
===================================================================
*
** STRINGS AND MESSAGES
*
ORG $CC4E
PMTSTR FCC "+++"
FCB $04
QRYSTR FCC "???"
FCB $04
WOTMSG FCC "WHAT?"
FCB $04
NTRMSG FCC "CAN'T TRANSFER"
FCB $04
NFDMSG FCC "NOT FOUND"
FCB $04
DERMSG FCC "DISK ERROR #"
FCB $04
DNRMSG FCC "DRIVES NOT READY"
FCB $04
*
** MEMORY RESIDENT COMMANDS
*
CMDTBL FCC "GET"
FCB $00
FDB GETCMD
FCC "MON"
FCB $00
FDB ZD34B
FCB $00
*
** DECIMAL CONVERSION TABLE
*
DECTBL FDB 10000
FDB 1000
FDB 100
FDB 10
END
1.1 System09/src/flex9/f9-dkcf8.txt
http://www.opencores.org/cvsweb.shtml/System09/src/flex9/f9-dkcf8.txt?rev=1.1&content-type=text/x-cvsweb-markup
Index: f9-dkcf8.txt
===================================================================
*
** FLEX 9 COMPACT FLASH DISK DRIVERS
*
* FOR SYS09BUG 1.2 ON THE BURCHED B5-X300
* WITH I/O MAPPED AT $XE000
* AND ROM MAPPED AT $XF000
* THE BURCHED B5-X300 HAS 256KBYTES OF SRAM
* THE FIRST 64K IS USED BY FLEX,
* THE SECOND 192K MAY BE USED AS A RAM DISK
*
*
IMASK EQU $10 IRQ MASK CC
FMASK EQU $40 FIRQ MASK CC
DATREG EQU $FFF0 DAT REGISTERS
*
CF_BASE EQU $E040
CF_DATA EQU CF_BASE+0
CF_ERROR EQU CF_BASE+1 ; read error
CF_FEATURE EQU CF_BASE+1 ; write feature
CF_SECCNT EQU CF_BASE+2
CF_SECNUM EQU CF_BASE+3
CF_CYLLO EQU CF_BASE+4
CF_CYLHI EQU CF_BASE+5
CF_HEAD EQU CF_BASE+6
CF_STATUS EQU CF_BASE+7 ; read status
CF_COMAND EQU CF_BASE+7 ; write command
*
* Command Equates
*
CMDREAD EQU $20 ; Read Single sector
CMDWRITE EQU $30 ; Write Single sector
CMDFEATURE EQU $EF
FEAT8BIT EQU $01 ; enable 8 bit transfers
HEADLBA EQU $E0
*
* Status bit equates
*
BSY EQU $80
DRDY EQU $40
DRQ EQU $08
ERR EQU $01
ORG $DE00
*
* DISK DRIVER JUMP TABLE
*
READ JMP READSC
WRITE JMP WRITSC
VERIFY JMP BUSY
RESTOR JMP RESTR1
DRIVE JMP DRVSEL
DRVRDY JMP CHKDRV
QUICK JMP CHKDRV
COLDDR JMP INITDR
WARMDR JMP WARMD1
SEEK JMP SEEKTS
*
* RAM SPACE
*
DRVNUM FCB 0
*
*
* INITIALIZE CF CARD FOR 8 BIT LBA MODE
*
INITDR BSR WAITRDY
LDA #HEADLBA
STA CF_HEAD
LDA #FEAT8BIT
STA CF_FEATURE
LDA #CMDFEATURE
STA CF_COMAND
BRA WAITRDY
*
* RESTORE DISK DRIVER (SEEK TRACK 00)
*
RESTR1 BSR DRVSEL
CLRA ; Track 0
LDB #$01 ; Sector 1
*
* Seek track and sector
* A holds track number (0 - ??)
* B holds sector number (1 - ??)
* Sector numbers starts from 1
* subtract 1 to start from sector 0 on CF
*
SEEKTS DECB
STB CF_SECNUM
STA CF_CYLLO
LDB DRVNUM
STB CF_CYLHI
LDB #$01
STB CF_SECCNT
CLRB
WARMD1 RTS
*
* READ SECTORS FROM CF
*
*
READSC BSR SEEKTS
LDA #CMDREAD ; IDE READ MULTIPLE
STA CF_COMAND
BSR WAITRDY
*
* READ LOOP
*
CLRB
RDLP1 BSR WAITDRQ
LDA CF_DATA
STA ,X+
DECB
BNE RDLP1
*
CLRB
RDLP2 BSR WAITDRQ
LDA CF_DATA
DECB
BNE RDLP2
*
BSR WAITRDY
CLRB
RTS
*
* WRITE SECTOR TO CF
*
WRITSC BSR SEEKTS ; SEEK TRACK & SECTOR
LDA #CMDWRITE; IDE WRITE MULTIPLE
STA CF_COMAND
BSR WAITRDY
*
* WRITE LOOP
*
CLRB
WRTLP1 BSR WAITDRQ
LDA ,X+
STA CF_DATA
DECB
BNE WRTLP1
*
CLRB
WRTLP2 BSR WAITDRQ
CLRA
STA CF_DATA
DECB
BNE WRTLP2
*
BSR WAITRDY
CLRB
RTS
*
* CHECK FOR BUSY
* Doubles as VERIFY
*
BUSY CLRB Never busy
RTS
*
* DRIVE SELECT DISK DRIVER
*
DRVSEL LDA 3,X GET DRIVE # FROM FCB
CMPA #3
BLS DRVS2 IF > 3, SET IT TO 0
CLRA
DRVS2 STA DRVNUM
CLRB ; SET Z, CLEAR C
RTS
*
* CHECK DRIVE READY DISK DRIVER
*
CHKDRV LDA 3,X
CLRB ; CLEAR C, SET Z
RTS
*
* WAIT UNTIL READY
*
WAITRDY LDA CF_STATUS
BITA #BSY
BNE WAITRDY
LDA CF_STATUS
BITA #DRDY
BEQ WAITRDY
RTS
*
* WAIT FOR DATA REQUEST
*
WAITDRQ LDA CF_STATUS
BITA #DRQ
BEQ WAITDRQ
RTS
*
END
1.1 System09/src/flex9/f9-dkfdc.txt
http://www.opencores.org/cvsweb.shtml/System09/src/flex9/f9-dkfdc.txt?rev=1.1&content-type=text/x-cvsweb-markup
Index: f9-dkfdc.txt
===================================================================
*
** FLEX 9 DISK DRIVERS
** FOR SINGLE/DOUBLE SIDED 5" DRIVES ONLY.
** USING FD1771.
** SIDES MAY BE TREATED AS SEPERATE DISKS.
**
** BY J.E.KENT 1 JAN 1982
*
*
** F.D. CONTROLLER
*
DRVREG EQU $E014
MOTOR EQU %10000000
SIDESL EQU %01000000
DRIVSL EQU %00000001
CMDREG EQU $E018
TRKREG EQU $E019
SECREG EQU $E01A
DATREG EQU $E01B
*
** FD1771 DISK CONTROLLER INSTRUCTIONS
*
** TYPE I INSTRUCTIONS:
*
IREST EQU $00 RESTORE (SEEK TRACK 0)
ISEEK EQU $10 SEEK TRACK
ISTEP EQU $20 STEP ONE TRACK (IN/OUT)
ISTIN EQU $40 STEP IN ONE TRACK
ISTOUT EQU $60 STEP OUT ONE TRACK
*
** BIT FIELDS FOR TYPE I INSTRUCTIONS
*
SMR6 EQU $00 6MSEC STEPPING RATE
SMR12 EQU $01 12 MSEC STEPPING RATE
SMR20 EQU $02 20 MSEC
SMR40 EQU $03 40 MSEC
*
BVERIF EQU $04 VERIFY BIT (1=ON)
BHDLD EQU $08 HEAD LOAD (1=LOAD HEAD AT BEGINING)
BUPDAT EQU $10 UPDATE TRACK REGISTER (1=TRUE)
*
** TYPE II INSTRUCTIONS
*
IREAD EQU $80 READ SECTOR
IWRITE EQU $A0 WRITE SECTOR
*
** BIT FIELD FOR TYPE II
*
BDAMFB EQU $00 $FB DATA ADDRESS MARK
BDAMFA EQU $01 $FA DATA ADDREES MARK
BDAMF9 EQU $02 $F9 DATA ADDRESS MARK
BDAMF8 EQU $03 $F8 DATA ADDRESS MARK
BEHLD EQU $04 ENABLE HLD & 10 MSEC DELAY (1=ACTIVE)
BBLEN EQU $08 BLOCK LENGTH (1=IBM FORMAT 128 - 1024 BYTES)
BMREC EQU $10 MULTIPLE RECORD (0=SINGLE, 1=MULTIPLE)
*
** TYPE III INSTRUCTIONS
*
IRDADD EQU $C4 READ ADDRESS
IRDTRK EQU $E4 READ TRACK
IWRTRK EQU $F4 WRITE TRACK
*
** BIT FIELD TYPE III (READ TRACK ONLY)
*
BSYNC EQU $01 SYNCRONIZE FLAG (0=SYNC TO AM)
*
** TYPE IV NSTRUCTION
*
IFINTR EQU $D0 FORCE INTERRUPT
*
** FORCED INTERRUPT BITS (TYPE IV INSTRUCTION)
*
FI0 EQU $01 NOT READY TO READY TRANSITION
FI1 EQU $02 READY TO NOT READY TRANSITION
FI2 EQU $04 INDEX PULSE
FI3 EQU $08 EVERY 10 MSEC
*
** DISK DRIVER PATCHES
*
ORG $DE00
*
** JUMP TABLE TO DISK DRIVERS
*
READ JMP READSC
WRITE JMP WRITSC
VERIFY JMP VERIF1
RESTOR JMP RESTR1
DRIVE JMP DRVSEL
DRVRDY JMP CHKDRV
QUICK JMP CHKDRV
COLDDR JMP INITDR
WARMDR JMP WARMD1
SEEK JMP SEEK1
*
** CURRNT DRIVE NUMBER ($DE1E)
*
CURDRV FCB $00
*
** HEAD POSITION TABLE ($DE1F)
*
TRKTBL FCB $00 DRIVE 0
FCB $00 DRIVE 1
FCB $00 DRIVE 2
FCB $00 DRIVE 3
*
** ??? ($DE23)
*
FCB 0
*
** DENSITY TABLE: ($DE24)
** HOLDS SECTORS/TRACK FOR DRIVE
** 5" SINGLE DENSITY => 10 SECTORS/TRACK
*
DNSTBL FCB 10,10,10,10 ALL MINIS
*
** DRIVE & DISK CHARACTERISTICS
*
* BITS 1,0 STEPPING RATES
* BIT 2 TRACKS/DISK (0=40 TRACK, 1=80 TRACK)
* BIT 3 TRACKS/DRIVE (0=40 TRACK, 1=80 TRACK)
*
BDVTPI EQU $08
BDKTPI EQU $04
DDCTBL EQU *
FCB BDVTPI+BDKTPI+SMR6
FCB BDVTPI+BDKTPI+SMR6
FCB SMR40
FCB SMR40
*
** DISK DRIVERS
*
* DRIVER INITIATION
*
INITDR LDX #CURDRV
LDB #5
INITD2 CLR ,X+
DECB
BNE INITD2
WARMD1 RTS
*
* READ ONE SECTOR
*
READSC BSR SEEK1
LDA #IREAD+BBLEN+BEHLD
READ2 ORCC #$10
* SEI DISABLE INTERRUPTS
STA CMDREG
LBSR DLY47
LDB #$00
RDLOOP LDA CMDREG
BITA #$02
BNE RDBYTE
BITA #$01
BNE RDLOOP
TFR A,B
BRA RDEXIT
*
RDBYTE LDA DATREG
STA ,X+
DECB
BNE RDLOOP
BSR WAIT
RDEXIT BITB #$1C
ANDCC #$EF
* CLI
RTS
*
** WAIT UNTIL CONTROLLER READY
*
WAIT LDB CMDREG
BITB #$01
BNE WAIT
RTS
*
** SEEK1 TRACK AND SECTOR
** ACCA = TRACK NUMBER
** ACCB = SECTOR NUMBER
*
SEEK1 STB SECREG SET SECTOR
CMPB #10 DOUBLE-SIDED ?
BHI SEEK2 DOUBLE SIDED, FLIP
LDB CURDRV BACK SIDE OF DISK ?
CMPB #1 DRIVE 2-3 BACK SIDE
BHI SEEK3
ANDB #$FF-SIDESL SELECT SIDE 0
BRA SEEK4
*
SEEK2 LDB CURDRV SELECT SIDE 1
SEEK3 ANDB #DRIVSL
ORB #SIDESL
SEEK4 STB DRVREG
*
CMPA TRKREG DIFFERENT TO LAST ?
BEQ FOUND
PSHS A SAVE TRACK NO. ON STACK
*
* IF 80 TRACK DRIVE, & 40 TRACK DISK, FIRST SEEK
* SHOULD NOT UPDATE TRACK REGISTER NOR VERIFY.
*
SUBA TRKREG CALC. DIFFERENCE
TFR A,B
PSHS Y
*
** GET STEPPING RATE FROM TABLE
*
LDY #DDCTBL
LDA CURDRV
ANDA #$01
LDA A,Y
PULS Y
*
** CHECK DRIVE AND DISK TYPE
*
BITA #BDVTPI DRIVE TRACK DENSITY = 48 TPI ?
BEQ SEEKVU YES, SKIP
BITA #BDKTPI DISK TRACK DENSITY = 96 TPI ?
BNE SEEKVU YES, SKIP (DRIVE & DISK MATCH)
*
** HERE IF 40TRACK DISK IN 80 TRACK DRIVE
** USE STEP INSTRUCTIONS TO PREVENT UPDATE OF TRACK REG.
*
ANDA #$03 LEAVE STEPPING RATE BITS
TSTB
BPL STEPIN
NEGB
ORA #ISTOUT
BRA STEPLP
STEPIN ORA #ISTIN
STEPLP PSHS B
BSR SEEK5
PULS B
DECB
BNE STEPLP
*
** SEEK TRACK WITH VERIFY & UPDATE
*
SEEKVU ANDA #$03 RETAIN STEPPING RATE
ORA #ISEEK+BHDLD ($18)
PULS B RESTORE DEST TRACK NO.
STB DATREG YES, SEEK1 NEW TRACK
LBSR DLY47
SEEK5 STA CMDREG
LBSR DLY47
BSR WAIT
BITB #$10 CHECK FOR SEEK1 ERROR
FOUND JMP DLY47
*
** WRITE SECTOR TO DISK
*
WRITSC BSR SEEK1
LDA #IWRITE+BBLEN+BEHLD ($AC)
WRITE2 ORCC #$10
* SEI
STA CMDREG
LBSR DLY47
LDB #$00
WRLOOP LDA CMDREG
BITA #$02
BNE WRBYTE
BITA #$01
BNE WRLOOP
TFR A,B
BRA WREXIT
*
WRBYTE LDA ,X+
STA DATREG
DECB
BNE WRLOOP
LBSR WAIT
WREXIT BITB #$5C
ANDCC #$EF
* CLI
RTS
*
** VERIFY SECTOR WRITTEN
*
VERIF1 LDA #IREAD+BBLEN+BEHLD ($8C)
VERIF2 ORCC #$10
* SEI
STA CMDREG
LBSR DLY47
LBSR WAIT
ANDCC #$EF
* CLI
BITB #$18
RTS
*
** SEEK TRACK ZERO
*
RESTR1 PSHS X
BSR DRVSEL
LDX #DDCTBL
LDA CURDRV
ANDA #1
LDA A,X
ANDA #$03
ORA #IREST+BHDLD
STA CMDREG
BSR DLY47
LBSR WAIT
BITB #$D8 CHECK FOR ERROR
PULS X,PC
*
** SELECT DRIVE
** IX -> FCB
** ACCA = NEW DRIVE NUMBER
*
* SAVE OLD TRACK NUMBER IN TABLE
* AND SET UP TRACK FOR NEW DRIVE
*
*
DRVSEL LDA 3,X
CMPA #3
BLS DRSEL1
LDB #$0F SET ERROR VALUE
* SEC
ORCC #$01
RTS
*
* SAVE TRACK POSITION OF PREVIOUS DRIVE
*
DRSEL1 BSR PNTDRV
LDB TRKREG
STB ,X
*
* SELECT NEW DRIVE
*
DRSEL3 STA CURDRV MAY BE 0 - 3
CMPA #1
BLS DRSEL4 ONE DIRECTORY ?
ANDA #DRIVSL ROUND OFF
ORA #SIDESL SELECT SIDE 1
DRSEL4 STA DRVREG
*
* RESTORE LAST TRACK POSITION FOR THIS DRIVE
*
BSR PNTDRV
LDA ,X
STA TRKREG
BSR DLY47
BRA OK
*
** CHECK IF DRIVE READY
*
CHKDRV LDA 3,X
CMPA #3
BLS OK
LDB #$80
* SEC
ORCC #$01
RTS
OK CLRB
* CLC
ANDCC #$FE
RTS
*
* POINT TO TRACK TABLE ENTRY FOR THIS DRIVE
*
PNTDRV LDX #TRKTBL
LDB CURDRV
ANDB #DRIVSL
ABX
RTS
*
** DELAY ROUTINE
*
DLY47 LBSR DLY19
DLY19 LBSR DLY5US
DLY5US RTS
END
1.1 System09/src/flex9/f9-dkide.txt
http://www.opencores.org/cvsweb.shtml/System09/src/flex9/f9-dkide.txt?rev=1.1&content-type=text/x-cvsweb-markup
Index: f9-dkide.txt
===================================================================
*
** FLEX 9 COMPACT FLASH / IDE DISK DRIVERS
*
* FOR SYS09BUG ON THE XESS XSA-3S1000 & XST3.0
* WITH I/O MAPPED AT $XE000
* AND ROM MAPPED AT $XF000
*
* These drivers should work with either
* an IDE disk drive or a IDE CF adapter card
* It uses 16 bit transfer mode,
* as some IDE drives do not support
* the set feature command found on CF cards
* that allows for 8 bit operation
*
*
IMASK EQU $10 IRQ MASK CC
FMASK EQU $40 FIRQ MASK CC
*
CF_BASE EQU $E100
CF_DATA EQU CF_BASE+0
CF_ERROR EQU CF_BASE+2 ; read error
CF_FEATURE EQU CF_BASE+2 ; write feature
CF_SECCNT EQU CF_BASE+4
CF_SECNUM EQU CF_BASE+6
CF_CYLLO EQU CF_BASE+8
CF_CYLHI EQU CF_BASE+10
CF_HEAD EQU CF_BASE+12
CF_STATUS EQU CF_BASE+14 ; read status
CF_COMAND EQU CF_BASE+14 ; write command
CF_AUX EQU CF_BASE+30 ; Reset register
*
* Command Equates
*
CMDREAD EQU $20 ; Read Single sector
CMDWRITE EQU $30 ; Write Single sector
AUXRESET EQU $06
AUXRSTREL EQU $02
HEADLBA EQU $E0
*
* Status bit equates
*
BSY EQU $80
DRDY EQU $40
DRQ EQU $08
ERR EQU $01
ORG $DE00
*
* DISK DRIVER JUMP TABLE
*
READ JMP READSC
WRITE JMP WRITSC
VERIFY JMP BUSY
RESTOR JMP RESTR1
DRIVE JMP DRVSEL
DRVRDY JMP CHKDRV
QUICK JMP CHKDRV
COLDDR JMP INITDR
WARMDR JMP WARMD1
SEEK JMP SEEKTS
*
* RAM SPACE
*
DRVNUM FCB 0
*
*
* INITIALIZE CF CARD
*
INITDR LDD #AUXRESET
STD CF_AUX
LDD #AUXRSTREL
STD CF_AUX
LDD #HEADLBA
STD CF_HEAD
BRA WAITRDY
*
* RESTORE DISK DRIVER (SEEK TRACK 00)
*
RESTR1 BSR DRVSEL
CLRA ; Track 0
LDB #$01 ; Sector 1
*
* Seek track and sector
* A holds track number (0 - ??)
* B holds sector number (1 - ??)
* Sector numbers starts from 1
* subtract 1 to start from sector 0 on CF
*
SEEKTS DECB
PSHS A
CLRA
STD CF_SECNUM
LDB ,S
STD CF_CYLLO
LDB DRVNUM
STD CF_CYLHI
LDB #$01
STD CF_SECCNT
PULS A
CLRB
WARMD1 RTS
*
* READ SECTORS FROM CF
*
*
READSC BSR SEEKTS
LDD #CMDREAD ; IDE READ MULTIPLE
STD CF_COMAND
BSR WAITRDY
*
* READ LOOP
*
PSHS Y
LDY #256
RDLP1 BSR WAITDRQ
LDD CF_DATA
STB ,X+
LEAY -1,Y
BNE RDLP1
PULS Y
*
BSR WAITRDY
CLRB
RTS
*
* WRITE SECTOR TO CF
*
WRITSC BSR SEEKTS ; SEEK TRACK & SECTOR
LDD #CMDWRITE; IDE WRITE MULTIPLE
STD CF_COMAND
BSR WAITRDY
*
* WRITE LOOP
*
PSHS Y
LDY #256
CLRA
WRTLP1 BSR WAITDRQ
LDB ,X+
STD CF_DATA
LEAY -1,Y
BNE WRTLP1
PULS Y
*
BSR WAITRDY
CLRB
RTS
*
* CHECK FOR BUSY
* Doubles as VERIFY
*
BUSY CLRB Never busy
RTS
*
* DRIVE SELECT DISK DRIVER
*
DRVSEL LDA 3,X GET DRIVE # FROM FCB
CMPA #3
BLS DRVS2 IF > 3, SET IT TO 0
CLRA
DRVS2 STA DRVNUM
CLRB ; SET Z, CLEAR C
RTS
*
* CHECK DRIVE READY DISK DRIVER
*
CHKDRV LDA 3,X
CLRB ; CLEAR C, SET Z
RTS
*
* WAIT UNTIL READY
*
WAITRDY LDD CF_STATUS
BITB #BSY
BNE WAITRDY
LDD CF_STATUS
BITB #DRDY
BEQ WAITRDY
RTS
*
* WAIT FOR DATA REQUEST
*
WAITDRQ LDD CF_STATUS
BITB #DRQ
BEQ WAITDRQ
RTS
*
END
1.1 System09/src/flex9/f9-dkram.txt
http://www.opencores.org/cvsweb.shtml/System09/src/flex9/f9-dkram.txt?rev=1.1&content-type=text/x-cvsweb-markup
Index: f9-dkram.txt
===================================================================
*
** FLEX 9 DISK DRIVERS
*
* FOR SYS09BUG ON THE DIGILENT SPARTAN 3 STARTER BOARD
* WITH I/O MAPPED AT $XE000
* AND ROM MAPPED AT $XF000
* THE DIGILENT SPARTAN 3 STARTER BOARD HAS 1MBYTE OF SRAM
* THE FIRST 64K IS USED BY FLEX,
* THE SECOND 192K IS USED AS A ROM DISK
* THE REMAINING RAM IS USED FOR A RAM DISK
*
* These drivers should also work on the B5-X300 board
* although there is only enough room for the ROM Disk.
*
IMASK EQU $10 IRQ MASK CC
FMASK EQU $40 FIRQ MASK CC
TRPAGE EQU $0E PAGE $E000 DAT ADDRESS
DATREG EQU $FFF0 DAT REGISTERS
ORG $DE00
*
* DISK DRIVER JUMP TABLE LAST UPDATE: 22/12/2006
* Disk driver for RAM Disk.
*
* 14 SECTORS PER TRACK
* 16 * N TRACKS PER DISK
*
* ROM DISK OCCUPIES $10000 - $1E000, $20000 - $2E000, $30000 - $3E000
* RAM DISK OCCUPIES $40000 - $4E000 ... $F0000 - $FE000
* Track Buffer page mapped at $E000 - $EFFF
* TRPAGE = $0E = 14 x $1000 (4 K pages)
* LEAST SIGNIFICANT NYBBLE OF THE DAT IS INVERTED
* ON SWTPC ROM AT $XF000 AND IO AT $XE000
* APPEARS THROUGHOUT THE MEMORY SO MUST BE SKIPPED OVER
* WHEN USING RAM AS A RAMDISK.
* THE MSN OF THE TRACK MAPS INTO THE MSN OF THE DAT
* THE LSN OF THE TRACK NUMBER INDEXES INTO THE 4K RAM PAGE
* THE SECTOR MAPS INTO THE LSN OF THE DAT WHICH IS INVERTED
*
*
READ JMP READSC
WRITE JMP WRITSC
VERIFY JMP BUSY
RESTOR JMP RESTR1
DRIVE JMP DRVSEL
DRVRDY JMP CHKDRV
QUICK JMP CHKDRV
COLDDR JMP INITDR
WARMDR JMP WARMD1
SEEK JMP SEEKTS
*
* RAM SPACE
*
WRKDR FDB 0
WRKTR FDB 0,0,0,0
SECPTR FDB 0
TRKCNT FCB 0
SECCNT FCB 0
VERERR FCB 0
CCSAVE FCB 0
*
DRVBAS FCB $10 DRIVE 0
FCB $40 DRIVE 1
FCB $40 DRIVE 2
FCB $40 DRIVE 3
*
INITDR RTS
WARMD1 RTS
*
* Seek track and sector
* A holds track number (0-32)
* B holds sector number (1-14)
*
SEEKTS STA TRKCNT
STB SECCNT
ANDCC #$FE ; CLEAR CARRY
ORCC #$40 ; SET Z
RTS
*
* MAP RAM DISK INTO I/O SPACE
*
MAPIN TFR CC,A ; Save state of interrupt masks
STA CCSAVE
ORCC #FMASK+IMASK ; Mask interrupts while IO mapped out
LDA TRKCNT
LDU #DRVBAS ; Point to Drive base offset
LDB WRKDR ; Get working drive number
ADDA B,U ; Add Base offset into RAM
ANDA #$F0 ; Mask MSN
STA ,-S ; Save A on stack
*
LDA SECCNT
SUBA #1 ; Sectors 1 to 14 => 0 to 13
EORA #$0F ; Complement LSNybble
ANDA #$0F
*
ADDA ,S+ ; Add sector to LSN of Track and pop
STA DATREG+TRPAGE
*
LDA TRKCNT ; LSN of Track indexes into 4K page
ANDA #$0F
ADDA #TRPAGE*16
STA SECPTR
CLR SECPTR+1
LDU SECPTR
RTS
*
* MAP RAM DISK OUT OF MEMORY
*
MAPOUT LDA #TRPAGE ; Point to the I/O page
EORA #$0F ; Complement LSNybble
STA DATREG+TRPAGE ; map in I/O page
LDA CCSAVE ; restore interrupt masks
TFR A,CC
RTS
*
* READ DISK DRIVER
*
READSC LBSR SEEKTS ; SEEK TRACK & SECTOR
PSHS U,X
BSR MAPIN ; MAP RAM DISK INTO I/O SPACE
*
CLRB
READ3 LDA ,U+
STA ,X+ ; Move Sector to FCB
INCB
BNE READ3
*
BSR MAPOUT ; MAP RAM DISK OUT OF I/O SPACE
CLRB ; Z SET C CLEAR
PULS U,X,PC ; Restore registers and return
*
* WRITE DISK DRIVER
*
WRITSC BSR SEEKTS ; SEEK TRACK & SECTOR
PSHS U,X
BSR MAPIN ; MAP RAM DISK INTO I/O SPACE
*
CLRB
WRIT3 LDA ,X+ ; COPY FCB BLOCK TO RAM DISK
STA ,U+
INCB
BNE WRIT3
*
BSR MAPOUT ; MAP OUT RAM DISK
CLRB ; SET Z, CLEAR C
PULS U,X,PC ; Restore registers and return
*
* RESTORE DISK DRIVER (SEEK TRACK 00)
*
RESTR1 PSHS A
CLRA ; Track 0
LDAB #$01 ; Sector 1
LBSR SEEKTS
PULS A,PC
*
* CHECK FOR BUSY
* Doubles as VERIFY
*
BUSY CLRB Never busy
RTS
*
* DRIVE SELECT DISK DRIVER
*
DRVSEL PSHS X
LDA 3,X GET DRIVE # FROM FCB
CMPA #3
BLS DRVS2 IF > 3, SET IT TO 0
CLRA
DRVS2 BSR MXWT MOVE X TO WORKING TRK
LDB TRKCNT
STB 0,X SAVE TRACK
STA WRKDR SAVE DESIRED DRV AS WORKING DRV
BSR MXWT MOVE X TO WORKING TRK
LDA 0,X GET WORKING TRK ON DESIRED DRV
STA TRKCNT UPDATE 1771 TRACK REG
CLRB ; SET Z, CLEAR C
PULS X,PC
*
* MOVE INDEX REG TO POINT TO
* WORKING TRACK STORAGE
*
MXWT LDX #WRKTR POINT TO START OF STG
LDB WRKDR GET WORKING DRIVE
ABX
MXWT2 RTS
*
* CHECK DRIVE READY DISK DRIVER
*
CHKDRV LDA 3,X
CLRB ; CLEAR C, SET Z
RTS
END
1.1 System09/src/flex9/f9-equ.txt
http://www.opencores.org/cvsweb.shtml/System09/src/flex9/f9-equ.txt?rev=1.1&content-type=text/x-cvsweb-markup
Index: f9-equ.txt
===================================================================
Z0000 EQU $0000
Z0005 EQU $0005
Z0044 EQU $0044
Z00A0 EQU $00A0
ZC07F EQU $C07F
LINBUF EQU $C080
ZC0FF EQU $C0FF
END
1.1 System09/src/flex9/f9-fms.txt
http://www.opencores.org/cvsweb.shtml/System09/src/flex9/f9-fms.txt?rev=1.1&content-type=text/x-cvsweb-markup
Index: f9-fms.txt
===================================================================
*
** FILE MANAGEMENT SYSTEM
*
ZD400 JMP >ZD436
FMSCLS JMP >ZD459
FMS JMP >FMS1
CPYMSG FCC / DISK OPERATING SYSTEM/
FCC / COPYRIGHT (C) 1980 BY/
FCC / TECHNICAL SYSTEMS CONSULTANTS/
ORG CPYMSG
FCBPTR RMB 2
CURFCB RMB 4
ZD40F RMB 2
ZD411 RMB 1
ZD412 RMB 1
ZD413 RMB 1
ZD414 RMB 1
ZD415 RMB 2
ZD417 RMB 1
ZD418 RMB 2
ZD41A RMB 1
ZD41B RMB 2
ZD41D RMB 24
VERFLG FCB $FF
*
**
*
ZD436 JSR >COLDDR
LDX #FCBPTR
LDB #$0A
BSR ZD451
LDX #Z0005
STX >ZD413
STX >ZD415
CLR >ZD41A
ZD44C LDX #ZD41B
LDB #$1A
ZD451 CLR ,X+
DECB
BNE ZD451
JMP >PRSPL5
ZD459 JSR >PRSPL4
ZD45C LDX >FCBPTR
BEQ ZD44C
LEAX -$1C,X
STX >CURFCB
PSHS Y
JSR >CLOSE
PULS Y
BCC ZD45C
LDX >CURFCB
CLR $02,X
JSR >PRSPL5
LDB #$FF
RTS
*
** FMS CALL, PROCESSING
*
FMS1 TST >ZCCFC
BEQ ZD483
JSR >PRSPL4
ZD483 PSHS Y,B
STX >CURFCB
CLR $01,X
LDB ,X
BNE DOFUNC
*
** READ/WRITE CHAR/BYTE
*
LDB $02,X
BEQ ZD4AC
CMPB #$02
BEQ ZD4A7
JSR >ZD5B4
ZD499 LDX >CURFCB
BCS ZD4C4
TST >ZCCFC
BNE ZD4C6
CLRB
PULS Y,B
RTS
ZD4A7 JSR >ZD6CF
BRA ZD499
ZD4AC LDB #$12
BRA ZD4C4
DOFUNC CMPB #$16
BLS DOFUN1
LDB #$01
BRA ZD4C4
DOFUN1 DECB
ASLB
LDX #FMSTBL
JSR [B,X]
LDX >CURFCB
BCC ZD4C6
ZD4C4 STB $01,X
ZD4C6 JSR >PRSPL5
TST $01,X
PULS Y,B
RTS
*
** FMS COMMAND VECTOR TABLE
*
FMSTBL FDB OPENRD FC 1
FDB OPENWR FC 2
FDB OPENUD FC 3
FDB CLOSE FC 4
FDB REWIND FC 5
FDB OPNDIR FC 6
FDB GETREC FC 7
FDB PUTREC FC 8
FDB RDSECT FC 9
FDB WRSECT FC 10
FDB RESV1 FC 11
FDB DELETE FC 12
FDB RENAME FC 13
FDB RESV2 FC 14
FDB NXTSEC FC 15
FDB OPNREC FC 16
FDB GETBYT FC 17
FDB PUTBYT FC 18
FDB RESV3 FC 19
FDB NXTDRV FC 20
FDB POSREC FC 21
FDB BAKREC FC 22
*
**
*
ZD4FA BSR ZD51C
BNE ZD503
LDB #$02
ORCC #$01
RTS
ZD503 STD ,X
LDX ,X
CLR ,X
CLR $01,X
RTS
ZD50C BSR ZD51C
BEQ ZD515
LDB #$0D
ORCC #$01
RTS
ZD515 LDD [,X]
STD ,X
ANDCC #$FE
RTS
ZD51C LDD >CURFCB
ADDD #$001C
LDX #FCBPTR
ZD525 LDY ,X
BNE ZD52D
ANDCC #$FB
RTS
ZD52D CMPD ,X
BNE ZD533
RTS
ZD533 LDX ,X
BRA ZD525
ZD537 LDX >CURFCB
CLRA
CLRB
BSR ZD540
LDB #$2F
ZD540 STA $11,X
LEAX $01,X
DECB
BNE ZD540
RTS
ZD549 LDX >CURFCB
LDB #$0B
ZD54E LDA $04,X
STA $24,X
LEAX $01,X
DECB
BNE ZD54E
RTS
ZD559 LDX >CURFCB
LDB #$0B
ZD55E LDA $04,X
PSHS A
LDA $24,X
CMPA ,S+
BNE ZD56E
LEAX $01,X
DECB
BNE ZD55E
ZD56E RTS
*
** GET RANDOM BYTE FROM SECTOR
*
GETBYT LDX >CURFCB
LDB $02,X
LSRB
BCC ZD5F0
LDB $23,X
JMP >ZD600
ZD57D LDX >CURFCB
LDB $22,X
INC $22,X
ABX
STA $40,X
INCB
BNE ZD5AC
ORCC #$01
RTS
*
** PUT RANDOM BYTE IN SECTOR
*
PUTBYT LDX >CURFCB
LDB $02,X
ANDB #$03
CMPB #$03
BNE ZD5F0
ORB #$80
STB $02,X
LDB $0F,X
BITB #$80
BNE ZD5AF
LDB $23,X
ABX
STA $40,X
ZD5AC ANDCC #$FE
RTS
ZD5AF LDB #$0B
ORCC #$01
RTS
ZD5B4 LDA $3B,X
BMI ZD5F5
BEQ ZD5C2
DEC $3B,X
LDA #$20
BRA ZD5DF
ZD5C2 BSR ZD5F5
BCS ZD5E1
CMPA #$18
BHI ZD5DF
BEQ ZD5C2
CMPA #$09
BNE ZD5DC
BSR ZD5F5
BCS ZD5E1
LDX >CURFCB
STA $3B,X
BRA ZD5B4
ZD5DC TSTA
BEQ ZD5C2
ZD5DF ANDCC #$FE
ZD5E1 RTS
*
** REWIND FILE
*
REWIND JSR >ZDAB1
BCS ZD5F0
BITA #$01
BEQ ZD5F0
STA ,X
JMP >ZD9A0
ZD5F0 LDB #$12
ORCC #$01
RTS
ZD5F5 LDX >CURFCB
LDB $22,X
BEQ ZD607
INC $22,X
ZD600 ABX
LDA $40,X
ANDCC #$FE
RTS
ZD607 BSR ZD60C
BCC ZD5F5
RTS
ZD60C LDX >CURFCB
LDD $40,X
INC $21,X
BNE ZD61A
INC $20,X
ZD61A CMPD #$0000
BEQ ZD63C
ZD620 STD $1E,X
PSHS A
LDA #$04
STA $22,X
PULS A
BSR RDSECT
BCC ZD640
BITB #$80
BEQ ZD638
LDB #$10
BRA ZD63E
ZD638 LDB #$09
BRA ZD63E
ZD63C LDB #$08
ZD63E ORCC #$01
ZD640 RTS
*
** READ SINGLE SECTOR
*
RDSECT BSR ZD668
LDX >CURFCB
JSR >DRIVE
BCS ZD65D
ZD64B BSR ZD65E
JSR >READ
BNE ZD655
ANDCC #$FE
RTS
ZD655 PSHS B
BSR ZD670
PULS B
BCC ZD64B
ZD65D RTS
ZD65E LDX >CURFCB
LDD $1E,X
LEAX $40,X
RTS
ZD668 CLRA
STA >ZD411
STA >ZD412
RTS
ZD670 BITB #$10
BNE ZD685
BITB #$80
BNE ZD69C
LDB >ZD411
INCB
CMPB #$07
BEQ ZD685
STB >ZD411
BRA RESV2
ZD685 CLR >ZD411
LDB >ZD412
INCB
CMPB #$04
BEQ ZD69C
STB >ZD412
LDX >CURFCB
JSR >RESTOR
*
** RESERVED
*
RESV2 ANDCC #$FE
RTS
ZD69C ORCC #$01
RTS
*
** WRITE SINGLE SECTOR
*
WRSECT BSR ZD668
LDX >CURFCB
JSR >DRIVE
BCS ZD6C9
ZD6A9 LDX >CURFCB
BSR ZD65E
JSR >WRITE
BNE ZD6BD
LDA >VERFLG
BEQ ZD6EF
JSR >VERIFY
BEQ ZD6EF
ZD6BD BITB #$40
BNE ZD6CC
PSHS B
BSR ZD670
PULS B
BCC ZD6A9
ZD6C9 RTS
LDB #$20
ZD6CC ORCC #$01
RTS
ZD6CF LDX >CURFCB
LDB $3B,X
BMI ZD714
CMPA #$20
BNE ZD6EA
INCB
STB $3B,X
CMPB #$7F
BNE ZD6EF
BRA ZD6F2
ZD6E5 BSR ZD6F2
BCC ZD6CF
RTS
ZD6EA TSTB
BEQ ZD714
BRA ZD6E5
ZD6EF ANDCC #$FE
RTS
ZD6F2 PSHS A
CMPB #$01
BNE ZD6FC
LDA #$20
BRA ZD70C
ZD6FC LDA #$09
BSR ZD714
PULS A
BCS ZD713
PSHS A
LDX >CURFCB
LDA $3B,X
ZD70C CLR $3B,X
BSR ZD714
PULS A
ZD713 RTS
ZD714 LDX >CURFCB
LDB $02,X
CMPB #$02
LBNE ZD5F0
LDB $22,X
CMPB #$04
BNE ZD72E
PSHS A
BSR ZD74B
PULS A
BCS ZD73D
ZD72E JSR >ZD57D
BCC ZD73D
LDB #$04
LDX >CURFCB
STB $22,X
ANDCC #$FE
ZD73D RTS
ZD73E LDX >CURFCB
CLRA
CLRB
STD $20,X
STD $42,X
BRA ZD772
ZD74B LDB $12,X
BNE ZD772
LDB $17,X
BEQ ZD799
CLR $17,X
BSR ZD799
BCS ZD786
BSR ZD73E
BCS ZD786
BSR ZD73E
BCS ZD786
LDX >CURFCB
LDB #$02
STB $17,X
LDD $11,X
JMP >ZDC82
ZD772 BSR ZD782
LDX >CURFCB
STD $40,X
JSR >WRSECT
BCC ZD799
JMP >ZDBC1
ZD782 BSR ZD787
LDD ,X
ZD786 RTS
ZD787 LDX >CURFCB
LDB $03,X
LDA #$06
MUL
LDX #ZD41D
ABX
STX >ZD41B
TST ,X
RTS
ZD799 BSR ZD782
BNE ZD7A2
LDB #$07
ZD79F ORCC #$01
RTS
ZD7A2 LDX >CURFCB
STD $13,X
TST $12,X
BNE ZD7B0
STD $11,X
ZD7B0 INC $16,X
BNE ZD7B8
INC $15,X
ZD7B8 TST $17,X
BEQ ZD7C8
JSR >ZDC43
BCS ZD79F
LDX >CURFCB
LDD $13,X
ZD7C8 JSR >ZD620
BCS ZD79F
LDX >CURFCB
LDD $40,X
PSHS B,A
BSR ZD787
PULS B,A
STD ,X
BNE ZD7E7
CLR $02,X
CLR $03,X
CLR $04,X
CLR $05,X
BRA ZD7EF
ZD7E7 LDY $04,X
LEAY -$01,Y
STY $04,X
ZD7EF CLRA
LDX >CURFCB
INC $21,X
BNE ZD7FB
INC $20,X
ZD7FB CLRB
ZD7FC STA $40,X
LEAX $01,X
DECB
BNE ZD7FC
LDX >CURFCB
LDD $20,X
STD $42,X
ANDCC #$FE
RTS
*
** OPEN SYSTEM INFO. RECORD
*
OPNREC CLRB
PSHS B
LDB #$03
BRA ZD825
LDX >ZD415
STX >ZD413
OPNDIR LDB >ZD413
PSHS B
LDB >ZD414
ZD825 LDX >CURFCB
STB $41,X
PULS B
STB $40,X
CLR >ZD418
CLRB
STB $22,X
RTS
*
** GET INFO RECORD
*
GETREC LDX >CURFCB
LDB $22,X
BNE ZD85D
JSR >ZD60C
BCS ZD875
LDX >CURFCB
TST >ZD418
BNE ZD852
LDD <Z0044
STD >ZD418
ZD852 LDA #$10
STA $22,X
LDD $1E,X
STD $2F,X
ZD85D LDA $22,X
STA $31,X
LDB #$18
ZD865 PSHS X,B
JSR >ZD5F5
PULS X,B
STA $04,X
LEAX $01,X
DECB
BNE ZD865
ANDCC #$FE
ZD875 RTS
*
** PUT INFORMATION RECORD
*
PUTREC LDX >CURFCB
LDA $31,X
STA $22,X
LDB #$18
ZD881 PSHS X,B
LDA $04,X
JSR >ZD714
PULS X,B
LEAX $01,X
DECB
BNE ZD881
JMP >WRSECT
ZD892 LDX >CURFCB
LDA $03,X
STA $23,X
LDA >ZD417
TST >ZD41A
BNE ZD8D3
STA $03,X
LDX >ZD415
STX >ZD413
ZD8AA CMPX #Z0005
BEQ ZD8BB
BSR ZD8D3
BLS ZD8EA
LDX >ZD418
STX >ZD413
BRA ZD8AA
ZD8BB LDX >CURFCB
LDA $23,X
STA $03,X
BPL ZD8D3
ZD8C5 JSR >NXTDRV
BCS ZD900
BSR ZD8D3
BLS ZD8EA
JSR >ZDDAD
BRA ZD8C5
ZD8D3 LDX >CURFCB
CLR >ZD41A
JSR >ZD549
JSR >OPNDIR
ZD8DF JSR >GETREC
BCC ZD8EB
CMPB #$08
BEQ ZD900
ORCC #$01
ZD8EA RTS
ZD8EB LDX >CURFCB
LDA $04,X
BEQ ZD8FE
BPL ZD8F6
BSR ZD905
ZD8F6 JSR >ZD559
BNE ZD8DF
ANDCC #$FE
RTS
ZD8FE BSR ZD905
ZD900 ANDCC #$FB
ANDCC #$FE
RTS
ZD905 LDA $33,X
BNE ZD916
LDD $2F,X
STD $32,X
LDA $31,X
STA $34,X
ZD916 RTS
ZD917 JSR >ZD787
BNE ZD933
BSR ZD936
BCS ZD935
LDB #$06
LDY >CURFCB
LDX >ZD41B
ZD929 LDA $5D,Y
LEAY $01,Y
STA ,X+
DECB
BNE ZD929
ZD933 ANDCC #$FE
ZD935 RTS
ZD936 JSR >OPNREC
JSR >ZD60C
BCS ZD946
LDX >CURFCB
LDB #$10
STB $22,X
ZD946 RTS
ZD947 JSR >ZD787
BSR ZD936
BCS ZD946
LDB #$06
LDY >CURFCB
LDX >ZD41B
ZD957 LDA ,X+
STA $5D,Y
LEAY $01,Y
DECB
BNE ZD957
JSR >WRSECT
BCC ZD946
JMP >ZDBC1
*
**
*
RESV1 LDX >CURFCB
LDA #$02
STA $02,X
LDD $2F,X
STD $1E,X
JSR >RDSECT
BCS ZD983
JSR >PUTREC
BCC ZD985
JMP >ZDBC1
ZD983 LDB #$0A
ZD985 RTS
*
** OPEN FOR READ
*
OPENRD JSR >ZD4FA
BCS ZD9C8
JSR >ZD892
BCS ZD9C8
BNE ZD9CD
LDX >CURFCB
TST >ZD41A
BEQ ZD9A0
LDA $0F,X
BITA #$20
BNE ZD9C9
ZD9A0 JSR >ZDCC0
BCS ZD9CF
LDD $11,X
STD $40,X
JSR >ZDA76
LDB $17,X
BEQ ZD9C6
ZD9B3 PSHS B
JSR >ZD60C
PULS B
BCS ZD9C8
DECB
BNE ZD9B3
LDX >CURFCB
CLRB
STB $22,X
ZD9C6 ANDCC #$FE
ZD9C8 RTS
ZD9C9 LDB #$11
BRA ZD9CF
ZD9CD LDB #$04
ZD9CF PSHS B
JSR >ZD50C
PULS B
ORCC #$01
RTS
OPENWR LDX >CURFCB
TST $03,X
BPL ZD9E8
JSR >NXTDRV
BCC ZD9E8
LDB #$10
RTS
ZD9E8 JSR >ZD4FA
BCS ZD9CF
JSR >ZD537
JSR >ZD917
BCS ZD9CF
JSR >ZD892
BCS ZD9CF
BNE ZDA00
LDB #$03
BRA ZD9CF
ZDA00 JSR >ZDCC0
BCS ZD9CF
LDX >CURFCB
LDB #$0A
ZDA0A CLR $0F,X
LEAX $01,X
DECB
BNE ZDA0A
LDX >CURFCB
LDD $32,X
BEQ ZDA40
STD $2F,X
LDA $34,X
STA $31,X
LDD >DATERG
STD $19,X
LDA >YEAR
STA $1B,X
JSR >ZDDAD
JSR >RESV1
BCS ZD9CF
BSR ZDA76
LDA #$04
STA $22,X
ANDCC #$FE
RTS
ZDA40 LDX >CURFCB
CLR $17,X
INC $12,X
LDD $2F,X
JSR >ZD620
BCS ZDA5E
JSR >ZD772
BCS ZDA5E
JSR >WRSECT
BCC ZDA61
JSR >ZDBC1
ZDA5E JMP >ZD9CF
ZDA61 LDX >CURFCB
LDD $1E,X
STD $32,X
LDA #$10
STA $34,X
JSR >ZD947
BCS ZDA5E
BRA ZDA00
ZDA76 LDX >CURFCB
LDA ,X
STA $02,X
CLR ,X
CLR $3B,X
CLRA
STA $22,X
RTS
*
** READ/WRITE NEXT SECTOR
*
NXTSEC BSR ZDAB1
BCS ZDA99
CLR ,X
LSRA
LBCS ZD60C
LDB #$04
STB $22,X
ANDCC #$FE
ZDA99 RTS
ZDA9A LDX >CURFCB
LDA $02,X
CMPA #$83
BNE ZDAAE
LDA #$03
STA $02,X
ZDAA7 JSR >WRSECT
LBCS ZDBC1
ZDAAE ANDCC #$FE
RTS
ZDAB1 BSR ZDA9A
BCS ZDAC2
LDX >CURFCB
LDA $02,X
CMPA #$03
BLS ZDAAE
LDB #$12
ORCC #$01
ZDAC2 RTS
CLOSE BSR ZDAB1
BCS ZDAF8
CMPA #$02
BEQ ZDAD3
ZDACB LDX >CURFCB
CLR $02,X
JMP >ZD50C
ZDAD3 LDA $12,X
BNE ZDADD
JSR >ZDBA7
BRA ZDAF6
ZDADD BSR ZDAA7
BCS ZDAF8
LDX >CURFCB
TST $17,X
BEQ ZDAEE
JSR >ZDC98
BCS ZDAF8
ZDAEE JSR >RESV1
BCS ZDAF8
JSR >ZD947
ZDAF6 BCC ZDACB
ZDAF8 RTS
*
** OPEN FOR UPDATE
*
OPENUD JSR >OPENRD
BCS ZDB26
JSR >ZD60C
BCS ZDB26
LDA #$03
BRA ZDB1F
*
**
*
RESV3 JSR >OPENRD
BCS ZDB26
LDX >CURFCB
LDA $0F,X
BITA #$80
BNE ZDB27
LDD $13,X
JSR >ZD620
BCS ZDB26
LDA #$02
ZDB1F LDX >CURFCB
STA $02,X
ANDCC #$FE
ZDB26 RTS
ZDB27 LDB #$0B
ORCC #$01
RTS
*
** RENAME FILE
*
RENAME BSR ZDB63
JSR >ZD892
BCS ZDB5D
BEQ ZDB59
LDX >CURFCB
LDB #$0B
ZDB3A LDA $24,X
STA $04,X
LEAX $01,X
DECB
BNE ZDB3A
BSR ZDB93
BCS ZDB5D
LDX >CURFCB
LDA $0F,X
BITA #$80
BNE ZDB27
BITA #$60
BNE ZDB5E
BSR ZDB63
BRA ZDBAE
ZDB59 LDB #$03
ORCC #$01
ZDB5D RTS
ZDB5E LDB #$0C
ORCC #$01
RTS
ZDB63 LDX >CURFCB
LDA #$0B
STA >ZD411
ZDB6B LDA $04,X
LDB $35,X
STA $35,X
STB $04,X
LEAX $01,X
DEC >ZD411
BNE ZDB6B
LDX >CURFCB
LDA $0C,X
BNE ZDB8F
LDB #$03
ZDB85 LDA $3D,X
STA $0C,X
LEAX $01,X
DECB
BNE ZDB85
ZDB8F LDX >CURFCB
RTS
ZDB93 BSR ZDB63
ZDB95 JSR >ZD892
BCS ZDBA1
BNE ZDBA2
LDX >CURFCB
ANDCC #$FE
ZDBA1 RTS
ZDBA2 LDB #$04
ORCC #$01
RTS
ZDBA7 LDX >CURFCB
LDA #$FF
STA $04,X
ZDBAE JSR >RESV1
LDX >CURFCB
LDA #$00
STA $02,X
RTS
ZDBB9 STD $40,X
JSR >WRSECT
BCC ZDBD5
ZDBC1 BITB #$40
BNE ZDBCD
BITB #$80
BEQ ZDBD3
LDB #$10
BRA ZDBD3
ZDBCD LDB #$0B
BRA ZDBD3
LDB #$0A
ZDBD3 ORCC #$01
ZDBD5 RTS
*
** DELETE FILE
*
DELETE JSR >ZD917
BCS ZDC39
BSR ZDB95
BCS ZDC39
LDX >CURFCB
LDA $0F,X
BITA #$80
BNE ZDC3A
BITA #$60
BNE ZDC3E
JSR >ZD787
LDX >ZD41B
LDD $02,X
BNE ZDC05
LDX >CURFCB
LDD $11,X
BEQ ZDC31
LDX >ZD41B
STD ,X
BRA ZDC19
ZDC05 LDX >CURFCB
JSR >ZD620
BCS ZDC39
LDX >CURFCB
LDD $11,X
BEQ ZDC31
BSR ZDBB9
BCS ZDC39
ZDC19 LDX >CURFCB
LDD $13,X
LDX >ZD41B
STD $02,X
LDX >CURFCB
LDD $15,X
LDX >ZD41B
ADDD $04,X
STD $04,X
ZDC31 JSR >ZDBA7
BCS ZDC39
JSR >ZD947
ZDC39 RTS
ZDC3A LDB #$0B
BRA ZDC40
ZDC3E LDB #$0C
ZDC40 ORCC |