Skip to content

Releases: davispuh/gear-emu

Release Version 22.09.02 SpinView Graphics Upgrade

04 Oct 23:17
Compare
Choose a tag to compare

Refactored to optimize drawing speed and have an improved GUI on SpinView.

Commit d07cd7a CogView graphics upgrade completed

  • Release Version v22.09.02.
  • Refactored Spin memory view completed:
    • Improved redraw of memory data, with faster drawing of headers, address column, and main memory values itself.
    • Added a new program setting for drawing top and bottom headers.
    • Added GUI/DrawingSectionManager.cs and Utils/EnumTraverseExtension.cs to help to ordered drawing of every section.
  • Improved graphics render quality of text and graphics elements on custom controls: CogView, MemoryView, SpinView, HubView and CogView. Marginal impact on performance, by improvements in drawing algorithms on each control.
  • Added Icon support on floating windows.
  • Cleaned code for double-buffering on CogView, MemoryView, SpinView.
  • Removed unused referenced assembly: PresentationFramework. Prevent not found dependencies error when open GEAR project on MonoDevelop.
  • Added documentation on some empty description methods.

Commit 4e679f0 CogView graphics upgrade

  • CogView graphics upgrade: use system highlight color for current executting line (program cursor).

Commit bbee325 Doxygen documentation upgrade part 1

  • Doxygen documentation upgrade: changed to xml style for many tags (summary, remarks, returns).

Release Version 22.09.01 CogView, SpinView and MemoryView optimizations & enhancements

14 Sep 13:19
Compare
Choose a tag to compare

Refactored to optimize drawing speed and have a improved GUI on CogView, SpinView and MemoryView.

Commit 87d906d CogView appareance enhanced.

  • Changes on CogView.cs:
    • The appareance of the current executting line (program cursor) now is selectable program setting. Can be bold text, a frame around the text line, or both.
  • Gear Emulator window starts now with a size of 1024x768, to help to standarize documentation images.
  • Updated .gitignore : added more visual studio and vscode definitions.
  • Updated secuence diagrams files: Changed extension .mcsgen to more standard .msc. Changed path of documentation files to Doc/sorce/. Modified doxygen documentation accordlingly.

Commit 1e6cd95 CogView, SpinView and MemoryView optimizations.

  • Refactored code to improve performance, using double buffering on CogView, SpinView and MemoryView.
    • Refactored drawing logic to be time efficient.
  • Changes on CogView.cs:
    • In SPIN interpreted mode, now up to five memory values are showed, conforming an encoded instruction. The show memory button now shows the binary representation of each instruction, using the same length of bytes of the instruction.
    • When cog is running in PASM native mode, the hovering message now explains more, giving details if origin or destination fields are used by the instruction, if them are using a inmmediate value, or a pointer to a memory and its value.
    • When following program cursor, the panel is completely white, else grey. This simplification allowed to accelerate of drawing, by removing variables and operations.
    • The spin interpreted details are drawn like a separated panel. The stack now have a header, showing its length, and have a level number.
    • The default start value of display decoded program values as hexadecimal or decimal, now is a program setting.
  • Using Parallel proccesing to improve performance:
    • Initially fill the array of color brushes used to paint each byte of SPIN map (32KB), using Parallel.ForEach with automatic partitioner. Also, generate icons for each type of node of tree view in a separate thread. Both changed in SpinView.cs.
  • Added methods to determine the length of SPIN instruction, advancing the memory accordlingly on InstructionDisassembler.cs and MemorySegment.cs. Also added methods to get binary text representation of PASM instruction.
  • Corrected reset values on TV & VGA Plugins.

Commit 1a8a849 Minor changes previous to CogView optimizations.

Commit eea6143 Reset image on TV & VGA Plugins 2nd part.

  • Corrected plugin files added.

Commit 0e2e5b2 Reset image on TV & VGA Plugins.

  • Added OnReset() methods on Television and vgamonitor plugins: now the screen is cleaned when the user reset the emulator.
  • Corrected resources files to be validated against XSD schema: using the correct http: prefix, to be correctly validated on VS Studio 2019. Apllied to all *.resx files.
  • Fixed format of resharper commentaries.
  • Added Parallax Propeller as vector images: .svg files.

Release Version 22.08.01 Code cleanup UI on CogView.

07 Aug 17:39
Compare
Choose a tag to compare

Commit 9648f0f Release v22.08.01

  • Minor corrections on readme.md and changelog.md.

Commit 27093c2 Merge commit '195e7f5' new version v22.08.01

  • New version v22.08.01

