Skoolkit

Latest version: v9.4

Safety actively analyzes 682416 Python packages for vulnerabilities to keep your Python projects secure.

Scan your dependencies

Page 1 of 3

9.4

* Added support to `skool2bin.py` for reading configuration from *skoolkit.ini*
* Added the `--ini` and `--show-config` options to `skool2bin.py` (for setting the value of a configuration parameter and for showing all configuration parameter values)
* Added support to `skool2bin.py` for padding the output with zeroes (as specified by the `PadLeft` and `PadRight` configuration parameters)
* Added the `--screen` option to `trace.py` (for displaying screen contents while running)
* Added the `ScreenFps` and `ScreenScale` configuration parameters for `trace.py` (to specify the frame rate and scale factor when displaying screen contents)
* Added support to `trace.py` for writing a PNG file after code execution has completed
* Added the `PNGScale` configuration parameter for `trace.py` (to specify the scale factor of the PNG image)
* Added support to `trace.py` for multiple output file arguments
* `snapinfo.py` now shows AY register values in 128K SZX and Z80 snapshots and the last value written to port $FE in SZX snapshots
* Added support to the `FOREACH` macro for the `POKEname` special variable
* Added support to the `LET` macro for setting individual key-value pairs in dictionary variables
* Added the `Download` parameter to the `[Game]` section (for specifying a download message/link to appear in the footer of every page)
* Added the `LinkInternalOperandsMinDistance` parameter to the `[Game]` section (for avoiding hyperlinks to nearby instructions)
* Fixed how ADC and SBC instructions affect the half-carry flag
* Fixed how 'BIT n,(IX/Y+d)' affects bits 3 and 5 of the flags in the C version of the Z80 simulator
* Fixed how IX/IY offset addresses are calculated in the C version of the Z80 simulator

9.3

* Added support to `tapinfo.py` and `tap2sna.py` for reading PZX files
* Added support to `bin2tap.py` for writing PZX files
* Added support to `tap2sna.py` for the `m` (memory) replacement field in the `TraceLine` configuration parameter
* Added support to `trace.py` for the `m` (memory) replacement field in the `TraceLine*` configuration parameters
* Added the `--state` option to `trace.py` (for setting hardware state attributes before code execution begins)
* Added support to `trace.py` for writing a WAV file after code execution has completed
* Added the `Opcodes` configuration parameter to `sna2skool.py` (for specifying additional opcode sequences to disassemble)
* Added the `bytes` directive (for specifying the byte values to which an instruction should assemble)
* Added the `--tape-start` and `--tape-stop` options to `tapinfo.py` (for specifying the block numbers at which to start or stop showing info)
* `tapinfo.py` now shows info for TZX block types 0x18 (CSW recording) and 0x2B (set signal level), and also recognises the deprecated TZX block types 0x16, 0x17, 0x34 and 0x40
* The `--find`, `--find-text` and `--find-tile` options of `snapinfo.py` now search all RAM banks in a 128K snapshot by default
* Added support for path ID replacement fields in the `destDir` parameter of items in the `[Resources]` section
* Fixed the bug that prevents the `--reg` option of `trace.py` from accepting hexadecimal values prefixed by ‘0x’

9.2

* Added a Z80 instruction set simulator implemented in C (as a faster alternative to the pure Python Z80 simulator)
* Added the `rzxplay.py` command (for playing an RZX file)
* Added the `rzxinfo.py` command (for showing the blocks in or extracting the snapshots from an RZX file)
* Added support to `sna2ctl.py` for reading code execution maps produced by `rzxplay.py`
* Added support to `tap2sna.py` for TZX block type 0x15 (direct recording)
* `tapinfo.py` now shows info for TZX block type 0x15 (direct recording)
* Added support to `trace.py` for executing machine code in +2 snapshots
* Added the `python` simulated LOAD configuration parameter to `tap2sna.py` (for forcing usage of the pure Python Z80 simulator even if the C version is available)
* Added the `--python` option to `trace.py` (for forcing usage of the pure Python Z80 simulator even if the C version is available)
* Fixed the lazy evaluation bug that can make the `FONT`, `SCR` and `UDG` macros create frames with incorrect graphic content
* Fixed the bug that can make `trace.py` stop too soon when the `--max-tstates` option is used
* Fixed the contention pattern for the OUTI/OUTD/OTIR/OTDR instructions

