production

Phactory

Download 2014_phactory_(condense)_binary_source.zip

Credits

  • Code — NoRecess

Written alone.

This application, written and maintained by me, is an IDE (Integrated Development Environment) targeting Amstrad CPC. It allows source-code edition, as also data editing/conversion. When a project gets built, all the dependency graph is visited so it only compiles what needs to be compiled. It’s all plugin-based, so it’s easily expendable with custom features for a dedicated project. It’s really customized to my own workflow and it’s using old-fashioned VisualStudio 6 keyboard shortcuts. SDCC/SDCC2Pasmo/Pasmo are plainly integrated. Phreaks demo and QuickCMD utility could not have been done without it !

Currently implemented plugins for the CPC are :

  • CPCBigFile : embed a set of resources into multiple small files (such as BANK.C4, BANK.C5, etc.) to be put later inside a DSK CPC image file. Additionally to that, a description file is outputted so the position/size in memory of each files can be easily retrieved later.
  • CPCBinToC : convert a binary resource into a C file
  • CPCBitmap : convert a bitmap resource to CPC format, multiple conversion options are available. Multiple bitmaps sharing same palette are also supported.
  • CPCDSK : inject resources into a DSK CPC image file. Internally makes use of excellent ManageDSK tool. Each resources in the DSK can be edited, cf. execution address etc. Can also create HFE file to be used with HxC Floppy Emulator.
  • CPCPacker : compress a set of resources. Exomizer or BitBuster can be chosen.
  • CPCRawBitmap : convert a bitmap resource to a custom RAW data format. It has been used by example with Phreaks demo to convert all frames into a single large array of data.
  • CPCText : outputs RAW data from an edited text in UI. User has to provide charset (font).
  • HexEdit : simple hexadecimal editor. Default viewer for unknown file-types.
  • ImageEdit : simple image viewer
  • SDCC : compiler for C/ASM files (makes use of SDCC2Pasmo utility to use Maxam’s syntax in assembly source-code)
  • PixelCalculator : useful tool which helped me a lot to compute pixel masking in MODE 0
  • SourceEdit : source editor, featuring z80 assembly syntax highlighting
  • and more…

Screenshots :

The CPCBitmap plugin, showing a bitmap's palette as pens with their Gate Array values, and a preview of the converted picture
CPCBitmap: every pen of the palette, its Gate Array value, and a preview of what the CPC will show.
The CPCPacker plugin, listing two bitmaps to be compressed with a choice between Exomizer and BitBuster
CPCPacker: the resources to compress, and which packer to compress them with.
The CPCBigFile plugin, listing packed resources with their length and execution address
CPCBigFile: the packed resources gathered into one file, each with its length and execution address.
The source editor showing a C function with inline Z80 assembly, syntax coloured
SourceEdit: C with inline Z80, and the project tree of a real demo beside it.
The hexadecimal editor showing the bytes of a binary resource
HexEdit: the default viewer for anything the other plugins do not claim.
The CPCDSK plugin, listing the files of a disc image with their AMSDOS names, load and execution addresses
CPCDSK: the finished disc image, with the option to write an HxC Floppy Emulator .HFE beside it.