|
Message
From: cvs at opencores.org<cvs@o...>
Date: Fri Mar 14 16:52:53 CET 2008
Subject: [cvs-checkins] MODIFIED: System09 ...
Date: 00/08/03 14:16:52 Added: System09/src/sys09bug SYS09ADS.S19 SYS09B5X.S19 SYS09S3E.S19 SYS09S3S.S19 SYS09SWT.S19 SYS09XES.S19 opt_ads.txt opt_b5x.txt opt_s3e.txt opt_s3s.txt opt_swt.txt opt_xes.txt readme.txt sys09ads.lst sys09ads.sh sys09ads.txt sys09b5x.aux sys09b5x.lst sys09b5x.sh sys09b5x.txt sys09b5x_b4_0.vhd sys09b5x_b4_1.vhd sys09b5x_b4_2.vhd sys09b5x_b4_3.vhd sys09bug.txt sys09equ.txt sys09ide.txt sys09s3e.aux sys09s3e.lst sys09s3e.sh sys09s3e.txt sys09s3e_b16.vhd sys09s3s.aux sys09s3s.lst sys09s3s.sh sys09s3s.txt sys09s3s_b16.vhd sys09swt.lst sys09swt.sh sys09swt.txt sys09xes.aux sys09xes.lst sys09xes.sh sys09xes.txt sys09xes_b16_0.vhd sys09xes_b16_1.vhd Log: Updated software - XSA-3S1000 now runs FLEX on an IDE drive or CF card. Revision Changes Path 1.1 System09/src/sys09bug/SYS09ADS.S19 http://www.opencores.org/cvsweb.shtml/System09/src/sys09bug/SYS09ADS.S19?rev=1.1&content-type=text/x-cvsweb-markup Index: SYS09ADS.S19 =================================================================== S123F800F822F856FC66FC60FC75FC83FB58FAE7FAE3FF06FE47FE09FE33FCABFCC0FC9844 S123F820FC858EFE81108EDFC0C610A680A7A05A26F98EE400BFDFD0170142C60C6FE25A86 S123F84026FB308CDDAF6A86D0A7E41F431704468EFE911703028EFEBA1702871704078468 S123F8607F810D27F11F8981202C09865E1704131F988B4017040C170407C1602F02C020D2 S123F8808EFE4BE180270F30028CFE8126F58EFEBC1702C420C0AD9420BC1F343B17033F95 S123F8A0292D1F128EFEC21702391F211703791703CFA6A41703791703C71703322811819D S123F8C00827E1811827DD815E2717810D260F39A7A4A1A427081703A8863F1703A5312107 S123F8E020C2313F20BE1702761F328EDFC0301F20051702DF29063420ACE12401391F10BE S123F900C30010C4F034061F20C4F01F01ACE42705170361270332623934108EFEC2170137 S123F920C2AEE4170302170356C610A68017030017034E5A26F5170346AEE1C610A6808184 S123F940202504817E2302862E1703375A26EE20BC17028B291E8CDFC0241A34108EFFFFC3 S123F9608D553510270FA684813F2709A7A0AFA4863FA78439170309863F160306108EDFC5 S123F980D3C6088D185A26FB391F43AE4A301F8D262704AF4A8D0617021C16FEB9AE218CF9 S123F9A0DFC0240AA684813F2604A6A4A78486FFA7A0A7A0A7A039108EDFD3C608A6A0AC4A S123F9C0A127045A26F739313D397DE0187FE0148E000030018C000026F9860FB7E0188DDD S123F9E037F6E018C50126F98601B7E01A8D29868CB7E0188D228EC0002009C5022705B67B S123FA00E01BA780F6E018C50126F0C52C2701398EC000AF4A1F343BC6045A26FD39340417 S123FA20C6205A26FD3584BDFC9886111702547FDFD2170226815326F917021F8139273D99 S123FA40813126F11701A83402292617019129213410E6E0EBE0EBE46AE46AE43404170111 S123FA608E3504290C3402EBE06AE42705A78020EB5F3502C1FF27BA863F17020673DFD29A S123FA8086131601FE6FE217014A3430294DAC6225493001AFE4BDFC9886121701E5ECE431 S123FAA0A3622706108300202302C620E7648EFF0317002FCB031F98170175AE621701688F S123FAC0EB62EB63EB84A6801701656A6426F5531F9817015BAF62ACE426C386141701A330 S123FAE03265398D02207134108EFEB4170069359016018D1600F81600E51700918DF28DE8 S123FB00F62902AF4A398D618DE78DEB2902AF48398D728DDC8DE02902AF46398D5E8DD1E2 S123FB208DD52902AF44398D498DC68DC72902A743398D6C8DBB8DBC2902A742398D588DF4 S123FB40B08DB12902A741398D5F8DA58DA629048A80A7C43917012BA680810426F7398E69 S123FB60FEC68DF41F311600BF8EFED28DEAAE4820F48EFEE48DE1A6431600B48EFEDE8DB0 S123FB80D7AE4420E18EFED88DCEAE4620D88EFECC8DC5AE4A20CF8EFEEA8DBCA64120D9BC S123FBA08EFEEF8DB3A64220D08EFEF48DAAA6C48EFEFB1600908EFEC217FF278DA18DA971 S123FBC08DB08DB88DBF8EFEC217FF178DC08DC78DCE20D58D09294D1F12862D1700A48DAF S123FBE00E29421F018D08293C3410A76135908D112932484848481F898D0729283404ABD4 S123FC00E0398D578130251D8139220380303981412512814622038037398161250781665E S123FC2022038057391A0239341035028D0235023402444444448D043502840F8B308139DF S123FC402F028B07203D3402C608A68068E42502862D8D2F8D2B5A26F135827DDFD2270639 S123FC608D04847F201D3410BEDFD0A684850127F7A60135903402A69FDFD0850135828DD0 S123FC800086208D3B3412BEDFD0A684850227FA3502A70135908D13BEDFD08603A7848682 S123FCA011A7846D0186FFB7DFD2398E0000BFDFEBBFDFEF8EE800BFDFED861B8D028659BC S123FCC03416BEDFEDE684C47FE7847DDFF027048D5E2010812024048D152008BEDFEDA7DE S123FCE0841700E9BEDFEDE684CA80E7843596810810270027811B10270052810D10270037 S123FD00B4810A264FFCDFEB5CC110102600AA1600CCFCDFEB5D273C5A16009DB6DFEB273C S123FD20334A160091B6DFEB4C81402727160086F6DFF0C13D271E8159102700B881542757 S123FD405D8145273B8152272C813D2604B7DFF0397FDFF0397DDFEF2604B7DFEF397FDF35 S123FD60F08020813F22EDF6DFEF7FDFEFC020C10F22E120448D3EF6DFECC10F277A20617A S123FD808D33F6DFECC10F27158EEBC0A682A78840A6890400A7890440BCDFED26EEB6DF2A S123FDA0EBBEDFEDC620E7890400E7804C814026F57FDFF0394FF6DFECFDDFEB86403DFB85 S123FDC0DFEB8900C3E800FDDFED1F0139FCDFEB4C814026E44F5CC11026DE5A8DDB8EE86A S123FDE000A6890440A7890400A68840A7808CEBC026EE2003BEDFED8620A7890400A780CA S123FE008CEC0026F57FDFF0393404CC0C04FDE404C604F7E4045C26FDB7E404862AB7E4B9 S123FE2007CCFF2EFDE406861B8D0886438D04864235043404F6E406F6E404C51027065DF1 S123FE402BF6B7E40635847DE4073901FB3D02FB3203FB4804FB2710FAFA15FB0618FB1C65 S123FE6019FB1142F95145F8F247F89A4CFA2750FA854DF89D52FBB653F8E658F97D44F968 S123FE80CAF989F89CF89CF89CF89CF989FFFFFFFF0D0A0000005359533039425547203196 S123FEA02E3420464F52204144533638303920202D20044B0D0A000000043E045748415499 S123FEC03F04202D2004202053503D04202050433D04202055533D04202049593D042020A6 S123FEE049583D04202044503D042020413D042020423D04202043433A2004454648494EF4 S123FF005A56435331043910CEDFC05F53F7DFD216F90F6E9FDFC06E9FDFC46E9FDFC66EB8 S123FF209FDFC86E9FDFCA1F43AE4AE680AF4A4F5849BEDFCC8CFFFF270F308BBCDFCE22A9 S114FF40083410ECC4AE446EF1371FEE426E9FDFC22B S113FFF0FF13FF27FF17FF1BFF1FFF23FF13FF073D S9030000FC 1.1 System09/src/sys09bug/SYS09B5X.S19 http://www.opencores.org/cvsweb.shtml/System09/src/sys09bug/SYS09B5X.S19?rev=1.1&content-type=text/x-cvsweb-markup Index: SYS09B5X.S19 =================================================================== S123F800F814F861FC9DFC97FCB5FCCAFB8FFB1EFB1AFA2E8EFE6D108EDFC0C610A680A723 S123F820A05A26F98EE000BFDFE017015BC60C6FE25A26FB308CDDAF6A86D0A7E41F4317A2 S123F840049B8EFE7D1703478EDFD04FC60D6D8527038B04195A2AF617040C8EFE9F170392 S123F8602E8EFEA61702B3170433847F810D27F11F8981202C09865E17044F1F988B4017FC S123F8800448170443C1602F02C0208EFE37E180270F30028CFE6D26F58EFEA81702F0208D S123F8A0C0AD9420BC1F343B17036B292D1F128EFEAE1702651F211703A517040BA6A4178F S123F8C003A517040317035E2811810827E1811827DD815E2717810D260F39A7A4A1A427AF
S123F8E0081703E4863F1703E1312120C2313F20BE1702A21F328EDFC0301F200517030BEA
S123F90029063420ACE12401391F10C30010C4F034061F20C4F01F01ACE4270517039627DF
S123F9200332623934108EFEAE1701EEAEE417032E170392C610A68017032C17038A5A2683
S123F940F5170382AEE1C610A68081202504817E2302862E1703735A26EE20BC1702B72915
S123F9601E8CDFC0241A34108EFFFF8D553510270FA684813F2709A7A0AFA4863FA78439F2
S123F980170345863F160342108EDFE3C6088D185A26FB391F43AE4A301F8D262704AF4ADD
S123F9A08D0617024816FEB9AE218CDFC0240AA684813F2604A6A4A78486FFA7A0A7A0A717
S123F9C0A039108EDFE3C608A6A0ACA127045A26F739313D398D4086E0B7E0468D398601AA
S123F9E0B7E04186EFB7E0478D2D8601B7E0424FB7E043B7E044B7E0458620B7E0478D17B6
S123FA008EC0008D21B6E040A7808CC20026F48EC000AF4A1F343BB6E047858026F9B6E015
S123FA2047854027F239B6E047850827F9393436A66244444444108EDFD0E6A654545454F6
S123FA40E7E4E6A65358585858A662840FA762EA62E76235B63404C6205A26FD3584BDFC67
S123FA60DF86111702647FDFE2170226815326F917021F8139273D813126F11701A8340208
S123FA80292617019129213410E6E0EBE0EBE46AE46AE4340417018E3504290C3402EBE093
S123FAA06AE42705A78020EB5F3502C1FF27BA863F17021673DFE2861316020E6FE217010F
S123FAC04A3430294DAC6225493001AFE4BDFCDF86121701F5ECE4A36227061083002023A9
S123FAE002C620E7648EFEEF17002FCB031F98170175AE62170168EB62EB63EB84A6801725
S123FB0001656A6426F5531F9817015BAF62ACE426C386141701B33265398D0220713410F2
S123FB208EFEA0170069359016019D1600F81600E51700918DF28DF62902AF4A398D618D11
S123FB40E78DEB2902AF48398D728DDC8DE02902AF46398D5E8DD18DD52902AF44398D49E1
S123FB608DC68DC72902A743398D6C8DBB8DBC2902A742398D588DB08DB12902A741398D7C
S123FB805F8DA58DA629048A80A7C43917013BA680810426F7398EFEB28DF41F311600BF8A
S123FBA08EFEBE8DEAAE4820F48EFED08DE1A6431600B48EFECA8DD7AE4420E18EFEC48D6F
S123FBC0CEAE4620D88EFEB88DC5AE4A20CF8EFED68DBCA64120D98EFEDB8DB3A64220D0E0
S123FBE08EFEE08DAAA6C48EFEE71600908EFEAE17FF278DA18DA98DB08DB88DBF8EFEAEF8
S123FC0017FF178DC08DC78DCE20D58D09294D1F12862D1700B48D0E29421F018D08293CE7
S123FC203410A76135908D112932484848481F898D0729283404ABE0398D578130251D81B5
S123FC40392203803039814125128146220380373981612507816622038057391A023934D1
S123FC601035028D0235023402444444448D043502840F8B3081392F028B07204D3402C631
S123FC8008A68068E42502862D8D3F8D3B5A26F135827DDFE227068D04847F202D3410BE02
S123FCA0DFE0A684850126098EE020A684850127EEA60135903402A69FDFE085012605B642
S123FCC0E020850135828D0086208D453412BEDFE0A684850227FA3502A70135908D13BE47
S123FCE0DFE08603A7848611A7846D0186FFB7DFE2398EE030CC0000FDDFFBA702E703E76C
S123FD0004FDDFFDC602E7017FDFFE861B8D02865934168EE0307DDFFE27048D74200D81CB
S123FD202024048D092005A7841700C53596810810270041811B1027006C811A1027008E4A
S123FD40811610270045810D10270099810C1027002C810B10270011810A2651FCDFFB5C36
S123FD60C11910260083160099FCDFFB5D1027003C5A160074B6DFFB27334A160068B6DF6C
S123FD80FB4C81501027002516005BCC0000160058F6DFFEC13D271681591027006E8154DE
S123FDA02731813D2604B7DFFE397FDFFE397DDFFD2604B7DFFD397FDFFE8020814F22ED73
S123FDC0F6DFFD7FDFFDC020C11822E1201BCC00008D16B6DFFBC620E7844CA702815026BF
S123FDE0F77FDFFE394FF6DFFCFDDFFBA702E70339FCDFFB4C815026F04F5CC11926EA5AB8
S123FE008DE7E6045CC11925015FE704F6DFFB8620F7DFFBE702A7845CC15026F4F6DFFC27
S123FE205CC1192708F7DFFCE7035F20E45FF7DFFBE702F7DFFE3901FB7402FB6903FB7FC1
S123FE4004FB5E10FB3115FB3D18FB5319FB4842F95C45F8FD47F8A54CFA5E50FABC4DF852
S123FE60A852FBED53F8F158F98844F9D5F994F8A7F8A7F8A7F8A7F994FFFFFFFF0D0A00CC
S123FE800000535953303942554720312E3420464F522042352D5833303020202D20044BD3
S123FEA00D0A000000043E04574841543F04202D2004202053503D04202050433D04202081
S123FEC055533D04202049593D04202049583D04202044503D042020413D042020423D0456
S115FEE0202043433A2004454648494E5A564353310403
S123FF008EFFF0860FA7804A26FB86F0A7848ED0A0108E55AAEE8410AF8410AC84270B30A6
S123FF2089F0008CF0A026ED20D6EF841F104344444444B7FFFD10CEDFC0108EDFD0A72DD9
S123FF406F2E86F0A72F860C6FA64A2AFB3089F0008CF0A02722EE84108E55AA10AF84102E
S123FF60AC8426E9EF84108EDFD01F10444444441F89880FA7A520D586F1108EDFD0A72E26
S123FF80860CE6A626054A2AF920146FA6E72C4F1F21E6A627046FA6E7804C810C2DF38E02
S123FFA0FFF0C610A6A0A7805A26F953F7DFE216F8626E9FDFC06E9FDFC46E9FDFC66E9FFC
S123FFC0DFC86E9FDFCA1F43AE4AE680AF4A4F5849BEDFCC8CFFFF270F308BBCDFCE2208A0
S113FFE03410ECC4AE446EF1371FEE426E9FDFC294
S113FFF0FFB2FFC6FFB6FFBAFFBEFFC2FFB2FF00EB
S9030000FC
1.1 System09/src/sys09bug/SYS09S3E.S19
http://www.opencores.org/cvsweb.shtml/System09/src/sys09bug/SYS09S3E.S19?rev=1.1&content-type=text/x-cvsweb-markup
Index: SYS09S3E.S19
===================================================================
S123F800F814F84BFC90FC8AFCA8FCBDFB82FB11FB0DFEE18EFE60108E7FC0C610A680A74A
S123F820A05A26F98EE000BF7FD0170145C60C6FE25A26FB308CDDAF6A86D0A7E41F431728
S123F840048E8EFE7017033A1701DE8EFE951702BC17043C847F810D27F11F8981202C0958
S123F860865E1704581F988B4017045117044CC1602F02C0208EFE2AE180270F30028CFE9D
S123F8806026F58EFE971702F920C0AD9420BC1F343B170374292D1F128EFE9D17026E1F45
S123F8A0211703AE170414A6A41703AE17040C1703672811810827E1811827DD815E2717EE
S123F8C0810D260F39A7A4A1A427081703ED863F1703EA312120C2313F20BE1702AB1F3202
S123F8E08E7FC0301F200517031429063420ACE12401391F10C30010C4F034061F20C4F044
S123F9001F01ACE4270517039F270332623934108EFE9D1701F7AEE417033717039BC6106D
S123F920A6801703351703935A26F517038BAEE1C610A68081202504817E2302862E170340
S123F9407C5A26EE20BC1702C0291E8C7FC0241A34108EFFFF8D5B3510270FA684813F2770
S123F96009A7A0AFA4863FA7843917034E863F16034B108E7FD3C6088D1E5A26FB391F43A7
S123F980AE4A301F8D2C2704AF4A8D0C1702518E0000BF7FED16FEB3AE218C7FC0240AA64E
S123F9A084813F2604A6A4A78486FFA7A0A7A0A7A039108E7FD3C608A6A0ACA127045A26D1
S123F9C0F739313D3917015F291C1702EE1702392914BF7FEDBE7FC0BF7FEB8EF9E7BF7FFD
S123F9E0C01700452020391F438636B7E071B6E0701701ECAE4AA684813F2724BE7FED27C0
S123FA001F301FBF7FED1F34860DB7E0708636B7E071B6E0708636B7E073863FB7E0713BC4
S123FA20BE7FEBBF7FC016FE228632B7E071863AB7E07386FFB7E0708600B7E0728636B74E
S123FA40E071863EB7E073393404C6205A26FD3584BDFCD286111702647F7FD217022681C7
S123FA605326F917021F8139273D813126F11701A83402292617019129213410E6E0EBE0E4
S123FA80EBE46AE46AE4340417018E3504290C3402EBE06AE42705A78020EB5F3502C1FFA8
S123FAA027BA863F170216737FD2861316020E6FE217014A3430294DAC6225493001AFE41D
S123FAC0BDFCD286121701F5ECE4A3622706108300202302C620E7648EFEDE17002FCB0369
S123FAE01F98170175AE62170168EB62EB63EB84A6801701656A6426F5531F9817015BAF6C
S123FB0062ACE426C386141701B33265398D02207134108EFE8F170069359016019D160043
S123FB20F81600E51700918DF28DF62902AF4A398D618DE78DEB2902AF48398D728DDC8D9D
S123FB40E02902AF46398D5E8DD18DD52902AF44398D498DC68DC72902A743398D6C8DBB5A
S123FB608DBC2902A742398D588DB08DB12902A741398D5F8DA58DA629048A80A7C43917FC
S123FB80013BA680810426F7398EFEA18DF41F311600BF8EFEAD8DEAAE4820F48EFEBF8DBF
S123FBA0E1A6431600B48EFEB98DD7AE4420E18EFEB38DCEAE4620D88EFEA78DC5AE4A20EE
S123FBC0CF8EFEC58DBCA64120D98EFECA8DB3A64220D08EFECF8DAAA6C48EFED616009066
S123FBE08EFE9D17FF278DA18DA98DB08DB88DBF8EFE9D17FF178DC08DC78DCE20D58D098C
S123FC00294D1F12862D1700B48D0E29421F018D08293C3410A76135908D112932484848B9
S123FC20481F898D0729283404ABE0398D578130251D81392203803039814125128146226E
S123FC400380373981612507816622038057391A0239341035028D023502340244444444A7
S123FC608D043502840F8B3081392F028B07204D3402C608A68068E42502862D8D3F8D3B9C
S123FC805A26F135827D7FD227068D04847F202D3410BE7FD0A684850126098EE020A68474
S123FCA0850127EEA60135903402A69F7FD085012605B6E020850135828D0086208D453492
S123FCC012BE7FD0A684850227FA3502A70135908D13BE7FD08603A7848611A7846D018674
S123FCE0FFB77FD2398EE030CC0000FD7FEFA702E703E704FD7FF1C602E7017F7FF2861BBF
S123FD008D02865934168EE0307D7FF227048D74200D812024048D092005A7841700C53582
S123FD2096810810270041811B1027006C811A1027008E811610270045810D102700998197
S123FD400C1027002C810B10270011810A2651FC7FEF5CC11910260083160099FC7FEF5D8B
S123FD601027003C5A160074B67FEF27334A160068B67FEF4C81501027002516005BCC0008
S123FD8000160058F67FF2C13D271681591027006E81542731813D2604B77FF2397F7FF26A
S123FDA0397D7FF12604B77FF1397F7FF28020814F22EDF67FF17F7FF1C020C11822E120EF
S123FDC01BCC00008D16B67FEFC620E7844CA702815026F77F7FF2394FF67FF0FD7FEFA74E
S123FDE002E70339FC7FEF4C815026F04F5CC11926EA5A8DE7E6045CC11925015FE704F654
S123FE007FEF8620F77FEFE702A7845CC15026F4F67FF05CC1192708F77FF0E7035F20E44D
S123FE205FF77FEFE702F77FF23901FB6702FB5C03FB7204FB5110FB2415FB3018FB461913
S123FE40FB3B42F94645F8E747F88F4CFA5150FAAF4DF89252FBE053F8DB58F97254F9C566
S123FE60F97EF891F891F891F891F97EFFFFFFFF0D0A000000535953303942554720312E94
S123FE803420464F522053334520202D20044B0D0A000000043E04574841543F04202D201B
S123FEA004202053503D04202050433D04202055533D04202049593D04202049583D042074
S123FEC02044503D042020413D042020423D04202043433A2004454648494E5A564353319F
S123FEE0043910CE7FC05F53F77FD216F9266E9F7FC06E9F7FC46E9F7FC66E9F7FC86E9F26
S123FF007FCA1F43AE4AE680AF4A4F5849BE7FCC8CFFFF270F308BBC7FCE22083410ECC440
S10FFF20AE446EF1371FEE426E9F7FC2AC
S113FFF0FEEEFF02FEF2FEF6FEFAFEFEFEEEFEE26C
S9030000FC
1.1 System09/src/sys09bug/SYS09S3S.S19
http://www.opencores.org/cvsweb.shtml/System09/src/sys09bug/SYS09S3S.S19?rev=1.1&content-type=text/x-cvsweb-markup
Index: SYS09S3S.S19
===================================================================
S123F800F814F861FCA1FC9BFCB9FCCEFB8FFB1EFB1AFA2E8EFE74108EDFC0C610A680A70C
S123F820A05A26F98EE000BFDFE017015BC60C6FE25A26FB308CDDAF6A86D0A7E41F4317A2
S123F840049F8EFE841703478EDFD04FC60D6D8527038B04195A2AF617040C8EFEA817037E
S123F8602E8EFEAF1702B3170437847F810D27F11F8981202C09865E1704531F988B4017EB
S123F880044C170447C1602F02C0208EFE3BE180270F30028CFE7426F58EFEB11702F02071
S123F8A0C0AD9420BC1F343B17036B292D1F128EFEB71702651F211703A517040FA6A41782
S123F8C003A517040717035E2811810827E1811827DD815E2717810D260F39A7A4A1A427AB
S123F8E0081703E8863F1703E5312120C2313F20BE1702A21F328EDFC0301F200517030BE2
S123F90029063420ACE12401391F10C30010C4F034061F20C4F01F01ACE4270517039A27DB
S123F9200332623934108EFEB71701EEAEE417032E170396C610A68017032C17038E5A2672
S123F940F5170386AEE1C610A68081202504817E2302862E1703775A26EE20BC1702B7290D
S123F9601E8CDFC0241A34108EFFFF8D553510270FA684813F2709A7A0AFA4863FA78439F2
S123F980170349863F160346108EDFE3C6088D185A26FB391F43AE4A301F8D262704AF4AD5
S123F9A08D0617024816FEB9AE218CDFC0240AA684813F2604A6A4A78486FFA7A0A7A0A717
S123F9C0A039108EDFE3C608A6A0ACA127045A26F739313D398D4086E0B7E0468D398601AA
S123F9E0B7E04186EFB7E0478D2D8601B7E0424FB7E043B7E044B7E0458620B7E0478D17B6
S123FA008EC0008D21B6E040A7808CC20026F48EC000AF4A1F343BB6E047858026F9B6E015
S123FA2047854027F239B6E047850827F9393436A66244444444108EDFD0E6A654545454F6
S123FA40E7E4E6A65358585858A662840FA762EA62E76235B63404C6205A26FD3584BDFC67
S123FA60E386111702687FDFE217022A815326F91702238139273D813126F11701A83402F8
S123FA80292617019129213410E6E0EBE0EBE46AE46AE4340417018E3504290C3402EBE093
S123FAA06AE42705A78020EB5F3502C1FF27BA863F17021A73DFE286131602126FE2170107
S123FAC04A3430294DAC6225493001AFE4BDFCE386121701F9ECE4A36227061083002023A1
S123FAE002C620E7648EFEF817002FCB031F98170175AE62170168EB62EB63EB84A680171C
S123FB0001656A6426F5531F9817015BAF62ACE426C386141701B73265398D0220713410EE
S123FB208EFEA917006935901601A11600F81600E51700918DF28DF62902AF4A398D618D04
S123FB40E78DEB2902AF48398D728DDC8DE02902AF46398D5E8DD18DD52902AF44398D49E1
S123FB608DC68DC72902A743398D6C8DBB8DBC2902A742398D588DB08DB12902A741398D7C
S123FB805F8DA58DA629048A80A7C43917013FA680810426F7398EFEBB8DF41F311600BF7D
S123FBA08EFEC78DEAAE4820F48EFED98DE1A6431600B48EFED38DD7AE4420E18EFECD8D4B
S123FBC0CEAE4620D88EFEC18DC5AE4A20CF8EFEDF8DBCA64120D98EFEE48DB3A64220D0C5
S123FBE08EFEE98DAAA6C48EFEF01600908EFEB717FF278DA18DA98DB08DB88DBF8EFEB7D4
S123FC0017FF178DC08DC78DCE20D58D09294D1F12862D1700B88D0E29421F018D08293CE3
S123FC203410A76135908D112932484848481F898D0729283404ABE0398D5B8130251D81B1
S123FC40392203803039814125128146220380373981612507816622038057391A023934D1
S123FC601035028D0235023402444444448D043502840F8B3081392F028B0720513402C62D
S123FC8008A68068E42502862D8D438D3F5A26F135826E9FF0007DDFE227068D04847F202C
S123FCA02D3410BEDFE0A684850126098EE020A684850127EEA60135903402A69FDFE085F5
S123FCC0012605B6E020850135828D0086208D453412BEDFE0A684850227FA3502A7013553
S123FCE0908D13BEDFE08603A7848611A7846D0186FFB7DFE2398EE030CC0000FDDFFBA751
S123FD0002E703E704FDDFFDC602E7017FDFFE861B8D02865934168EE0307DDFFE27048D1A
S123FD2074200D812024048D092005A7841700C53596810810270041811B1027006C811AED
S123FD401027008E811610270045810D10270099810C1027002C810B10270011810A2651A3
S123FD60FCDFFB5CC11910260083160099FCDFFB5D1027003C5A160074B6DFFB27334A1637
S123FD800068B6DFFB4C81501027002516005BCC0000160058F6DFFEC13D27168159102724
S123FDA0006E81542731813D2604B7DFFE397FDFFE397DDFFD2604B7DFFD397FDFFE80200F
S123FDC0814F22EDF6DFFD7FDFFDC020C11822E1201BCC00008D16B6DFFBC620E7844CA7D9
S123FDE002815026F77FDFFE394FF6DFFCFDDFFBA702E70339FCDFFB4C815026F04F5CC142
S123FE001926EA5A8DE7E6045CC11925015FE704F6DFFB8620F7DFFBE702A7845CC1502669
S123FE20F4F6DFFC5CC1192708F7DFFCE7035F20E45FF7DFFBE702F7DFFE3901FB7402FBE2
S123FE406903FB7F04FB5E10FB3115FB3D18FB5319FB4842F95C45F8FD47F8A54CFA5E5067
S123FE60FABC4DF8A852FBED53F8F158F98844F9D555FC92F994F8A7F8A7F8A7F8A7F99401
S123FE80FFFFFFFF0D0A000000535953303942554720312E3420464F52205333535441526B
S123FEA054455220202D20044B0D0A000000043E04574841543F04202D2004202053503D12
S123FEC004202050433D04202055533D04202049593D04202049583D04202044503D042063
S11EFEE020413D042020423D04202043433A2004454648494E5A564353310495
S123FF008EFFF0860FA7804A26FB86F0A7848ED0A0108E55AAEE8410AF8410AC84270B30A6
S123FF2089F0008CF0A026ED20D6EF841F104344444444B7FFFD10CEDFC0108EDFD0A72DD9
S123FF406F2E86F0A72F860C6FA64A2AFB3089F0008CF0A02722EE84108E55AA10AF84102E
S123FF60AC8426E9EF84108EDFD01F10444444441F89880FA7A520D586F1108EDFD0A72E26
S123FF80860CE6A626054A2AF920146FA6E72C4F1F21E6A627046FA6E7804C810C2DF38E02
S123FFA0FFF0C610A6A0A7805A26F953F7DFE216F8626E9FDFC06E9FDFC46E9FDFC66E9FFC
S123FFC0DFC86E9FDFCA1F43AE4AE680AF4A4F5849BEDFCC8CFFFF270F308BBCDFCE2208A0
S113FFE03410ECC4AE446EF1371FEE426E9FDFC294
S113FFF0FFB2FFC6FFB6FFBAFFBEFFC2FFB2FF00EB
S9030000FC
1.1 System09/src/sys09bug/SYS09SWT.S19
http://www.opencores.org/cvsweb.shtml/System09/src/sys09bug/SYS09SWT.S19?rev=1.1&content-type=text/x-cvsweb-markup
Index: SYS09SWT.S19
===================================================================
S123F800F814F861FD25FD1FFD34FD42FC17FBA6FBA2FAB68EFD9F108EDFC0C610A680A7C6
S123F820A05A26F98EE000BFDFE017015BC60C6FE25A26FB308CDDAF6A86D0A7E41F4317A2
S123F84005118EFDAF1703CF8EDFD04FC60D6D8527038B04195A2AF61704948EFDCF1703AB
S123F860B68EFDD617033B1704BB847F810D27F11F8981202C09865E1704C71F988B4017BC
S123F88004C01704BBC1602F02C0208EFD66E180270F30028CFD9F26F58EFDD81703782086
S123F8A0C0AD9420BC1F343B1703F3292D1F128EFDDE1702ED1F2117042D170483A6A4174F
S123F8C0042D17047B1703E62811810827E1811827DD815E2717810D260F39A7A4A1A42726
S123F8E00817045C863F170459312120C2313F20BE17032A1F328EDFC0301F2005170393E7
S123F90029063420ACE12401391F10C30010C4F034061F20C4F01F01ACE42705170415275F
S123F9200332623934108EFDDE170276AEE41703B617040AC610A6801703B41704025A26C9
S123F940F51703FAAEE1C610A68081202504817E2302862E1703EB5A26EE20BC17033F299C
S123F9601E8CDFC0241A34108EFFFF8D553510270FA684813F2709A7A0AFA4863FA78439F2
S123F9801703BD863F1603BA108EDFE3C6088D185A26FB391F43AE4A301F8D262704AF4AED
S123F9A08D061702D016FEB9AE218CDFC0240AA684813F2604A6A4A78486FFA7A0A7A0A78F
S123F9C0A039108EDFE3C608A6A0ACA127045A26F739313D397DE0187FE0148E0000300160
S123F9E08C000026F9860FB7E0188D37F6E018C50126F98601B7E01A8D29868CB7E0188D41
S123FA00228EC0002009C5022705B6E01BA780F6E018C50126F0C52C2701398EC000AF4A1B
S123FA201F343BC6045A26FD3986DEB7F02486FFB7F014B7F010B7F015B7F0167DF0108612
S123FA40D8B7F020170096B6F0202BFB8609B7F020170089B6F020850126F9851026CA8EF6
S123FA60C0008D528A10B7F0401F104353FDF0008EFEFFBFF00286FFB7F01086FEB7F014F9
S123FA808601B7F022868CB7F0208D515F34045F7DF0102A0A5A26F835045A26F0208A35B4
S123FAA004B6F020851C270139C6DEF7F0248EC000AF4A1F343B3436A66244444444108ED2
S123FAC0DFD0E6A654545454E7E4E6A65358585858A662840FA762EA62E76235B63404C66B
S123FAE0205A26FD3584BDFD5386111702547FDFE2170226815326F917021F8139273D8152
S123FB003126F11701A83402292617019129213410E6E0EBE0EBE46AE46AE4340417018E43
S123FB203504290C3402EBE06AE42705A78020EB5F3502C1FF27BA863F17020673DFE286D1
S123FB40131601FE6FE217014A3430294DAC6225493001AFE4BDFD5386121701E5ECE4A397
S123FB60622706108300202302C620E7648EFE1F17002FCB031F98170175AE62170168EB6B
S123FB8062EB63EB84A6801701656A6426F5531F9817015BAF62ACE426C386141701A33228
S123FBA065398D02207134108EFDD0170069359016018D1600F81600E51700918DF28DF648
S123FBC02902AF4A398D618DE78DEB2902AF48398D728DDC8DE02902AF46398D5E8DD18D8B
S123FBE0D52902AF44398D498DC68DC72902A743398D6C8DBB8DBC2902A742398D588DB011
S123FC008DB12902A741398D5F8DA58DA629048A80A7C43917012BA680810426F7398EFD5B
S123FC20E28DF41F311600BF8EFDEE8DEAAE4820F48EFE008DE1A6431600B48EFDFA8DD7A8
S123FC40AE4420E18EFDF48DCEAE4620D88EFDE88DC5AE4A20CF8EFE068DBCA64120D98EF2
S123FC60FE0B8DB3A64220D08EFE108DAAA6C48EFE171600908EFDDE17FF278DA18DA98D42
S123FC80B08DB88DBF8EFDDE17FF178DC08DC78DCE20D58D09294D1F12862D1700A48D0E52
S123FCA029421F018D08293C3410A76135908D112932484848481F898D0729283404ABE041
S123FCC0398D578130251D813922038030398141251281462203803739816125078166225C
S123FCE0038057391A0239341035028D0235023402444444448D043502840F8B3081392F12
S123FD00028B07203D3402C608A68068E42502862D8D2F8D2B5A26F135827DDFE227068D0A
S123FD2004847F201D3410BEDFE0A684850127F7A60135903402A69FDFE0850135828D007C
S123FD4086203412BEDFE0A684850227FA3502A7013590BEDFE08603A7848611A7846D015F
S123FD6086FFB7DFE23901FBFC02FBF103FC0704FBE610FBB915FBC518FBDB19FBD042F9D2
S123FD805C45F8FD47F8A54CFAE650FB444DF8A852FC7553F8F158F98844F9D555FA29F9E2
S123FDA094F8A7F8A7F8A7F8A7F994FFFFFFFF0D0A000000535953303942554720312E3496
S123FDC020464F5220535754504320202D20044B0D0A000000043E04574841543F04202D6A
S123FDE02004202053503D04202050433D04202055533D04202049593D04202049583D0435
S123FE00202044503D042020413D042020423D04202043433A2004454648494E5A56435370
S105FE203104A7
S123FF008EFFF0860FA7804A26FB86F0A7848ED0A0108E55AAEE8410AF8410AC84270B30A6
S123FF2089F0008CF0A026ED20D6EF841F104344444444B7FFFD10CEDFC0108EDFD0A72DD9
S123FF406F2E86F0A72F860C6FA64A2AFB3089F0008CF0A02722EE84108E55AA10AF84102E
S123FF60AC8426E9EF84108EDFD01F10444444441F89880FA7A520D586F1108EDFD0A72E26
S123FF80860CE6A626054A2AF920146FA6E72C4F1F21E6A627046FA6E7804C810C2DF38E02
S123FFA0FFF0C610A6A0A7805A26F953F7DFE216F8626E9FDFC06E9FDFC46E9FDFC66E9FFC
S123FFC0DFC86E9FDFCA1F43AE4AE680AF4A4F5849BEDFCC8CFFFF270F308BBCDFCE2208A0
S113FFE03410ECC4AE446EF1371FEE426E9FDFC294
S113FFF0FFB2FFC6FFB6FFBAFFBEFFC2FFB2FF00EB
S9030000FC
1.1 System09/src/sys09bug/SYS09XES.S19
http://www.opencores.org/cvsweb.shtml/System09/src/sys09bug/SYS09XES.S19?rev=1.1&content-type=text/x-cvsweb-markup
Index: SYS09XES.S19
===================================================================
S123F000F002AD9FF806847F1F898620AD9FF80AC1602F02C0208EF02CE180270D30028CE2
S123F020F03526F58EF0351602296E9442F03E46F0EA58F2BC57484154203F0A0D048ECDF7
S123F04000AF4A1F343B34308E03E8108E04E2B6E00047250A313F26F6301F26EE35B0B62E
S123F060E00135B0343034028E03E8108E04E2B6E0004747250C313F26F5301F26ED3502B6
S123F08035B03502B7E00135B00A0D466F726D6174696E6720494445206469736B2E2E2ECE
S123F0A0200A0D4472697665204E756D626572203F040A0D04494445206472697665206E7A
S123F0C06F7420616C6C6F63617465642120040A0D466F726D617420436F6D706C65746562
S123F0E0044944454449534B2004BDF4BD8EF089BDF25317FF5024FB17FF69813010250086
S123F100EF8133102200E980301F89F701008E00FDBDF53A8E02004F5FA7805A26FB7F0106
S123F120018601B701028E0200B60101A784B601024C810026046C848601A701B60101F699
S123F1400102BDF5157C0102B60102810026D78601B701027C0101B60101810026C88E02B5
S123F1600086FFC6FFBDF4F18E02006F846F0186FFC6FFBDF5158E02004FC6FFBDF4F18EC7
S123F18002006F846F014FC6FFBDF5158E02004FC603BDF4F18E02006F846F013420108EFC
S123F1A0F0E1C610A6A0A7855CC11826F735204FF60100ED881BCC0101ED881D86FFC6FF0B
S123F1C0ED881FED8826CCFE01ED88218601A788238607A788248607A788254FC603BDF537
S123F1E0158EF7004FC601B70101F701021703258EF0CF7EF253B6E0008501398603B7E0E4
S123F200008611B7E000398610B701087F01097F010AB6E000850126088578270A8DDD2018
S123F220E6B6E0011CFD397A010A26E67A010926E17A010826DC4F1A02393402B6E0008565
S123F240022608857827F58DB320F13502B7E001398DE7A680810426F8390D0A586D6F64E3
S123F260656D20494445204469736B2055706C6F6164040D0A55706C6F616420436F6D7067
S123F2806C657465040D0A55706C6F6164204572726F72040D0A4472697665204E756D624F
S123F2A06572203A040D0A41726520596F752053757265203F2028592F4E29048EF25A172F
S123F2C0FF918EF29417FF8B17FF3C29FB17FF6A81301025012E8133102201288030B70163
S123F2E0008EF29417FF6CB601008B3017FF4B8EF2A517FF5E17FF0F29FB17FF3D845F8108
S123F3004E102700FF815926B31701B1CEF42DFF01068601B701048E02004FC601B7010152
S123F320F701021700EA102500E01701871700E0102500D68E0200B60101F601021701D5EA
S123F3401701718E0200B60101F601025CB70101F701021700BA102500B01701571700B0E4
S123F360102500A68E0200B60101F601021701A51701418E0200B60101F601025CB7010101
S123F380F7010217008A10250080170127170080102500768E0200A688264CB7010BE68837
S123F3A0275CF7010CB60101F60102170167170103B60101F601025C8E0200B70101F70129
S123F3C00217004C102500421700E9170042102500388E0200B60101F601021701371700E0
S123F3E0D3B60101F601025CF1010C26CBC6014CB1010B26C38EF7004FC601B70101F70135
S123F400021701118EF2737EF2538EF28516FE433440FE010617FDEF280A861517FE1BCE64
S123F420F42D20F1ADC426EDFF010635C081012606CEF44D1CFA3981042608860617FDFABE
S123F4401A0539811826031A05391CFA39B101042606CEF4631CFA39861517FDDDCEF42D16
S123F4601CFA3943B1010426EF7F01038680B70105CEF4771CFA393402BB0103B701033578
S123F480027A01052603CEF48EA7801CFA39B10103260B7C0104CEF42D1CFE1A04393404F8
S123F4A01F105AC4801F013504861517FD8CCEF42D1CFA393402860617FD7F3582CC0006CB
S123F4C0FDE11ECC0002FDE11ECC00E0FDE10C1602D68D664FC60134024F5AFDE106E6E448
S123F4E0FDE108F60100FDE10AC601FDE1045F35828DE4CC0020FDE10E1702AC3420108E84
S123F50001001702B2FCE100E780313F26F435201702955F398DC0CC0030FDE10E170288DC
S123F5203420108E01004F17028DE680FDE100313F26F435201702705F39A603810323014A
S10DF5404FB701005F39A6035F39DD
S123F700200B000000000000C00000000010CEC0FFEC8CF1FDC300108EC4008D3581022766
S123F72010811626F68D2BA78CDE8D26A78CDA20EA8D1FA78CD48D1AA78CD08D151F895D6B
S123F74027D9AE8CC534148D093514A7805A26F520C9108CC400260F8EC300EC84270B8DE5
S123F76026269D108EC304A6A0396E9C9B34024F5AFDE106E6E4FDE108E68C90FDE10AC6F0
S123F78001FDE1045F35828DE4CC0020FDE10E8D173420108E01008D1EFCE100E780313F2D
S122F7A026F535208D025F39FCE10EC58026F9FCE10EC54027F239FCE10EC50827F9390D
S123F800F814F861FCA1FC9BFCB9FCCEFB8FFB1EFB1AFA2E8EFE74108EDFC0C610A680A70C
S123F820A05A26F98EE000BFDFE017015BC60C6FE25A26FB308CDDAF6A86D0A7E41F4317A2
S123F840049F8EFE841703478EDFD04FC60D6D8527038B04195A2AF617040C8EFEA3170383
S123F8602E8EFEAA1702B3170437847F810D27F11F8981202C09865E1704531F988B4017F0
S123F880044C170447C1602F02C0208EFE3BE180270F30028CFE7426F58EFEAC1702F02076
S123F8A0C0AD9420BC1F343B17036B292D1F128EFEB21702651F211703A517040FA6A41787
S123F8C003A517040717035E2811810827E1811827DD815E2717810D260F39A7A4A1A427AB
S123F8E0081703E8863F1703E5312120C2313F20BE1702A21F328EDFC0301F200517030BE2
S123F90029063420ACE12401391F10C30010C4F034061F20C4F01F01ACE4270517039A27DB
S123F9200332623934108EFEB21701EEAEE417032E170396C610A68017032C17038E5A2677
S123F940F5170386AEE1C610A68081202504817E2302862E1703775A26EE20BC1702B7290D
S123F9601E8CDFC0241A34108EFFFF8D553510270FA684813F2709A7A0AFA4863FA78439F2
S123F980170349863F160346108EDFE3C6088D185A26FB391F43AE4A301F8D262704AF4AD5
S123F9A08D0617024816FEB9AE218CDFC0240AA684813F2604A6A4A78486FFA7A0A7A0A717
S123F9C0A039108EDFE3C608A6A0ACA127045A26F739313D39CC0006FDE11ECC0002FDE18D
S123F9E01ECC00E0FDE10C8D2ECC0001FDE1045FFDE106FDE108FDE10AC620FDE10E8D175E
S123FA008EC0008D21FCE100E7808CC10026F48EC000AF4A1F343BFCE10EC58026F9FCE13A
S123FA200EC54027F239FCE10EC50827F9393436A66244444444108EDFD0E6A654545454A1
S123FA40E7E4E6A65358585858A662840FA762EA62E76235B63404C6205A26FD3584BDFC67
S123FA60E386111702687FDFE217022A815326F91702238139273D813126F11701A83402F8
S123FA80292617019129213410E6E0EBE0EBE46AE46AE4340417018E3504290C3402EBE093
S123FAA06AE42705A78020EB5F3502C1FF27BA863F17021A73DFE286131602126FE2170107
S123FAC04A3430294DAC6225493001AFE4BDFCE386121701F9ECE4A36227061083002023A1
S123FAE002C620E7648EFEF317002FCB031F98170175AE62170168EB62EB63EB84A6801721
S123FB0001656A6426F5531F9817015BAF62ACE426C386141701B73265398D0220713410EE
S123FB208EFEA417006935901601A11600F81600E51700918DF28DF62902AF4A398D618D09
S123FB40E78DEB2902AF48398D728DDC8DE02902AF46398D5E8DD18DD52902AF44398D49E1
S123FB608DC68DC72902A743398D6C8DBB8DBC2902A742398D588DB08DB12902A741398D7C
S123FB805F8DA58DA629048A80A7C43917013FA680810426F7398EFEB68DF41F311600BF82
S123FBA08EFEC28DEAAE4820F48EFED48DE1A6431600B48EFECE8DD7AE4420E18EFEC88D5F
S123FBC0CEAE4620D88EFEBC8DC5AE4A20CF8EFEDA8DBCA64120D98EFEDF8DB3A64220D0D4
S123FBE08EFEE48DAAA6C48EFEEB1600908EFEB217FF278DA18DA98DB08DB88DBF8EFEB2E8
S123FC0017FF178DC08DC78DCE20D58D09294D1F12862D1700B88D0E29421F018D08293CE3
S123FC203410A76135908D112932484848481F898D0729283404ABE0398D5B8130251D81B1
S123FC40392203803039814125128146220380373981612507816622038057391A023934D1
S123FC601035028D0235023402444444448D043502840F8B3081392F028B0720513402C62D
S123FC8008A68068E42502862D8D438D3F5A26F135826E9FF0007DDFE227068D04847F202C
S123FCA02D3410BEDFE0A684850126098EE020A684850127EEA60135903402A69FDFE085F5
S123FCC0012605B6E020850135828D0086208D453412BEDFE0A684850227FA3502A7013553
S123FCE0908D13BEDFE08603A7848611A7846D0186FFB7DFE2398EE030CC0000FDDFFBA751
S123FD0002E703E704FDDFFDC602E7017FDFFE861B8D02865934168EE0307DDFFE27048D1A
S123FD2074200D812024048D092005A7841700C53596810810270041811B1027006C811AED
S123FD401027008E811610270045810D10270099810C1027002C810B10270011810A2651A3
S123FD60FCDFFB5CC11910260083160099FCDFFB5D1027003C5A160074B6DFFB27334A1637
S123FD800068B6DFFB4C81501027002516005BCC0000160058F6DFFEC13D27168159102724
S123FDA0006E81542731813D2604B7DFFE397FDFFE397DDFFD2604B7DFFD397FDFFE80200F
S123FDC0814F22EDF6DFFD7FDFFDC020C11822E1201BCC00008D16B6DFFBC620E7844CA7D9
S123FDE002815026F77FDFFE394FF6DFFCFDDFFBA702E70339FCDFFB4C815026F04F5CC142
S123FE001926EA5A8DE7E6045CC11925015FE704F6DFFB8620F7DFFBE702A7845CC1502669
S123FE20F4F6DFFC5CC1192708F7DFFCE7035F20E45FF7DFFBE702F7DFFE3901FB7402FBE2
S123FE406903FB7F04FB5E10FB3115FB3D18FB5319FB4842F95C45F8FD47F8A54CFA5E5067
S123FE60FABC4DF8A852FBED53F8F158F98844F9D555FC92F994F8A7F8A7F8A7F8A7F99401
S123FE80FFFFFFFF0D0A000000535953303942554720312E3420464F5220584553532020A8
S123FEA02D20044B0D0A000000043E04574841543F04202D2004202053503D042020504366
S123FEC03D04202055533D04202049593D04202049583D04202044503D042020413D042078
S119FEE020423D04202043433A2004454648494E5A56435331045C
S123FF008EFFF0860FA7804A26FB86F0A7848ED0A0108E55AAEE8410AF8410AC84270B30A6
S123FF2089F0008CF0A026ED20D6EF841F104344444444B7FFFD10CEDFC0108EDFD0A72DD9
S123FF406F2E86F0A72F860C6FA64A2AFB3089F0008CF0A02722EE84108E55AA10AF84102E
S123FF60AC8426E9EF84108EDFD01F10444444441F89880FA7A520D586F1108EDFD0A72E26
S123FF80860CE6A626054A2AF920146FA6E72C4F1F21E6A627046FA6E7804C810C2DF38E02
S123FFA0FFF0C610A6A0A7805A26F953F7DFE216F8626E9FDFC06E9FDFC46E9FDFC66E9FFC
S123FFC0DFC86E9FDFCA1F43AE4AE680AF4A4F5849BEDFCC8CFFFF270F308BBCDFCE2208A0
S113FFE03410ECC4AE446EF1371FEE426E9FDFC294
S113FFF0FFB2FFC6FFB6FFBAFFBEFFC2FFB2FF00EB
S9030000FC
1.1 System09/src/sys09bug/opt_ads.txt
http://www.opencores.org/cvsweb.shtml/System09/src/sys09bug/opt_ads.txt?rev=1.1&content-type=text/x-cvsweb-markup
Index: opt_ads.txt
===================================================================
*
***************************************************
* OPTION SWITCHES
***************************************************
*
*
** THE CONTROL PORT CAN ONLY BE ONE OF THESE
** NOTE THAT THE ACIA WILL ALWAYS BE PRESET
** FOR LOADING AND SAVING S1 RECORDS
*
*S3EOPT EQU $FF SPARTAN3E STARTER
*S3SOPT EQU $FF SPARTAN3 STARTER FPGA VIDEO & PS2 KEYBOARD
*B5XOPT EQU $FF B5-X300 FPGA VIDEO & PS2 KEYBOARD
*XESOPT EQU $FF XESS XSA-3S100 & XST-3.0
ADSOPT EQU $FF ADS6809 & DG640 VIDEO DISPAY
*SWTOPT EQU $FF SWTP ACIA SERIAL CONTROL PORT
*
END
1.1 System09/src/sys09bug/opt_b5x.txt
http://www.opencores.org/cvsweb.shtml/System09/src/sys09bug/opt_b5x.txt?rev=1.1&content-type=text/x-cvsweb-markup
Index: opt_b5x.txt
===================================================================
*
***************************************************
* OPTION SWITCHES
***************************************************
*
*
** THE CONTROL PORT CAN ONLY BE ONE OF THESE
** NOTE THAT THE ACIA WILL ALWAYS BE PRESET
** FOR LOADING AND SAVING S1 RECORDS
*
*S3EOPT EQU $FF SPARTAN3E STARTER
*S3SOPT EQU $FF SPARTAN3 STARTER FPGA VIDEO & PS2 KEYBOARD
B5XOPT EQU $FF B5-X300 FPGA VIDEO & PS2 KEYBOARD
*XESOPT EQU $FF XESS XSA-3S100 & XST-3.0
*ADSOPT EQU $FF ADS6809 & DG640 VIDEO DISPAY
*SWTOPT EQU $FF SWTP ACIA SERIAL CONTROL PORT
*
END
1.1 System09/src/sys09bug/opt_s3e.txt
http://www.opencores.org/cvsweb.shtml/System09/src/sys09bug/opt_s3e.txt?rev=1.1&content-type=text/x-cvsweb-markup
Index: opt_s3e.txt
===================================================================
*
***************************************************
* OPTION SWITCHES
***************************************************
*
*
** THE CONTROL PORT CAN ONLY BE ONE OF THESE
** NOTE THAT THE ACIA WILL ALWAYS BE PRESET
** FOR LOADING AND SAVING S1 RECORDS
*
S3EOPT EQU $FF SPARTAN3E STARTER
*S3SOPT EQU $FF SPARTAN3 STARTER FPGA VIDEO & PS2 KEYBOARD
*B5XOPT EQU $FF B5-X300 FPGA VIDEO & PS2 KEYBOARD
*XESOPT EQU $FF XESS XSA-3S100 & XST-3.0
*ADSOPT EQU $FF ADS6809 & DG640 VIDEO DISPAY
*SWTOPT EQU $FF SWTP ACIA SERIAL CONTROL PORT
*
END
1.1 System09/src/sys09bug/opt_s3s.txt
http://www.opencores.org/cvsweb.shtml/System09/src/sys09bug/opt_s3s.txt?rev=1.1&content-type=text/x-cvsweb-markup
Index: opt_s3s.txt
===================================================================
*
***************************************************
* OPTION SWITCHES
***************************************************
*
*
** THE CONTROL PORT CAN ONLY BE ONE OF THESE
** NOTE THAT THE ACIA WILL ALWAYS BE PRESET
** FOR LOADING AND SAVING S1 RECORDS
*
*S3EOPT EQU $FF SPARTAN3E STARTER
S3SOPT EQU $FF SPARTAN3 STARTER FPGA VIDEO & PS2 KEYBOARD
*B5XOPT EQU $FF B5-X300 FPGA VIDEO & PS2 KEYBOARD
*XESOPT EQU $FF XESS XSA-3S100 & XST-3.0
*ADSOPT EQU $FF ADS6809 & DG640 VIDEO DISPAY
*SWTOPT EQU $FF SWTP ACIA SERIAL CONTROL PORT
*
END
1.1 System09/src/sys09bug/opt_swt.txt
http://www.opencores.org/cvsweb.shtml/System09/src/sys09bug/opt_swt.txt?rev=1.1&content-type=text/x-cvsweb-markup
Index: opt_swt.txt
===================================================================
*
***************************************************
* OPTION SWITCHES
***************************************************
*
*
** THE CONTROL PORT CAN ONLY BE ONE OF THESE
** NOTE THAT THE ACIA WILL ALWAYS BE PRESET
** FOR LOADING AND SAVING S1 RECORDS
*
*S3EOPT EQU $FF SPARTAN3E STARTER
*S3SOPT EQU $FF SPARTAN3 STARTER FPGA VIDEO & PS2 KEYBOARD
*B5XOPT EQU $FF B5-X300 FPGA VIDEO & PS2 KEYBOARD
*XESOPT EQU $FF XESS XSA-3S100 & XST-3.0
*ADSOPT EQU $FF ADS6809 & DG640 VIDEO DISPAY
SWTOPT EQU $FF SWTP ACIA SERIAL CONTROL PORT
*
END
1.1 System09/src/sys09bug/opt_xes.txt
http://www.opencores.org/cvsweb.shtml/System09/src/sys09bug/opt_xes.txt?rev=1.1&content-type=text/x-cvsweb-markup
Index: opt_xes.txt
===================================================================
*
***************************************************
* OPTION SWITCHES
***************************************************
*
*
** THE CONTROL PORT CAN ONLY BE ONE OF THESE
** NOTE THAT THE ACIA WILL ALWAYS BE PRESET
** FOR LOADING AND SAVING S1 RECORDS
*
*S3EOPT EQU $FF SPARTAN3E STARTER
*S3SOPT EQU $FF SPARTAN3 STARTER FPGA VIDEO & PS2 KEYBOARD
*B5XOPT EQU $FF B5-X300 FPGA VIDEO & PS2 KEYBOARD
XESOPT EQU $FF XESS XSA-3S100 & XST-3.0
*ADSOPT EQU $FF ADS6809 & DG640 VIDEO DISPAY
*SWTOPT EQU $FF SWTP ACIA SERIAL CONTROL PORT
*
END
1.1 System09/src/sys09bug/readme.txt
http://www.opencores.org/cvsweb.shtml/System09/src/sys09bug/readme.txt?rev=1.1&content-type=text/x-cvsweb-markup
Index: readme.txt
===================================================================
System09 Monitor Program
========================
John Kent
3rd February 2008
1. Introduction.
System09 is FPGA SOC (System On a Chip) that uses a 6809 instruction compatible FPGA core.
The system is based around the old SWTPc (South West Technical Product Computer),
the difference being the FPGA version runs witha 25 MHz E Clock where as the SWTPc
ran with a 1MHz to 2MHz E clock.
2. Disk Operating Systems
The SWTPc ran the FLEX9, OS9 and Uniflex operating systems.
2.1 Flex9
Flex is a single user operating system developed by TSC (Technical Systems Consultants).
It was to the Motorola 8 bit microprocessor family what CP/M was to the 8080 and Z80 family.
Flex9 typically used SBUG1.8 as the monitor program for providing the terminal drivers
and primative debug functions.
2.2 UniFlex
UniFlex was TSC's multi tasking version of their Flex operating system.
I don't know much about it, other that the fact that much of the code is available on the
internet. UniFlex made use of the extended memory, and used thw SWTPc DMAF-2 Floppy
Disk Controller.
2.3 OS9
OS9 is a realtime multitasking operating system. It used to come in a basic 64K version
called Level 1 and an extended memory version that used the DAT (Dynamic Address Translation)
to map in up to 1 MByte of memory and was called level 2.
The SWTPc emulator from Evensons Consulting Services uses just the ACIA serial port
at $E000, a SWTPc MP-T timer module at $E040 for interrupts and a Western Digital
FD1771 or FD179X Floppy disk controller to run OS9 level 1.
OS9 had two special 2KByte boot ROMs at resided at $F000 and $F800.
These contain the start up code to load OS9 from the disk drive and run it.
3. Monitor Features
System09 is based on SBUG1.8, which was typically used for the Flex9 operating system
however I have had to strip out some of the functionality to fit video display and
PS/2 keyboard drivers. The VDU and PS/2 keyboard operate in parallel with the serial
port so that commands may be entered either locally on the FPGA system remotely by
the serial port on say a PC running a terminal program such as hyperterm.
3.1 Mass storage
SBUG1.8 had two disk boots, one was for a the DC-1 or compatible floppy disk controller
that was mapped at $E01X and the other was for the DMAF2 which used the 6844 DMA controller
and was mapped at $F000 just below the SBUG1.8 monitor program.
In system09 there is no Western Digital Compatible Floppy disk Controller. (At least not yet.)
Instead provisons have been made for booting from either a Compact Flash card or an IDE hard drive.
The method for interfaceing to an IDE drive or CF card varies from FPGA board to FPGA board.
Some FPGA boards such as the Spartan 3 and Spartan 3E starter boards do not have provision
for a Compact Flash card or IDE card, although they do have expansion ports that could be
used for CF or IDE interfaces.
Some FPGA boards, such as the BurchED B5-X300 have a dedicated CF add on module, which allows
you to map the CF card in any way you like. The XESS XST-3S1000 and XST-3.0 carrier board on the
other hand provides a 16 bit peripheral bus that can be used to access the IDE drive connector,
ethernet controller or two expansion connectors. The Trenz TE0141 and TE0140 boards have the
CF card mapped into the memory address and data bus, but have done so in such a fashion that it
can only be used in 8 bit transfer mode.
CF cards can be programmed to run in 8 bit mode or 16 bit mode. 8 Bit mode is handier for
interfaceing to 8 bit micros sych as system09, however this mode is not necessarily supported
by IDE disk drives.
4. FPGA Cards
4.1 BurchEd B5-X300
The B5-X300 version of Sys09bug is covered by the "FPGAOPT" options flag.
It provides text VDU drivers and PS/2 keyboard interface, ACIA serial port,
and Compact Flash Bootstrap. The B5-X300 uses a 300Kgate Spartan 2E FPGA which
means the Block RAM used to hold the monitor ROMs is only 4Kbits.
four Block RAMs are required to implement a 2KByte monitor program.
4.2 Digilent / Xilinx Spartan 3 Starter Board
The Xilinx spartan 3 starter board was designed by Digilent. It uses the Spartan 3 FPGA
and intially came in a 200K gate version although a 1000KGate version is also available.
The Spartan 3 starterboard is fitted wit 256K x 32 bits of RAM, which is mapped as 1M x 8 bits.
The Spartan 3 starter board does not have any mass storage interfaces, although it does have
expansion sockets that may be used to add external CF or IDE interfaces. The SRAM on the
otherhand can be used as a RAM disk, and data can be downloaded via serial link.
David Rumball designed his version of system09 called the Microbox 2000 which was based on
the spartan 3 starter board. He was able to use a configuration flash loader to load
a ROM disk into RAM. He also implemented a RAM disk and a virtual disk that was hosted on
a PC using the FLEXNET software.
I borrowed some of his work to extend sys09bug on the spartan 3 starter but have yet to get
it working.
4.3 Digilent / Xilinx Spartan 3E starter board
Digilent produced a Spartan 3e starter board for Xilinx. The big difference between the
Spartan 3 board and the spartan 3E board is that the latter uses SDRAM rather than SRAM
and is consequently harder to use. The spartan 3E starter was used to verify the operation
of the 6809 core, however because of the difficulty implementing the SDRAM controller
I used Block RAM instead. The design implemented a PIA interrupt timer that sys09bug could
use to single step through instructions one at a time. The S3E version of System09 implements
a Trace command that performs a register dump after each instruction is executed.
This allowed comparison of the FPGA 6809 core with a reference design using the original chip.
Because RAM was limitted in the S3E, System09 also does not implement the DAT so the monitor
start up code at the top of memory to test for memory is not implemented in the S3E version.
4.4 XESS XSA-3S1000 / XST-3.0
1.1 System09/src/sys09bug/sys09ads.lst
http://www.opencores.org/cvsweb.shtml/System09/src/sys09bug/sys09ads.lst?rev=1.1&content-type=text/x-cvsweb-markup
Index: sys09ads.lst
===================================================================
Assembler release DWC_2.0 version 2.11
May 6, 2004 (c) Motorola (free ware)
0001 NAM SYS09BUG FOR ADS6809
0000 INCLUDE "opt_ads.txt"
0001 *
0002 ***************************************************
0003 * OPTION SWITCHES
0004 ***************************************************
0005 *
0006 *
0007 ** THE CONTROL PORT CAN ONLY BE ONE OF THESE
0008 ** NOTE THAT THE ACIA WILL ALWAYS BE PRESET
0009 ** FOR LOADING AND SAVING S1 RECORDS
0010 *
0011 *S3EOPT EQU $FF SPARTAN3E STARTER
0012 *S3SOPT EQU $FF SPARTAN3 STARTER FPGA VIDEO & PS2 KEYBOARD
0013 *B5XOPT EQU $FF B5-X300 FPGA VIDEO & PS2 KEYBOARD
0014 *XESOPT EQU $FF XESS XSA-3S100 & XST-3.0
0015 00FF ADSOPT EQU $FF ADS6809 & DG640 VIDEO DISPAY
0016 *SWTOPT EQU $FF SWTP ACIA SERIAL CONTROL PORT
0017 *
0002 END
0000 INCLUDE "sys09equ.txt"
0001 *
0002 ***************************************************
0003 * MEMORY MAP EQUATES *
0004 ***************************************************
0005 E000 MONIO EQU $E000 I/O SPACE
0006 IFD S3EOPT
0007 MONRAM EQU $7FC0
0008 ELSE
0009 DFC0 MONRAM EQU $DFC0 STACK SPACE
0010 ENDIF S3EOPT
0011 F800 MONROM EQU $F800 START OF ROM
0012 IFD S3SOPT
0013 MONEXT EQU $F000 START OF EXTENDED COMMANDS
0014 EXTCMD EQU $00 EXTENDED OFFSET
0015 ENDIF S3SOPT
0015 ENDIF S3SOPT
0016 IFD XESOPT
0017 MONEXT EQU $F000 START OF EXTENDED COMMANDS
0018 EXTCMD EQU $00 EXTENDED OFFSET
0019 ENDIF XESOPT
0019 ENDIF XESOPT
0020 ***************************************************
0021
0022 IFD S3EOPT
0023 *
0024 * DIGILENT SPARTAN 3E STARTER
0025 *
0026 ACIAOPT EQU $FF ACIA AT PORT 0
0027 PS2OPT EQU $FF PS2 KEYBOARD AT $E020
0028 VDUOPT EQU $FF VDU AT $E030
0029 TRAOPT EQU $FF PIA TRACE TIMER
0030 ENDIF S3EOPT
0030 ENDIF S3EOPT
0031 *
0032 IFD S3SOPT
0033 *
0034 * DIGILENT SPARTAN 3 STARTER
0035 *
0036 ACIAOPT EQU $FF ACIA AT PORT 0
0037 PS2OPT EQU $FF PS2 KEYBOARD AT $E020
0038 VDUOPT EQU $FF VDU AT $E030
0039 CF8OPT EQU $FF COMPACT FLASH AT $E040
0040 DATOPT EQU $FF DYNAMIC ADDRESS TRANSLATION
0041 EXTOPT EQU $FF EXTENDED COMMANDS
0042 ENDIF S3SOPT
0042 ENDIF S3SOPT
0043 *
0044 IFD B5XOPT
0045 *
0046 * BURCHED B5-X300
0047 *
0048 ACIAOPT EQU $FF ACIA AT PORT 0
0049 PS2OPT EQU $FF PS2 KEYBOARD AT $E020
0050 VDUOPT EQU $FF VDU AT $E030
0051 CF8OPT EQU $FF COMPACT FLASH AT $E040
0052 DATOPT EQU $FF DYNAMIC ADDRESS TRANSLATION
0053 ENDIF B5XOPT
0053 ENDIF B5XOPT
0054 *
0055 IFD XESOPT
0056 *
0057 * XESS XSA-3S1000 & XST-3.0
0058 *
0059 ACIAOPT EQU $FF ACIA AT PORT 0
0060 PS2OPT EQU $FF PS2 KEYBOARD AT $E020
0061 VDUOPT EQU $FF VDU AT $E030
0062 IDEOPT EQU $FF XESS IDE AT $E100
0063 DATOPT EQU $FF DYNAMIC ADDRESS TRANSLATION
0064 EXTOPT EQU $FF EXTENDED COMMANDS
0065 ENDIF XESOPT
0065 ENDIF XESOPT
0066 *
0067 IFD ADSOPT
0068 *
0069 * ACKERMAN DIGITAL ADS6809
0070 *
0071 00FF DG640OPT EQU $FF DG640 VDU AT $E800
0072 *RTCOPT EQU $FF REAL TIME CLOCK
0073 00FF PRTOPT EQU $FF PRINTER DRIVERS
0074 00FF MFDCOPT EQU $FF MINIFLOPPY 5.25" DISK BOOT
0075 ENDIF ADSOPT
0076 *
0077 IFD SWTOPT
0078 *
0079 * SOUTH WEST TECHNICAL PRODUCTS COMPUTER
0080 *
0081 ACIAOPT EQU $FF ACIA AT PORT 0
0082 DMAFOPT EQU $FF DMAF2 8" FLOPPY DISK BOOT
0083 MFDCOPT EQU $FF MINIFLOPPY 5.25" DISK BOOT
0084 DATOPT EQU $FF DYNAMIC ADDRESS TRANSLATION
0085 ENDIF
0085 ENDIF
0086 *
0087 IFD ACIAOPT
0088 *
0089 ***************************************************
0090 * SERIAL PORT *
0091 ***************************************************
0092 *
0093 ** ACIA SITS ON PORT 0
0094 *
0095 ACIAS EQU MONIO+$00 CONTROL PORT
0096 *
0097 ENDIF ACIAOPT
0097 ENDIF ACIAOPT
0098 IFD MFDCOPT
0099 *
0100 ***************************************************
0101 * MINIFLOPPY DRIVE *
0102 ***************************************************
0103 *
0104 ** FLOPPY DISK CONTROLLER SITS ON PORT 1
0105 *
0106 E014 DRVFDC EQU MONIO+$14
0107 E018 CMDFDC EQU MONIO+$18
0108 E01A SECFDC EQU MONIO+$1A
0109 E01B DATFDC EQU MONIO+$1B
0110 ENDIF MFDCOPT
0111 IFD PS2OPT
0112 *
0113 ***************************************************
0114 * VDU8 PS/2 KEYBOARD PORT *
0115 ***************************************************
0116 *
0117 ** KEYBOARD SITS ON PORT 2
0118 *
0119 PS2KBD EQU MONIO+$20 PS/2 KEYBOARD PORT
0120 ENDIF PS2OPT
0120 ENDIF PS2OPT
0121 IFD VDUOPT
0122 *
0123 ***************************************************
0124 * VDU8 DISPLAY DRIVER EQUATES *
0125 ***************************************************
0126 *
0127 ** VDU8 DISPLAY SITS ON PORT 3
0128 *
0129 VDU EQU MONIO+$30
0130 VDUCHR EQU 0 CHARACTER REGISTER
0131 VDUATT EQU 1 ATTRIBUTE REGISTER
0132 VDUCOL EQU 2 CURSOR COLUMN
0133 VDUROW EQU 3 CURSOR ROW
0134 VDUOFF EQU 4 ROW OFFSET
0135 *
0136 LINLEN EQU 80 LENGTH OF A LINE
0137 NUMLIN EQU 25 NUMBER OF LINES
0138 ENDIF VDUOPT
0138 ENDIF VDUOPT
0139 *
0140 IFD CF8OPT
0141 *
0142 ***************************************************
0143 * COMPACT FLASH EQUATES 8 BIT TRANSFER *
0144 ***************************************************
0145 *
0146 ** COMPACT FLASH SITS AT PORT 4
0147 *
0148 CF_BASE EQU MONIO+$40
0149 CF_DATA EQU CF_BASE+0
0150 CF_ERROR EQU CF_BASE+1 ; read error
0151 CF_FEATURE EQU CF_BASE+1 ; write feature
0152 CF_SECCNT EQU CF_BASE+2
0153 CF_SECNUM EQU CF_BASE+3
0154 CF_CYLLO EQU CF_BASE+4
0155 CF_CYLHI EQU CF_BASE+5
0156 CF_HEAD EQU CF_BASE+6
0157 CF_STATUS EQU CF_BASE+7 ; read status
0158 CF_COMAND EQU CF_BASE+7 ; write command
0159 *
0160 * Command Equates
0161 *
0162 CMDREAD EQU $20 ; Read Single sector
0163 CMDWRITE EQU $30 ; Write Single sector
0164 CMDFEATURE EQU $EF
0165 FEAT8BIT EQU $01 ; enable 8 bit transfers
0166 HEADLBA EQU $E0
0167 *
0168 * Status bit equates
0169 *
0170 BUSY EQU $80
0171 DRDY EQU $40
0172 DRQ EQU $08
0173 ERR EQU $01
0174 *
0175 ENDIF CF8OPT
0175 ENDIF CF8OPT
0176 *
0177 IFD IDEOPT
0178 *
0179 ***************************************************
0180 * COMPACT FLASH EQUATES 16 BIT TRANSFER (XESS) *
0181 ***************************************************
0182 *
0183 ** COMPACT FLASH SITS AT PORT 4
0184 *
0185 CF_BASE EQU MONIO+$0100
0186 CF_DATA EQU CF_BASE+0
0187 CF_ERROR EQU CF_BASE+2 ; read error
0188 CF_FEATURE EQU CF_BASE+2 ; write feature
0189 CF_SECCNT EQU CF_BASE+4
0190 CF_SECNUM EQU CF_BASE+6
0191 CF_CYLLO EQU CF_BASE+8
0192 CF_CYLHI EQU CF_BASE+10
0193 CF_HEAD EQU CF_BASE+12
0194 CF_STATUS EQU CF_BASE+14 ; read status
0195 CF_COMAND EQU CF_BASE+14 ; write command
0196 CF_AUX EQU CF_BASE+30
0197 *
0198 * Command Equates
0199 *
0200 CMDREAD EQU $20 ; Read Single sector
0201 CMDWRITE EQU $30 ; Write Single sector
0202 AUXRESET EQU $06 ; Reset IDE
0203 AUXRSTREL EQU $02 ; Reset release IRQ masked
0204 HEADLBA EQU $E0
0205 *
0206 * Status bit equates
0207 *
0208 BUSY EQU $80
0209 DRDY EQU $40
0210 DRQ EQU $08
0211 ERR EQU $01
0212 *
0213 ENDIF CF8OPT
0213 ENDIF CF8OPT
0214 *
0215 IFD RTCOPT
0216 *
0217 **************************************************
0218 * MM58167A REAL TIME CLOCK MEMORY MAP:
0219 **************************************************
0220 *
0221 ** REAL TIME CLOCK SITS ON PORT 4 AND PORT 5
0222 *
0223 CLOCK EQU MONIO+$40 CLOCK BASE ADDRESS AND REGISTERS
0224 *
0225 * COUNTER AND COMPARITOR REGISTERS:
0226 *
0227 * Both the Clock Counter and Clock Comparitor
0228 * consist of 8 registers for holding the time.
0229 * The register offsets from the Counter and
0230 * Comparitor registers are listed above.
0231 *
0232 COUNTR EQU CLOCK+0
0233 CMPRAM EQU CLOCK+8 COMPARITOR REGISTERS
0234 *
0235 * CLOCK REGISTER OFFSETS:
0236 * These register offsets are used for the CLOCK
0237 * and comparitor ram CMPRAM.
0238 *
0239 S10000 EQU 0 TEN THOUNSANDTHS OF SECONDS
0240 S100 EQU 1 HUNDRETHS AND TENTHS OF SECONDS
0241 SECOND EQU 2
0242 MINUIT EQU 3
0243 HOUR EQU 4
0244 WKDAY EQU 5
0245 MTHDAY EQU 6
0246 MONTH EQU 7
0247 *
0248 * INTERRUPT OUTPUT REGISTERS:
0249 *
0250 * An interrupt output may be generated at the
0251 * following rates by setting the appropriate bit
0252 * in the Interrupt Control Register (CINTCR).
0253 * The Interrupt Status Register (CINTSR) must be
0254 * read to clear the interrupt and will return
0255 * the source of the interrupt.
0256 *
0257 * 1/Month Bit 7
0258 * 1/Week Bit 6
0259 * 1/Day Bit 5
0260 * 1/Hour Bit 4
0261 * 1/Minuite Bit 3
0262 * 1/Second Bit 2
0263 * 10/Second Bit 1
0264 * Comparitor Bit 0
0265 *
0266 CINTSR EQU CLOCK+16 INTERRUPT STATUS REGISTER
0267 CINTCR EQU CLOCK+17 INTERRUPT CONTROL REGISTER
0268 *
0269 * COUNTER AND RAM RESETS; GO COMMAND.
0270 *
0271 * The counter and comparitor may be reset
0272 * by writing $FF into CTRRES and CMPRES
0273 * respectivly.
0274 * A write to the Go command register (GOCMND)
0275 * will reset the 1/1000ths, 1/100ths and 1/10ths
0276 * of a second counter.
0277 *
0278 CTRRES EQU CLOCK+18 COUNTER RESET
0279 CMPRES EQU CLOCK+19 COMPARITOR RAM RESET
0280 GOCMND EQU CLOCK+21 GO COMMAND
0281 *
0282 * CLOCK STATUS REGISTER.
0283 *
0284 * The counter takes 61 usec. to rollover for
0285 * every 1KHz clock pulse. If the Status bit is
0286 * set after reading the counter, the counter
0287 * should be re-read to ensure the time is correct.
0288 *
0289 CLKSTA EQU CLOCK+20 STATUS BIT
0290 SBYINT EQU CLOCK+22 STANDBY INTERRUPT
0291 TSTMOD EQU CLOCK+31 TEST MODE REGISTER
0292 ENDIF RTCOPT
0292 ENDIF RTCOPT
0293 *
0294 IFD TRAOPT
0295 *
0296 **************************************************
0297 * PIA INTERRUPT TIMER
0298 **************************************************
0299 *
0300 ** PIA INTERRUPT TIMER SITS ON PORT 7
0301 *
0302 ** PIA TIMER FOR SINGLE STEP / TRACE
0303 *
0304 * TADATA = Output = Timer preset register
0305 * TACTRL - CA1 = input = rising edge = NMI
0306 * - CA2 = Output = Timer Reset (Active High)
0307 * TBDATA = Input = Timer read back register
0308 * TBCTRL - CB1 = input = rising edge = FIRQ
0309 * - CB2 = output = strobe low on write to TBDATA = Timer Preset
0310 *
0311 * CRA0 = 0 CA1 IRQ DISAB, CRA0 = 1 CA1 IRQ ENAB
0312 * CRA1 = 1 CA1 Rising edge IRQ
0313 * CRA2 = 0 TADATA = Data Direction, CRA2 = 1 TADATA = I/O Register
0314 * CRA3 = 0 CA2 = 0 output, CRA3 = 1 CA2 = 1
0315 * CRA4 = 1 ] CA2 = Set/Reset output
0316 * CRA5 = 1 ]
0317 * CRA6 = X CA2 Input Interrupt Flag
0318 * CRA7 = X CA1 Interrupt Flag
0319 *
0320 * CRB0 = 0 CB1 IRQ DISAB, CRB0 = 1 CA1 IRQ ENAB
0321 * CRB1 = 1 CB1 Rising edge IRQ
0322 * CRB2 = 0 TBDATA = Data Direction, CRB2 = 1 TBDATA = I/O Register
0323 * CRB3 = 0 CB2 = 0 output, CRB3 = 1 CB2 = 1
0324 * CRB4 = 1 ] CB2 = Set/Reset output
0325 * CRB5 = 1 ]
0326 * CRB6 = X CB2 Input Interrupt Flag
0327 * CRB7 = X CB1 Interrupt Flag
0328 *
0329 * DDRA = 0 TADATA = Input, DDRA = 1 TADATA = Output
0330 * DDRB = 0 TBDATA = Input, DDRB = 1 TBDATA = Output
0331 *
0332 TADATA EQU MONIO+$70 Timer preset port
0333 TACTRL EQU MONIO+$71
0334 TBDATA EQU MONIO+$72 Timer read back port
0335 TBCTRL EQU MONIO+$73
0336 *
0337 TRADEL EQU 13 Number of E cycles for RTI (May need to be fudged)
0338 *
0339 ENDIF TRAOPT
0339 ENDIF TRAOPT
0340 IFD ADSOPT
0341 *
0342 ***************************************************
0343 * SERIAL PORT FOR DG640 *
0344 ***************************************************
0345 *
0346 ** SET UP FOR ACKERMAN DIGITAL ADS6809
0347 ** THE ADS6809 S100 BOAD HAS AN ON BOARD ACIA
0348 *
0349 E400 ACIAS EQU MONIO+$400 CONTROL PORT
0350 *
0351 ENDIF ADSOPT
0352 IFD PRTOPT
0353 *
0354 ***************************************************
0355 * PRINTER INTERFACE *
0356 ***************************************************
0357 *
0358 E404 PADATA EQU MONIO+$404
0359 E405 PACTRL EQU MONIO+$405
0360 E406 PBDATA EQU MONIO+$406
0361 E407 PBCTRL EQU MONIO+$407
0362 *
0363 ** CB1 ACK. I/P
0364 ** CB2 STB. O/P
0365 ** PB0 - PB7 DATA 1 - 8 O/P
0366 ** PORT A BIT ASSIGNMENT
0367 *
0368 0080 PBUSY EQU $80 I/P
0369 0040 PEMPTY EQU $40 I/P
0370 0020 SELECT EQU $20 I/P
0371 0010 PERROR EQU $10 I/P
0372 0004 PRESET EQU %00000100 O/P PA3 = 0
0373 0008 AUTOFD EQU %00001000 O/P PA2 = 0
0374 000C DIRMSK EQU %00001100
0375 ENDIF PRTOPT
0376 IFD DG640OPT
0377 *
0378 ***************************************************
0379 * DG640 MEMORY MAPPED DISPLAY DRIVER VARIABLES *
0380 ***************************************************
0381 *
0382 ** VIDEO DISPLAY DEFINITIONS
0383 *
0384 E800 SCREEN EQU MONIO+$0800 START OF SCREEN MEMORY
0385 0040 LINLEN EQU 64 LENGTH OF A LINE
0386 0010 NUMLIN EQU 16 NUMBER OF LINES
0387 0400 SCNLEN EQU $400 LENGTH OF SCREEN
0388 ENDIF DG640OPT
0389 *
0390 IFD DMAFOPT
0391 *
0392 ***************************************************
0393 * DMAF2 8" DRIVE *
0394 ***************************************************
0395 *
0396 ADDREG EQU $F000 ADDRESS REGISTER
0397 CNTREG EQU $F002 COUNT REGISTER
0398 CCREG EQU $F010 CHANNEL CONTROL REGISTER
0399 PRIREG EQU $F014 DMA PRIORITY REGISTER
0400 AAAREG EQU $F015 ???
0401 BBBREG EQU $F016 ???
0402 COMREG EQU $F020 1791 COMMAND REGISTER
0403 SECREG EQU $F022 SECTOR REGISTER
0404 DRVREG EQU $F024 DRIVE SELECT LATCH
0405 CCCREG EQU $F040 ???
0406 ENDIF DMAFOPT
0406 ENDIF DMAFOPT
0407 IFD DATOPT
0408 **************************************************
0409 * DYNAMIC ADDRESS TRANSLATION REGISTERS *
0410 **************************************************
0411 *
0412 IC11 EQU $FFF0 DAT RAM CHIP
0413 TSTPAT EQU $55AA TEST PATTERN
0414 ENDIF DATOPT
0414 ENDIF DATOPT
0415 *
0003 END
0000 INCLUDE "sys09bug.txt"
0001 * NAM SYS09BUG12 SYSTEM09 MONITOR
0002 OPT l
sys09bug.txt page 2
0004 *
0005 * MONITOR PROGRAM FOR THE SOUTHWEST TECHNICAL
0006 * PRODUCTS MP-09 CPU BOARD AS COMMENTED BY....
0007 *
0008 * ALLEN CLARK WALLACE WATSON
0009 * 2502 REGAL OAKS LANE 4815 EAST 97th AVE.
0010 * LUTZ, FLA. 33549 TEMPLE TERRACE, FLA. 33617
0011 * PH. 813-977-0347 PH. 813-985-1359
0012 *
0013 * MODIFIED TO SBUG09 VER 1.8 BY: RANDY JARRETT
0014 * 2561 NANTUCKET DR APT. E
0015 * ATLANTA, GA 30345
0016 * PH. 404-320-1043
0017 *
0018 * MODIFIED TO SYS09BUG VER 1.0
0019 * FOR: SYSTEM09 FPGA SYSTEM
0020 * BY: JOHN KENT
0021 * DATE: 21ST NOVEMBER 2006
0022 * REMOVED: DISK BOOTS
0023 * MEMORY TEST
0024 * ADDED: ADM3A VDU DRIVER
0025 *
0026 * MODIFIED TO SYS09BUG VER 1.1
0027 * FOR: SYSTEM09 FPGA SYSTEM
0028 * BY: JOHN KENT
0029 * DATE: 7TH JANUARY 2007
0030 * ADDED: 'U' USER EXTENTION COMMANDS AT $F000
0031 * CONDITIONAL ASSEMBLY OF FLOPPY BOOTS
0032 * AND REALTIME CLOCK
0033 *
0034 * MODIFIED TO SYS09BUG VER 1.2
0035 * FOR: SYSTEM09 FPGA SYSTEM
0036 * BY: JOHN KENT
0037 * DATE: 21ST MAY 2007
0038 * ADDED: COMPACT FLASH BOOT TO FPGA VERSION
0039 * REMOVED PORT REDIRECTION ON PUNCH & LOAD
0040 *
0041 * Modified to SYS09BUG VER 1.3
0042 * FOR: SYSTEM09 FPGA SYSTEM
0043 * BY: JOHN KENT
0044 * DATE: 8TH JAN 2008
0045 * ADDED: CONDITIONALS FOR SPARTAN3E STARTER BOARD
0046 * WITH ONLY 32K OF RAM
0047 *
0048 * Modified to SYS09BUG VER 1.4
0049 * FOR: SYSTEM09 FPGA SYSTEM
0050 * BY: JOHN KENT
0051 * DATE: 3RD FEB 2008
0052 * ADDED: CONDITIONALS FOR XESS BOARD WITH IDE
0053 * SEPERATE CONDITIONAL FOR S3 STARTER AND B5-X300
0054 * 16 BIT IDE DISK BOOT STRAP ROUTINE
0055 * CHANGED: SEPARARTED OPTIONS EQUATES AND BODY INTO SEPARATE FILES
0056 *
0057 * *** COMMANDS ***
0058 *
0059 * CONTROL A = ALTER THE "A" ACCUMULATOR
0060 * CONTROL B = ALTER THE "B" ACCUMULATOR
0061 * CONTROL C = ALTER THE CONDITION CODE REGISTER
0062 * CONTROL D = ALTER THE DIRECT PAGE REGISTER
0063 * CONTROL P = ALTER THE PROGRAM COUNTER
0064 * CONTROL U = ALTER USER STACK POINTER
0065 * CONTROL X = ALTER "X" INDEX REGISTER
0066 * CONTROL Y = ALTER "Y" INDEX REGISTER
0067 * B hhhh = SET BREAKPOINT AT LOCATION $hhhh
0068 * D = 5.25" MINIFLOPPY BOOT
0069 * E ssss-eeee = EXAMINE MEMORY
0070 * FROM STARTING ADDRESS ssss
0071 * TO ENDING ADDRESS eeee.
0072 * G = CONTINUE EXECUTION FROM BREAKPOINT OR SWI
0073 * L = LOAD TAPE
0074 * M hhhh = EXAMINE AND CHANGE MEMORY LOCATION hhhh
0075 * P ssss-eeee = PUNCH TAPE, START ssss TO END eeee ADDR.
0076 * R = DISPLAY REGISTER CONTENTS
0077 * S = DISPLAY STACK FROM ssss TO $DFC0
0078 * U = 8" DMAF2 FLOPPY BOOT
0079 * U = USER EXTENSION COMMANDS AT $F000
0080 * X = REMOVE ALL BREAKPOINTS
0081 *
0082 *
0083 ***************************************************
0084 * SYS09BUG VARIABLE SPACE
0085 ***************************************************
0086 *
0087 DFC0 ORG MONRAM
0088 DFC0 STACK EQU * TOP OF INTERNAL STACK
0089 DFC0 NMI RMB 2 USER NMI VECTOR
0090 DFC2 SWI3 RMB 2 SOFTWARE INTERRUPT VECTOR #3
0091 DFC4 SWI2 RMB 2 SOFTWARE INTERRUPT VECTOR #2
0092 DFC6 FIRQ RMB 2 FAST INTERRUPT VECTOR
0093 DFC8 IRQ RMB 2 INTERRUPT VECTOR
0094 DFCA SWI RMB 2 SOFTWARE INTERRUPT VECTOR
0095 DFCC SVCVO RMB 2 SUPERVISOR CALL VECTOR ORGIN
0096 DFCE SVCVL RMB 2 SUPERVISOR CALL VECTOR LIMIT
0097 IFD DATOPT
0098 LRARAM RMB 16 LRA ADDRESSES
0099 ENDIF DATOPT
0099 ENDIF DATOPT
0100 DFD0 CPORT RMB 2 RE-VECTORABLE CONTROL PORT
0101 DFD2 ECHO RMB 1 ECHO FLAG
0102 DFD3 BPTBL RMB 24 BREAKPOINT TABLE BASE ADDR
0103 IFD TRAOPT
0104 NMISAV RMB 2 NMI Jump Vector Backup
0105 TRACNT RMB 2 Trace Count
0106 ENDIF TRAOPT
0106 ENDIF TRAOPT
0107 IFD VDUOPT
0108 *
0109 **************************************************
0110 * VDU8 DISPLAY DRIVER VARIABLES *
0111 **************************************************
0112 *
0113 **** ALWAYS KEEP COLADX AND ROWADX TOGETHER ******
0114 COLADX RMB 1 CURSOR COLUMN
0115 ROWADX RMB 1 CURSOR ROW
0116 **************************************************
0117 *
0118 NEWROW RMB 1 NEW ROW TEMP FOR ESCAPE
0119 ESCFLG RMB 1 ESCAPE SEQUENCE ACTIVE
0120 ENDIF VDUOPT
0120 ENDIF VDUOPT
0121 IFD DG640OPT
0122 *
0123 ***************************************************
0124 * DG640 MEMORY MAPPED DISPLAY DRIVER VARIABLES *
0125 ***************************************************
0126 *
0127 ***** ALWAYS KEEP THESE TWO BYTES TOGETHER *****
0128 DFEB COLADX RMB 1 CURSOR COLUMN
0129 DFEC ROWADX RMB 1 CURSOR ROW
0130 *************************************************
0131 DFED CURSOR RMB 2 ABSOLUTE SCREEN ADDRESS
0132 DFEF NEWROW RMB 1 NEW ROW TEMP FOR ESCAPE
0133 DFF0 ESCFLG RMB 1 ESCAPE SEQUENCE ACTIVE
0134 ENDIF DG640OPT
0135 *
0136 *
0137 ***************************************************
0138 * START OF ROM *
0139 ***************************************************
0140 *
0141 F800 ORG MONROM
0142 F800 F8 22 FDB MONITOR
0143 F802 F8 56 FDB NEXTCMD
0144 F804 FC 66 FDB INCH
0145 F806 FC 60 FDB INCHE
0146 F808 FC 75 FDB INCHEK
0147 F80A FC 83 FDB OUTCH
0148 F80C FB 58 FDB PDATA
0149 F80E FA E7 FDB PCRLF
0150 F810 FA E3 FDB PSTRNG
0151 F812 FF 06 FDB LRA
0152 *
0153 IFD ADSOPT
0154 F814 FE 47 FDB PCHK CHECK FOR PRINTER INPUT
0155 F816 FE 09 FDB PINIZ INITIATE PRINTER
0156 F818 FE 33 FDB POUTCH OUTPUT CH. TO PRINTER
0157 F81A FC AB FDB VINIZ
0158 F81C FC C0 FDB VOUTCH
0159 F81E FC 98 FDB ACINIZ
0160 F820 FC 85 FDB AOUTCH
0161 ENDIF ADSOPT
0162 *
0163 * MONITOR
0164 *
0165 * VECTOR ADDRESS STRING IS.....
0166 * $F8A1-$F8A1-$F8A1-$F8A1-$F8A1-$FAB0-$FFFF-$FFFF
0167 *
0168 F822 8E FE 81 MONITOR LDX #RAMVEC POINT TO VECTOR ADDR. STRING
0169 F825 10 8E DF C0 LDY #STACK POINT TO RAM VECTOR LOCATION
0170 F829 C6 10 LDB #$10 BYTES TO MOVE = 16
0171 F82B A6 80 LOOPA LDA ,X+ GET VECTOR BYTE
0172 F82D A7 A0 STA ,Y+ PUT VECTORS IN RAM / $DFC0-$DFCF
0173 F82F 5A DECB SUBTRACT 1 FROM NUMBER OF BYTES TO MOVE
0174 F830 26 F9 BNE LOOPA CONTINUE UNTIL ALL VECTORS MOVED
0175 *
0176 * CONTENTS FROM TO FUNCTION
0177 * $F8A1 $FE40 $DFC0 USER-V
0178 * $F8A1 $FE42 $DFC2 SWI3-V
0179 * $F8A1 $FE44 $DFC4 SWI2-V
0180 * $F8A1 $FE46 $DFC6 FIRQ-V
0181 * $F8A1 $FE48 $DFC8 IRQ-V
0182 * $FAB0 $FE4A $DFCA SWI-V
0183 * $FFFF $FE4C $DFCC SVC-VO
0184 * $FFFF $FE4E $DFCE SVC-VL
0185 *
0186 F832 8E E4 00 LDX #ACIAS
0187 F835 BF DF D0 STX CPORT STORE ADDR. IN RAM
0188 F838 17 01 42 LBSR XBKPNT CLEAR OUTSTANDING BREAKPOINTS
0189 F83B C6 0C LDB #12 CLEAR 12 BYTES ON STACK
0190 F83D 6F E2 CLRSTK CLR ,-S
0191 F83F 5A DECB
0192 F840 26 FB BNE CLRSTK
0193 F842 30 8C DD LEAX MONITOR,PCR SET PC TO SBUG-E ENTRY
0194 F845 AF 6A STX 10,S ON STACK
0195 F847 86 D0 LDA #$D0 PRESET CONDITION CODES ON STACK
0196 F849 A7 E4 STA ,S
0197 F84B 1F 43 TFR S,U
0198 F84D 17 04 46 LBSR IOINIZ INITIALIZE CONTROL PORT
0199 F850 8E FE 91 LDX #MSG1 POINT TO MONITOR MESSAGE
0200 F853 17 03 02 LBSR PDATA PRINT MSG
0201 *
0202 IFD DATOPT
0203 LDX #LRARAM POINT TO LRA RAM STORAGE AREA
0204 CLRA START TOTAL AT ZERO
0205 LDB #13 TOTAL UP ALL ACTIVE RAM MEMORY
0206 FNDREL TST B,X TEST FOR RAM AT NEXT LOC.
0207 BEQ RELPAS IF NO RAM GO TO NEXT LOC.
0208 ADDA #4 ELSE ADD 4K TO TOTAL
0209 DAA ADJ. TOTAL FOR DECIMAL
0210 RELPAS DECB SUB. 1 FROM LOCS. TO TEST
0211 BPL FNDREL PRINT TOTAL OF RAM
0212 LBSR OUT2H OUTPUT HEX BYTE AS ASCII
0213 LDX #MSG2 POINT TO MSG 'K' CR/LF + 3 NULS
0214 LBSR PDATA PRINT MSG
0215 ENDIF DATOPT
0215 ENDIF DATOPT
0216 *
0217 IFD TRAOPT
0218 LBSR TRAINZ
0219 ENDIF TRAOPT
0219 ENDIF TRAOPT
0220 *
0221 ***** NEXTCMD *****
0222 *
0223 F856 8E FE BA NEXTCMD LDX #MSG3 POINT TO MSG ">"
0224 F859 17 02 87 LBSR PSTRNG PRINT MSG
0225 F85C 17 04 07 LBSR INCH GET ONE CHAR. FROM TERMINAL
0226 F85F 84 7F ANDA #$7F STRIP PARITY FROM CHAR.
0227 F861 81 0D CMPA #$0D IS IT CARRIAGE RETURN ?
0228 F863 27 F1 BEQ NEXTCMD IF CR THEN GET ANOTHER CHAR.
0229 F865 1F 89 TFR A,B PUT CHAR. IN "B" ACCUM.
0230 F867 81 20 CMPA #$20 IS IT CONTROL OR DATA CHAR ?
0231 F869 2C 09 BGE PRTCMD IF CMD CHAR IS DATA, PRNT IT
0232 F86B 86 5E LDA #'^ ELSE CNTRL CHAR CMD SO...
0233 F86D 17 04 13 LBSR OUTCH PRINT "^"
0234 F870 1F 98 TFR B,A RECALL CNTRL CMD CHAR
0235 F872 8B 40 ADDA #$40 CONVERT IT TO ASCII LETTER
0236 F874 17 04 0C PRTCMD LBSR OUTCH PRNT CMD CHAR
0237 F877 17 04 07 LBSR OUT1S PRNT SPACE
0238 F87A C1 60 CMPB #$60
0239 F87C 2F 02 BLE NXTCH0
0240 F87E C0 20 SUBB #$20
0241 *
0242 ***** DO TABLE LOOKUP *****
0243 * FOR COMMAND FUNCTIONS
0244 *
0245 F880 8E FE 4B NXTCH0 LDX #JMPTAB POINT TO JUMP TABLE
0246 F883 E1 80 NXTCHR CMPB ,X+ DOES COMMAND MATCH TABLE ENTRY ?
0247 F885 27 0F BEQ JMPCMD BRANCH IF MATCH FOUND
0248 F887 30 02 LEAX 2,X POINT TO NEXT ENTRY IN TABLE
0249 F889 8C FE 81 CMPX #TABEND REACHED END OF TABLE YET ?
0250 F88C 26 F5 BNE NXTCHR IF NOT END, CHECK NEXT ENTRY
0251 F88E 8E FE BC LDX #MSG4 POINT TO MSG "WHAT?"
0252 F891 17 02 C4 LBSR PDATA PRINT MSG
0253 F894 20 C0 BRA NEXTCMD IF NO MATCH, PRMPT FOR NEW CMD
0254 F896 AD 94 JMPCMD JSR [,X] JUMP TO COMMAND ROUTINE
0255 F898 20 BC BRA NEXTCMD PROMPT FOR NEW COMMAND
0256 *
0257 * "G" GO OR CONTINUE
0258 *
0259 F89A 1F 34 GO TFR U,S
0260 F89C 3B RTI RTI
0261 *
0262 ***** "M" MEMORY EXAMINE AND CHANGE *****
0263 *
0264 F89D 17 03 3F MEMCHG LBSR IN1ADR INPUT ADDRESS
0265 F8A0 29 2D BVS CHRTN IF NOT HEX, RETURN
0266 F8A2 1F 12 TFR X,Y SAVE ADDR IN "Y"
0267 F8A4 8E FE C2 MEMC2 LDX #MSG5 POINT TO MSG " - "
0268 F8A7 17 02 39 LBSR PSTRNG PRINT MSG
0269 F8AA 1F 21 TFR Y,X FETCH ADDRESS
0270 F8AC 17 03 79 LBSR OUT4H PRINT ADDR IN HEX
0271 F8AF 17 03 CF LBSR OUT1S OUTPUT SPACE
0272 F8B2 A6 A4 LDA ,Y GET CONTENTS OF CURRENT ADDR.
0273 F8B4 17 03 79 LBSR OUT2H OUTPUT CONTENTS IN ASCII
0274 F8B7 17 03 C7 LBSR OUT1S OUTPUT SPACE
0275 F8BA 17 03 32 LBSR BYTE LOOP WAITING FOR OPERATOR INPUT
0276 F8BD 28 11 BVC CHANGE IF VALID HEX GO CHANGE MEM. LOC.
0277 F8BF 81 08 CMPA #8 IS IT A BACKSPACE (CNTRL H)?
0278 F8C1 27 E1 BEQ MEMC2 PROMPT OPERATOR AGAIN
0279 F8C3 81 18 CMPA #$18 IS IT A CANCEL (CNTRL X)?
0280 F8C5 27 DD BEQ MEMC2 PROMPT OPERATOR AGAIN
0281 F8C7 81 5E CMPA #'^ IS IT AN UP ARROW?
0282 F8C9 27 17 BEQ BACK DISPLAY PREVIOUS BYTE
0283 F8CB 81 0D CMPA #$D IS IT A CR?
0284 F8CD 26 0F BNE FORWRD DISPLAY NEXT BYTE
0285 F8CF 39 CHRTN RTS EXIT ROUTINE
0286 *
0287 *
0288 F8D0 A7 A4 CHANGE STA ,Y CHANGE BYTE IN MEMORY
0289 F8D2 A1 A4 CMPA ,Y DID MEMORY BYTE CHANGE?
0290 F8D4 27 08 BEQ FORWRD $F972
0291 F8D6 17 03 A8 LBSR OUT1S OUTPUT SPACE
0292 F8D9 86 3F LDA #'? LOAD QUESTION MARK
0293 F8DB 17 03 A5 LBSR OUTCH PRINT IT
0294 F8DE 31 21 FORWRD LEAY 1,Y POINT TO NEXT HIGHER MEM LOCATION
0295 F8E0 20 C2 BRA MEMC2 PRINT LOCATION & CONTENTS
0296 F8E2 31 3F BACK LEAY -1,Y POINT TO LAST MEM LOCATION
0297 F8E4 20 BE BRA MEMC2 PRINT LOCATION & CONTENTS
0298 *
0299 * "S" DISPLAY STACK
0300 * HEX-ASCII DISPLAY OF CURRENT STACK CONTENTS FROM
0301 ** CURRENT STACK POINTER TO INTERNAL STACK LIMIT.
0302 *
0303 F8E6 17 02 76 DISSTK LBSR PRTSP PRINT CURRENT STACK POINTER
0304 F8E9 1F 32 TFR U,Y
0305 F8EB 8E DF C0 LDX #STACK LOAD INTERNAL STACK AS UPPER LIMIT
0306 F8EE 30 1F LEAX -1,X POINT TO CURRENT STACK
0307 F8F0 20 05 BRA MDUMP1 ENTER MEMORY DUMP OF STACK CONTENTS
0308 *
0309 * "E" DUMP MEMORY FOR EXAMINE IN HEX AND ASCII
0310 * AFTER CALLING 'IN2ADR' LOWER ADDRESS IN Y-REG.
0311 * UPPER ADDRESS IN X-REG.
0312 * IF HEX ADDRESSES ARE INVALID (V)=1.
0313 *
0314 F8F2 17 02 DF MEMDUMP LBSR IN2ADR INPUT ADDRESS BOUNDRIES
0315 F8F5 29 06 BVS EDPRTN NEW COMMAND IF ILLEGAL HEX
0316 F8F7 34 20 MDUMP1 PSHS Y COMPARE LOWER TO UPPER BOUNDS
0317 F8F9 AC E1 CMPX ,S++ LOWER BOUNDS > UPPER BOUNDS?
0318 F8FB 24 01 BCC AJDUMP IF NOT, DUMP HEX AND ASCII
0319 F8FD 39 EDPRTN RTS ;
0320 *
0321 * ADJUST LOWER AND UPPER ADDRESS LIMITS
0322 * TO EVEN 16 BYTE BOUNDRIES.
0323 *
0324 * IF LOWER ADDR = $4532
0325 * LOWER BOUNDS WILL BE ADJUSTED TO = $4530.
0326 *
0327 * IF UPPER ADDR = $4567
0328 * UPPER BOUNDS WILL BE ADJUSTED TO = $4570.
0329 *
0330 * ENTER WITH LOWER ADDRESS IN X-REG.
0331 * -UPPER ADDRESS ON TOP OF STACK.
0332 *
0333 F8FE 1F 10 AJDUMP TFR X,D GET UPPER ADDR IN D-REG
0334 F900 C3 00 10 ADDD #$10 ADD 16 TO UPPER ADDRESS
0335 F903 C4 F0 ANDB #$F0 MASK TO EVEN 16 BYTE BOUNDRY
0336 F905 34 06 PSHS A,B SAVE ON STACK AS UPPER DUMP LIMIT
0337 F907 1F 20 TFR Y,D $F9A5 GET LOWER ADDRESS IN D-REG
0338 F909 C4 F0 ANDB #$F0 MASK TO EVEN 16 BYTE BOUNDRY
0339 F90B 1F 01 TFR D,X PUT IN X-REG AS LOWER DUMP LIMIT
0340 F90D AC E4 NXTLIN CMPX ,S COMPARE LOWER TO UPPER LIMIT
0341 F90F 27 05 BEQ SKPDMP IF EQUAL SKIP HEX-ASCII DUMP
0342 F911 17 03 61 LBSR INCHEK CHECK FOR INPUT FROM KEYBOARD
0343 F914 27 03 BEQ EDUMP
0344 F916 32 62 SKPDMP LEAS 2,S READJUST STACK IF NOT DUMPING
0345 F918 39 RTS ;
0346 *
0347 * PRINT 16 HEX BYTES FOLLOWED BY 16 ASCII CHARACTERS
0348 * FOR EACH LINE THROUGHOUT ADDRESS LIMITS.
0349 *
0350 F919 34 10 EDUMP PSHS X PUSH LOWER ADDR LIMIT ON STACK
0351 F91B 8E FE C2 LDX #MSG5 POINT TO MSG " - "
0352 F91E 17 01 C2 LBSR PSTRNG PRINT MSG
0353 F921 AE E4 LDX ,S LOAD LOWER ADDR FROM TOP OF STACK
0354 F923 17 03 02 LBSR OUT4H PRINT THE ADDRESS
0355 F926 17 03 56 LBSR OUT2S 2 SPACES
0356 F929 C6 10 LDB #$10 LOAD COUNT OF 16 BYTES TO DUMP
0357 F92B A6 80 ELOOP LDA ,X+ GET FROM MEMORY HEX BYTE TO PRINT
0358 F92D 17 03 00 LBSR OUT2H OUTPUT HEX BYTE AS ASCII
0359 F930 17 03 4E LBSR OUT1S OUTPUT SPACE
0360 F933 5A DECB $F9D1 DECREMENT BYTE COUNT
0361 F934 26 F5 BNE ELOOP CONTINUE TIL 16 HEX BYTES PRINTED
0362 *
0363 * PRINT 16 ASCII CHARACTERS
0364 * IF NOT PRINTABLE OR NOT VALID
0365 * ASCII PRINT A PERIOD (.)
0366 F936 17 03 46 LBSR OUT2S 2 SPACES
0367 F939 AE E1 LDX ,S++ GET LOW LIMIT FRM STACK - ADJ STACK
0368 F93B C6 10 LDB #$10 SET ASCII CHAR TO PRINT = 16
0369 F93D A6 80 EDPASC LDA ,X+ GET CHARACTER FROM MEMORY
0370 F93F 81 20 CMPA #$20 IF LESS THAN $20, NON-PRINTABLE?
0371 F941 25 04 BCS PERIOD IF SO, PRINT PERIOD INSTEAD
0372 F943 81 7E CMPA #$7E IS IT VALID ASCII?
0373 F945 23 02 BLS PRASC IF SO PRINT IT
0374 F947 86 2E PERIOD LDA #'. LOAD A PERIOD (.)
0375 F949 17 03 37 PRASC LBSR OUTCH PRINT ASCII CHARACTER
0376 F94C 5A DECB DECREMENT COUNT
0377 F94D 26 EE BNE EDPASC
0378 F94F 20 BC BRA NXTLIN
0379 *
0380 ***** "B" SET BREAKPOINT *****
0381 *
0382 F951 17 02 8B BRKPNT LBSR IN1ADR GET BREAKPOINT ADDRESS
0383 F954 29 1E BVS EXITBP EXIT IF INVALID HEX ADDR.
0384 F956 8C DF C0 CMPX #STACK ADDRESS ILLEGAL IF >=$DFC0
0385 F959 24 1A BCC BPERR IF ERROR PRINT (?), EXIT
0386 F95B 34 10 PSHS X $FA82 PUSH BP ADDRESS ON STACK
0387 F95D 8E FF FF LDX #$FFFF LOAD DUMMY ADDR TO TEST BP TABLE
0388 F960 8D 55 BSR BPTEST TEST BP TABLE FOR FREE SPACE
0389 F962 35 10 PULS X POP BP ADDRESS FROM STACK
0390 F964 27 0F BEQ BPERR (Z) SET, OUT OF BP TABLE SPACE
0391 F966 A6 84 LDA ,X GET DATA AT BREAKPOINT ADDRESS
0392 F968 81 3F CMPA #$3F IS IT A SWI?
0393 F96A 27 09 BEQ BPERR IF SWI ALREADY, INDICATE ERROR
0394 F96C A7 A0 STA ,Y+ SAVE DATA BYTE IN BP TABLE
0395 F96E AF A4 STX ,Y SAVE BP ADDRESS IN BP TABLE
0396 F970 86 3F LDA #$3F LOAD A SWI ($3F)
0397 F972 A7 84 STA ,X SAVE SWI AT BREAKPOINT ADDRESS
0398 F974 39 EXITBP RTS ;
0399 *
0400 * INDICATE ERROR SETTING BREAKPOINT
0401 *
0402 F975 17 03 09 BPERR LBSR OUT1S OUTPUT SPACE
0403 F978 86 3F LDA #'? LOAD (?), INDICATE BREAKPOINT ERROR
0404 F97A 16 03 06 LBRA OUTCH PRINT "?"
0405 *
0406 *** "X" CLEAR OUTSTANDING BREAKPOINTS ***
0407 *
0408 F97D 10 8E DF D3 XBKPNT LDY #BPTBL POINT TO BREAKPOINT TABLE
0409 F981 C6 08 LDB #8 LOAD BREAKPOINT COUNTER
0410 F983 8D 18 XBPLP BSR RPLSWI REMOVE USED ENTRY IN BP TABLE
0411 F985 5A DECB $FAAC DECREMENT BP COUNTER
0412 F986 26 FB BNE XBPLP END OF BREAKPOINT TABLE?
0413 F988 39 RTS
0414 *
0415 ***** SWI ENTRY POINT *****
0416 *
0417 F989 1F 43 SWIE TFR S,U TRANSFER STACK TO USER POINTER
0418 F98B AE 4A LDX 10,U LOAD PC FROM STACK INTO X-REG
0419 F98D 30 1F LEAX -1,X ADJUST ADDR DOWN 1 BYTE.
0420 F98F 8D 26 BSR BPTEST FIND BREAKPOINT IN BP TABLE
0421 F991 27 04 BEQ REGPR IF FOUND, REPLACE DATA AT BP ADDR
0422 F993 AF 4A STX 10,U SAVE BREAKPOINT ADDR IN STACK
0423 F995 8D 06 BSR RPLSWI GO REPLACE SWI WITH ORIGINAL DATA
0424 F997 17 02 1C REGPR LBSR REGSTR GO PRINT REGISTERS
0425 *
0426 IFD TRAOPT
0427 LDX #0
0428 STX TRACNT
0429 ENDIF TRAOPT
0429 ENDIF TRAOPT
0430 *
0431 F99A 16 FE B9 LBRA NEXTCMD GET NEXT COMMAND
0432 *
0433 F99D AE 21 RPLSWI LDX 1,Y LOAD BP ADDRESS FROM BP TABLE
0434 F99F 8C DF C0 CMPX #STACK COMPARE TO TOP AVAILABLE USER MEMORY
0435 F9A2 24 0A BCC FFSTBL GO RESET TABLE ENTRY TO $FF'S
0436 F9A4 A6 84 LDA ,X GET DATA FROM BP ADDRESS
0437 F9A6 81 3F CMPA #$3F IS IT SWI?
0438 F9A8 26 04 BNE FFSTBL IF NOT, RESET TABLE ENTRY TO $FF'S
0439 F9AA A6 A4 LDA ,Y GET ORIGINAL DATA FROM BP TABLE
0440 F9AC A7 84 STA ,X $FAD3 RESTORE DATA AT BP ADDRESS
0441 F9AE 86 FF FFSTBL LDA #$FF LOAD $FF IN A-ACC
0442 F9B0 A7 A0 STA ,Y+ RESET BREAKPOINT TABLE DATA TO $FF'S
0443 F9B2 A7 A0 STA ,Y+ RESET BREAKPOINT TABLE ADDR TO $FF'S
0444 F9B4 A7 A0 STA ,Y+
0445 F9B6 39 RTS
0446 *
0447 ** SEARCH BREAKPOINT TABLE FOR MATCH **
0448 *
0449 F9B7 10 8E DF D3 BPTEST LDY #BPTBL POINT TO BREAKPOINT TABLE
0450 F9BB C6 08 LDB #8 LOAD BREAKPOINT COUNTER
0451 F9BD A6 A0 FNDBP LDA ,Y+ LOAD DATA BYTE
0452 F9BF AC A1 CMPX ,Y++ COMPARE ADDRESS, IS IT SAME?
0453 F9C1 27 04 BEQ BPADJ IF SO, ADJUST POINTER FOR TABLE ENTRY
0454 F9C3 5A DECB IF NOT, DECREMENT BREAKPOINT COUNTER
0455 F9C4 26 F7 BNE FNDBP AND LOOK FOR NEXT POSSIBLE MATCH
0456 F9C6 39 RTS ;
0457 *
0458 *
0459 F9C7 31 3D BPADJ LEAY -3,Y MOVE POINTER TO BEGIN OF BP ENTRY
0460 F9C9 39 RTS
0461 *
0462 IFD TRAOPT
0463 *
0464 ** TRACE from address AAAA BB bytes
0465 *
0466 TRACE LBSR ALTPC1 SET UP NEW PC
0467 BVS TREXIT ADDRESS ERROR, EXIT
0468 LBSR OUT1S
0469 LBSR IN1ADR Fetch Byte Count
0470 BVS TREXIT Byte Count error, EXIT
0471 STX TRACNT
0472 *
0473 LDX NMI Save NMI Vector
0474 STX NMISAV
0475 LDX #NMIE Set up NMI for Tracing
0476 STX NMI
0477 LBSR TRAINZ Initialise Hardware
0478 BRA TRACEG Start Trace
0479 TREXIT RTS
0480 *
0481 * CRA0 = 0 CA1 IRQ DISAB, CRA0 = 1 CA1 IRQ ENAB
0482 * CRA1 = 1 CA1 Rising edge IRQ
0483 * CRA2 = 0 TADATA = Data Direction, CRA2 = 1 TADATA = I/O Register
0484 * CRA3 = 0 CA2 = 0 output, CRA3 = 1 CA2 = 1
0485 * CRA4 = 1 ] CA2 = Set/Reset output
0486 * CRA5 = 1 ]
0487 * CRA6 = X CA2 Input Interrupt Flag
0488 * CRA7 = X CA1 Interrupt Flag
0489 *
0490 * CRB0 = 0 CB1 IRQ DISAB, CRB0 = 1 CA1 IRQ ENAB
0491 * CRB1 = 1 CB1 Rising edge IRQ
0492 * CRB2 = 0 TBDATA = Data Direction, CRB2 = 1 TBDATA = I/O Register
0493 * CRB3 = 0 CB2 = 0 output, CRB3 = 1 CB2 = 1
0494 * CRB4 = 1 ] CB2 = Set/Reset output
0495 * CRB5 = 1 ]
0496 * CRB6 = X CB2 Input Interrupt Flag
0497 * CRB7 = X CB1 Interrupt Flag
0498 *
0499 *
0500 ** TRACE NMI ENTRY POINT
0501 *
0502 NMIE TFR S,U
0503 LDA #$36 Disable Interrupt, CA2 Low
0504 STA TACTRL
0505 LDA TADATA Clear Interrupt flag by reading data port
0506 *
0507 LBSR REGSTR DUMP REGISTERS
0508 *
0509 LDX 10,U TEST IF NEXT INSTRUCTION IS A SWI
0510 LDA ,X
0511 CMPA #$3F
0512 BEQ TRACEX EXIT ON SWI
0513 *
0514 LDX TRACNT CHECK IF TRACE COUNT EXPIRED
0515 BEQ TRACEX YES, GO BACK TO THE MONITOR
0516 LEAX -1,X DECREMENT TRACE COUNT
0517 STX |