Commit 2fdeb0a Code cleanup UI on CogView.

  • Changed in Cog View UI:
    • Separated and ordered in two different toolstips: buttons to perform actions, and labels to show information.
    • When a cog is stopped, the panel is cleared, to visually differentiate when a cog is running.
    • When PASM code is shown, added the option to show value of operation as hexadecimal or decimal base, like SPIN bytecode. changes in InstructionDisassembler.cs and CogView.cs.
  • Corrected error on restore in wrong position a unpinned tab when other where selected to pinned, in Emulator.cs and TabManager.cs.
  • Added header to memory panel, to show the offset to each address, in Spin Map tab SpinView.cs.
  • Modified header background color of Main Memory tab, to use the same of other headers, in MemoryView.cs.
  • Code cleanup and refactoring in CogView.cs and in some parts of Cog.cs, affecting also InterpretedCog.cs and NativeCog.cs.
    • Refactored naming and visibility of members, parameters and local variables in classes, methods and enums.
    • Use of data bindings to global properties, for FreqFormat to show clock frequency on Spin byte code.
    • Added XML & Doxygen comments in files.
    • Removed extra spaces at line ends.
  • Code renaming on classes and files, documenting almost all.
  • Prepared modification of Main graphics context variable for the direct painting of MemoryView and SpinView panels, like CogView does, instead to use a bitmap backbuffer, in MemoryView.cs and SpinView.cs.
  • Added documentation on SpinBytecode to repository, and added link to it on readme.md.

Release Version 22.07.01 Code cleanup UI on SpinView.

12 Jul 16:36
Compare
Choose a tag to compare

Commit 195e7f5 Update version data

  • version 22.07.01

Merge commit 'f2647ca'

Commit 9a615fb Code cleanup UI on SpinView.

  • Changed constant name PropellerCPU.MaxRAMAddress to PropellerCPU.MaxMemoryAddress, to clarify it refers to top of ROM, not RAM. Affects PropellerCPU.cs, CogView.cs, InterpretedCog.cs, MemoryManager.cs, SpinView.cs.
  • Code cleanup and refactoring in SpinView.cs and in some parts of Emulator.cs.
    • Improved visualization of Spin objects in map, with more details and different colors. Added three alignment modes on map: none, at Byte, or at Word, with a new tool strip selector with icons.
    • Refactored naming and visibility of members, parameters and local variables in classes, methods and enums.
    • Use of data bindings to global properties, for FreqFormat to show clock frequency on Spin byte code.
    • Added XML & Doxygen comments in files.
    • Removed extra spaces at line ends.
  • Corrected Doxygen documentation on mcsgen diagrams, for method name change of Gear.GUI.Emulator.LoadPluginFromFile().

Release Version 22.06.03 Fix issue #30

26 Jun 20:26
Compare
Choose a tag to compare

Commit f2647ca Fix issue #30 - Linux-Mono: Version 22.06.02 crashes directly after loading a binary.

Release Version 22.06.02 Code cleanup UI on RingMeter & MemoryView + performance improvement

24 Jun 22:33
Compare
Choose a tag to compare

Commit 812346a Code cleanup UI on RingMeter & MemoryView + performance improvement

  • Changed Gear image on ring meter: updated to better quality and colorful image and improved performance, thanks to refactoring, use precalculated screen positions for numbers on ring, pre-defined images, paralellism to load resources and precalculate.

  • Corrected error if no file name was selected on dialog to open a plugin or binary file, but pressed open button. Corrected methods PluginEditor.OpenButton_Click(.), GearDesktop.OpenPluginButton_Click(.), GearDesktop.OpenBinaryButton_Click(.), Emulator.OpenPlugin_Click(.), Emulator.OpenBinary_Click(.).

  • Auto update of program properties, using binding instead of custom methods, for EmbeddedCode, TabSize, LastPlugin and UseAnimationsin files AppPropertiesEditor.cs, Emulator.cs, PluginEditor.cs.

  • Added Refresh button and manage visibility of Reset button on AppPropertiesEditor.cs.

  • Improved font rendering and drawing aliased lines on Emulator.cs, HubView.cs, RingMeter.cs, BitView.cs, MemoryView.cs, PluginEditor.cs.

  • Code cleanup and refactoring in files: RingMeter.cs, MemoryView.cs and in some places in PluginBase.cs, PluginEditor.cs, PropellerCPU.cs, ModuleCompiler.cs.

    • Refactored naming and visibility of members, parameters and local variables in classes, methods and enums.
    • Identify paralellism points with complexity.
    • Added XML & Doxygen comments in files.
    • Removed extra spaces at line ends.
  • New file CommonUI.cs to declare common objects for User Interface. Moved there declaration of IRequestRepaintable interface.

Release Version 22.06.01 UI Speed optimizations

15 Jun 18:26
Compare
Choose a tag to compare