9.1

* Added support to `snapmod.py` for modifying SZX snapshots and 128K snapshots
* Added support to `bin2sna.py` for writing 128K snapshots (by using the `--page` and `--bank` options, or by providing a 128K input file)
* Added support to `bin2tap.py` for writing 128K TAP files (by using the `--7ffd`, `--banks` and `--loader` options)
* Added support to `bin2sna.py`, `snapmod.py`, `tap2sna.py` and `trace.py` for modifying 128K RAM banks (via the `--move`, `--poke`, `--ram move` and `--ram poke` options)
* Added the `BANK` macro (for switching the RAM bank that is mapped to 49152-65535)
* Added the `bank` directive (for specifying the RAM bank that is mapped to 49152-65535, and for populating a RAM bank from the contents of another skool file)
* Added the `--banks` option to `skool2bin.py` (for processing `bank` directives and writing RAM banks 0-7 to a 128K file)
* Added the `cmio` simulated LOAD configuration parameter to `tap2sna.py` (to specify whether to simulate memory and I/O contention)
* Added the `--cmio` option to `trace.py` (to enable simulation of memory and I/O contention)
* Added the `cmio` parameter to the `AUDIO`, `SIM` and `TSTATES` macros (to specify whether to simulate memory and I/O contention)
* Added the `execint` parameter to the `AUDIO`, `SIM` and `TSTATES` macros (to specify whether to simulate the execution of interrupt routines)
* Added the `tstates` parameter to the `SIM` macro (to set the value of the simulator's clock)
* Added the `iff` parameter to the `SIM` macro (to set whether interrupts are enabled)
* Added the `im` parameter to the `SIM` macro (to set the interrupt mode)
* Made the `stop` parameter of the `SIM` macro optional
* Added support to the `AUDIO`, `SIM` and `TSTATES` macros for executing code in a 128K memory snapshot
* Fixed how `trace.py` handles the value of the SP register in a 128K SNA file
* Fixed how `tap2sna.py` and `trace.py` log timestamps when an interrupt occurs
* Fixed how interrupts are accepted when `tap2sna.py` and `trace.py` execute code in a simulator
* Fixed how the Z80 instruction set simulator updates bit 2 of the flags register when executing an 'LD A,I' or 'LD A,R' instruction just before an interrupt is accepted
* Fixed the bug that makes the `--basic` option of `snapinfo.py` fail when the value of PROG is 65535
* Fixed the bug that prevents an `M` directive from being repeated in a control file loop

9.0

* Dropped support for Python 3.7
* `tap2sna.py` now performs a simulated LOAD by default, and will also overwrite an existing snapshot by default
* Added the `machine` simulated LOAD configuration parameter to `tap2sna.py` (to specify whether to simulate a 48K or a 128K Spectrum)
* Added the `load` simulated LOAD configuration parameter to `tap2sna.py` (to specify an alternative command line to use to load the tape)
* Added the `polarity` simulated LOAD configuration parameter to `tap2sna.py` (to specify the EAR bit reading produced by the first pulse on the tape)
* Added the `in-flags` simulated LOAD configuration parameter to `tap2sna.py` (to specify how to handle 'IN' instructions)
* The output snapshot argument of `tap2sna.py` is now optional
* Added the `DefaultSnapshotFormat` configuration parameter for `tap2sna.py` (to specify the default output snapshot format)
* Added support to `tap2sna.py` for register pairs (`r[bc]`, `r[de]` etc.) in the `TraceLine` configuration parameter
* Added the `antirom`, `ernieware` and `housenka` tape-sampling loop accelerators
* Statistics for 'DEC A' tape-sampling delay loops are now shown by `tap2sna.py` when `accelerator=list`
* Added support to `trace.py` for executing machine code in 128K snapshots
* Added support to `trace.py` for reading configuration from *skoolkit.ini*
* Added the `--ini` and `--show-config` options to `trace.py` (for setting the value of a configuration parameter and for showing all configuration parameter values)
* Added the `--no-interrupts` option to `trace.py` (to prevent the execution of interrupt routines, which are now executed by default)
* Added support to `bin2sna.py`, `tap2sna.py` and `trace.py` for writing SZX snapshots
* Added support to `bin2sna.py` and `tap2sna.py` for setting the `fe` hardware state attribute (i.e. the last value written to port 0xFE in SZX snapshots)
* Added support to the `AUDIO` macro for passing delays through a moving average filter (which can produce higher quality audio, especially for multi-channel tunes)
* Added support to control directive loops for avoiding repetition of an `N` directive at the start of a loop
* `tapinfo.py` now shows the LINE number (if present) for 'Program:' header blocks, and renders BASIC tokens in header block names
* `snapinfo.py` now shows the current AY register in 128K SZX and Z80 snapshots
* Changed the default value of `H` and `A` for the `assemble` directive to 2
* Fixed the bug that prevents `tap2sna.py` from loading a tape that has a hash character (``) in its filename

8.10

* Added the `finish-tape` simulated LOAD configuration parameter to `tap2sna.py` (to specify whether to finish the tape before stopping the simulation at the given start address)
* Added the `contended-in` simulated LOAD configuration parameter to `tap2sna.py` (to specify whether to interpret 'IN A,($FE)' instructions in the address range $4000-$7FFF as reading the tape)
* Added the `accelerate-dec-a` simulated LOAD configuration parameter to `tap2sna.py` (to specify whether to accelerate 'DEC A: JR NZ,$-1' or 'DEC A: JP NZ,$-1' delay loops)
* Added the `alkatraz-05`, `alkatraz-09`, `alkatraz-0a`, `alkatraz-0b`, `alternative`, `alternative2`, `boguslaw-juza`, `bulldog`, `crl`, `crl2`, `crl3`, `crl4`, `cybexlab`, `d-and-h`, `delphine`, `design-design`, `gargoyle2`, `gremlin2`, `microprose`, `micro-style`, `mirrorsoft`, `palas`, `raxoft`, `realtime`, `silverbird`, `software-projects`, `sparklers`, `suzy-soft`, `suzy-soft2`, `tiny`, `us-gold` and `weird-science` tape-sampling loop accelerators for use with `tap2sna.py`
* Added the special `auto` and `list` tape-sampling loop accelerator names for use with the `accelerator` simulated LOAD configuration parameter of `tap2sna.py`, and the ability to specify multiple accelerators
* Added support to `bin2sna.py`, `snapmod.py` and `tap2sna.py` for setting the `issue2` hardware state attribute (to enable or disable issue 2 emulation)
* Added support to `tap2sna.py` for loading tapes that end with a pulse sequence instead of data
* Added support to `tap2sna.py` for reading configuration from *skoolkit.ini*
* Added the `--ini` and `--show-config` options to `tap2sna.py` (for setting the value of a configuration parameter and for showing all configuration parameter values)
* Added support to `tap2sna.py` for configuring the format of a simulated LOAD trace log file via the `TraceLine` and `TraceOperand` configuration parameters
* Added the `--tape-analysis` option to `tap2sna.py` (for showing an analysis of the tape's tones, pulse sequences and data blocks)
* `snapinfo.py` now shows the value of the T-states counter and the issue 2 emulation flag in SZX and Z80 snapshots
* Fixed the bug that prevents `snapinfo.py` from displaying the value of a floating-point number in a BASIC line when the accompanying numeric string is a single decimal point (`.`)
* Fixed how the value of the R register is set in a Z80 snapshot when bit 7 is reset
* Fixed how tape-sampling loop accelerators affect the carry flag after at least one pass through the loop

Page 1 of 3

© 2024 Safety CLI Cybersecurity Inc. All Rights Reserved.