#z80 #demo #amstrad #dsk #sna

nightly cpclib

Set of tools and libraries to ease demomaking on the Amstrad CPC platform. WIP

23 releases

0.7.0 Aug 15, 2023
0.6.0 Apr 24, 2022
0.5.0 Feb 19, 2022
0.4.4 Nov 22, 2020
0.2.8-beta Dec 28, 2018

#193 in Emulators

Download history 9/week @ 2024-02-19 17/week @ 2024-02-26 2/week @ 2024-03-04 14/week @ 2024-03-11 4/week @ 2024-03-18 475/week @ 2024-04-01

494 downloads per month
Used in 3 crates (via cpclib-imgconverter)

MIT license

3MB
43K SLoC

Rust 33K SLoC // 0.0% comments C 10K SLoC // 0.2% comments Python 88 SLoC Shell 1 SLoC

cpclib

cpclib is a library that aims at helping to develop Amstrad CPC demos. Maybe it could be usefull for other z80 platform or even games. None of the functionalities are 100% functional. I have only implemented the subset I need for my current Amstrad CPC demo project. Several tools are provided in addition to library.

There are more are less able to do:

  • assemble z80 source code.
    • Mainly interesting for auto-generated code, not for handcrafted one.
    • Not all opcodes are managed.
    • Functionalities not available in other assemblers:
      • Injection of basic source code (WIP)
      • Function able to provided the opcode value of an instruction or its standard duration
  • manipulate .sna files
    • Minimal support of chunks at the moment
  • convert images to CPC format. Usable for standard resolutions/modes
  • manipulate DSK (trying to mimick iDSK or dskmanager). Able to format and add files
  • communicate with cpcwifi board
    • Replication of xfer utility.
    • Only reset and run file have been coded at the moment
    • In opposite to the original xfer tool, cpclib one is able to start snapshots V3 (there are simply converted as snapshot v2 on the fly)
  • create basic tokens from basic source (WIP)

Dependencies

~52–69MB
~1M SLoC