Commit 27bcd05 Code cleanup UI BitView + paint optimization

  • Improved performance of GUI on BitView control, redrawing it only on value changes.

    • Conditional control painting: only pins changed or full redraw if it is requested.
    • Pre-calculated rectangle coordinates for each pin.
    • Refactored logic to set Brush only once in constructor.
  • Code cleanup and refactoring in files: BitView.cs, and in some places in HubView.cs, Emulator.cs.

    • Refactored naming and visibility of members, parameters and local variables in classes, methods and enums.
    • Identify paralellism points with complexity.
    • Added XML & Doxygen comments in files.
    • Removed extra spaces at line ends.
  • Added custom Text for debugging with selected information, on files: BitView.cs, Emulator.cs, HubView.cs, PropellerCPU.cs.

  • Compacted decorations in attributes or members with multiple Attributes on TimeUnitComboBox.cs, TimeUnitMgmt.cs, TimeUnitToolStripComboBox.cs.

  • Added file name in header comments on xx.Designer.cs files.

Commit 3202daf Code cleanup UI Emulator, FloatedWindow, PluginEditor and AboutGear

  • Fixed bug when running emulator, but floated windows were not updated on Emulator.cs.

  • The order of tabs on emulator is remembered when a view is pinned/unpinned or floated/unfloated. Also, now tab repetitions are numbered if multiple copies of a plug-in are loaded. Created GUI.TabManager class to manage the document tabs.

  • Fixed bug on enable/disable buttons (step Instruction and step Clock) when the emulator arrives to a breakpoint.

  • Added new app property: UseAnimations, to enable/disable the use of animations on splitters of Emulator.

  • Corrected namespace dependency of app properties on Gear.Utils for classes TimeUnitsEnum and NumberFormatEnum.

  • Moved RememberRTBoxPosition class to Gear/GUI namespace and folder, on File 'RememberRTBoxPosition.cs'.

  • Code cleanup in files: Emulator.cs, FloatedWindow.cs, AboutGear.cs, AppPropertiesEditor.cs, CollapsibleSplitter.cs, TabManager.cs, PluginEditor.cs.

    • Refactored naming and visibility of members, parameters and local variables in classes, methods and enums.
    • Added legacy TODO tags in Doxygen documentation, and also identify paralellism points with complexity.
    • Added XML & Doxygen comments in files.
    • Updated format of @version tags to vYY.MM.dd.
    • Removed extra spaces at line ends.
  • Added .gitattributes file to preserve line endings for *.sh files on windows.

Release Version 22.05.04 Emulator Core code Cleanup

26 May 23:21
Compare
Choose a tag to compare

Release Version 22.05.04 Emulator Core code Cleanup

Commit d2613c4 Bugfix VGA & television not working

  • Fixes bug on clearing arrays that broke VGA and television plugins, on PropellerCPU.cs.

Commit 0b06168 Code cleanup on PropellerCPU

  • Ordered update of ClockMode, XtalFrequency & CoreFrequency in HubView, using event detection when that properties changes in PropellerCPU. Files: HubView.cs, HubView.Designer.cs, Emulator.cs and PropellerCPU.cs.
  • Code cleanup in files: specially on PropellerCPU.cs, but also in NativeCog.cs, InterpretedCog.cs, Cog.cs.
    • Added Cog.CogNum property that replace PropellerCPU.CogID().
    • Changed method names to Cog.RequestHubOperation() and PropellerCPU.ExecuteHubOperation() to clarify the colaboration between classes.
    • Refactored naming and visibility of members, parameters and local variables in classes, methods and enums.
    • Added legacy TODO tags in Doxygen documentation, and also identify paralellism points.
    • Put extra UserControl documentation of SPIN interpreted code at the end of methods, lefting more cleaner the headers of methods.
    • Added XML & Doxygen comments in files.
  • Added first version of documentation of target .Net Framework and C# versions Gear_Emulator_C#_Versions.md.

Commit bf3509d Code cleanup on NativeCog

Commit 484a19e Code cleanup on InterpretedCog

  • Corrected visibility of abstract method Cog.Boot() to private protected, affecting descendents classes InterpretedCog and NativeCog.
  • Code cleanup in files: specially InterpretedCog.cs.
    • Refactored naming and visibility of members, parameters and local variables in classes, methods and enums.
    • Added XML & Doxygen comments in files.

Commit 2db28c5 PASM Condition codes to be intuitive evaluated

  • Invert sense of return value on Cog.ConditionCompare(), to a intuitive one: Returns TRUE if logic condition is valid, else FALSE. Files: Cog.cs, FreqGenerator.cs, NativeCog.cs.

Release Version 22.05.03 Refactored EmulationCore.Cog, Code cleanup 6

20 May 22:35
Compare
Choose a tag to compare

Release Version 22.05.02 Emulator speedup and code cleanup 5

18 May 18:58
Compare
Choose a tag to compare