Skip to content

Specasm v10

Latest
Compare
Choose a tag to compare
@markdryan markdryan released this 24 Sep 19:53
adaaeff

Version v10 of Specasm includes the following enhancements and fixes:

  • There's a 128kb version of the Specasm editor that includes all the features from the Next version
  • The drawing code has been rewritten in assembler making the editor feel much more responsive
  • Three new commands are available on the Next and Specrtrum 128 versions of the editor; gc to garbage collect old strings, and t and fl to report the number of t-states and the flags modified by a selected block of code.
  • It's now possible to use Page Up/Page Down/File Start/File End commands in selection mode.
  • The size of the clipboard in the Next version of Specasm has been increased to 16kb
  • A numeric literal can now be passed to the jp instruction, e.g., jp 100.
  • Character literals can now be used in expressions, e.g., ld a, =‘a’+7
  • Fixed a bug which prevented labels of 12 characters from being used in an equ statement
  • Error handling for failed commands is improved. If a ‘l’ command fails, the Specasm editor stays in command mode and allows the command to be edited, rather than returning to editor mode.
  • Relative paths, containing .., can now be used when loading and saving files in the Specasm editor
  • Fixed an incorrect error message that was reported when an expression was used with the cp instruction
  • Fixed a bug in the linker which led to a ‘multiply defined org statement error’ when linking test programs if the project being tested contained an org statement in a .x file.
  • The editor now only accepts statements that are 32 characters or less when formatted. Previous version of Specasm accepted lines that could be longer than 32 characters after formatting and this lead to memory corruption.
  • Fixed a bug which prevented + includes, i.e., includes relative to the /specasm directory from working if they were not present in the main project folder, i.e., the one with the Main label.
  • Fixed a bug which prevented single letter .t files, e.g., s.t.
  • Fixed some nasty memory corruption bugs related to nested expressions, in which recursive functions in the expression parser were causing the stack to overwrite the linker’s data. This was particularly acute one the Next. More space has been made available for the stack and the limit on the number of nested expressions has been reduced to 4.
  • Worked around what appears to be a weird ESXDOS sdcard corruption issue when the linker encountered an error. It seems like creating, closing and removing a 0 length file prevents the sdcard from subsequently being mounted in MacOS. Still need to create stand alone reproducer for this.