diff --git a/src/Renderer/UI/Style.fs b/src/Renderer/UI/Style.fs index 509dc3667..87c71cc94 100644 --- a/src/Renderer/UI/Style.fs +++ b/src/Renderer/UI/Style.fs @@ -286,3 +286,5 @@ let zoomInSVG = C125.535,77.047,122.178,73.689,118.035,73.689z" ] [] ] + +let colorSpan color text = span [Style [Color color]] [str text] diff --git a/src/Renderer/UI/WaveSim/WaveSimSelect.fs b/src/Renderer/UI/WaveSim/WaveSimSelect.fs index 709083e84..6e4ffb98e 100644 --- a/src/Renderer/UI/WaveSim/WaveSimSelect.fs +++ b/src/Renderer/UI/WaveSim/WaveSimSelect.fs @@ -16,6 +16,8 @@ open ModelType open WaveSimStyle open WaveSimHelpers open SimulatorTypes +open DiagramStyle +open UIPopups /// return sheet with all latters capitalised let cap (sheet:string) = sheet.ToUpper() @@ -736,7 +738,7 @@ let selectRamModal (wsModel: WaveSimModel) (dispatch: Msg -> unit) : ReactElemen OnClick (fun _ -> dispatch <| UpdateWSModel (fun ws -> {wsModel with RamModalActive = false})) ] ] [] - Modal.Card.card [] [ + Modal.Card.card [Props [Style [Width 800]]] [ Modal.Card.head [] [ Modal.Card.title [] [ Level.level [] [ @@ -751,13 +753,17 @@ let selectRamModal (wsModel: WaveSimModel) (dispatch: Msg -> unit) : ReactElemen ] ] Modal.Card.body [] [ - str "Select synchronous RAM components to view their contents. " - str "Note that asynchronous RAM components cannot be viewed in the waveform simulator. " + str "Select synchronous RAM components to view their contents in any clock cycle. " + str "Note that asynchronous RAM and ROM components cannot be viewed in the waveform simulator. " br [] br [] - str "On a write, the corresponding row will be highlighted in red. " - str "On a read, the corresponding row will be highlighted in blue. " - str "Any memory address which has not been initialised with a value will not be shown in the table. " + str "On a write, the corresponding location will be "; colorSpan "red" "highlighted in red during the clock cycle in which the written value is first output."; + str " On a read, the corresponding location will be "; colorSpan "blue" "highlighted in blue."; + br [] ; br [] + str "The RAM display has two modes: "; bSpan "sparse display"; str " and "; bSpan "windowed display. "; + br []; str "Type in the"; iSpan " Window start"; str " box to set the locations viewed in a window. Leave it blank for sparse display."; + br []; br [] + str "If the RAM has too many non-zero locations to display all at once, the windowed display will be used." hr [] Table.table [] [ tbody [] diff --git a/src/Renderer/UI/WaveSim/WaveSimStyle.fs b/src/Renderer/UI/WaveSim/WaveSimStyle.fs index 84377575c..0cefbd293 100644 --- a/src/Renderer/UI/WaveSim/WaveSimStyle.fs +++ b/src/Renderer/UI/WaveSim/WaveSimStyle.fs @@ -130,6 +130,8 @@ module Constants = let maxRamRowsDisplayed = 50 let maxRamLocsWithSparseDisplay = 100 + + // maybe these should be defined earlier in compile order? Or added as list functions? let listMaxWithDef defaultValue lst =