All Projects → oldcompcz → HiSoft-C

oldcompcz / HiSoft-C

Licence: other
Disassembled code of HiSoft C compiler for ZX Spectrum

Programming Languages

assembly
5116 projects
c
50402 projects - #5 most used programming language

Projects that are alternatives of or similar to HiSoft-C

apultra
Free open-source compressor for apLib with 5-7% better ratios
Stars: ✭ 84 (+320%)
Mutual labels:  z80, zx-spectrum
channels
ZX Spectrum browser for forums and imageboards
Stars: ✭ 52 (+160%)
Mutual labels:  z80, zx-spectrum
zx-sizif-512
ZX Spectrum CPLD-based clone for rubber case
Stars: ✭ 92 (+360%)
Mutual labels:  z80, zx-spectrum
lighthouse-of-doom
A simple text-based adventure game
Stars: ✭ 52 (+160%)
Mutual labels:  z80, zx-spectrum
zx-spec
A unit testing framework for Sinclair ZX Spectrum assembly
Stars: ✭ 32 (+60%)
Mutual labels:  z80, zx-spectrum
spectrum128 cpm
zx spectrum 128 emulation on stm32f407 + Grant Searle's CP/M system port ili9341 16 bit display
Stars: ✭ 29 (+45%)
Mutual labels:  z80, zx-spectrum
jetpac-disassembly
JETPAC: annotated source code disassembly of this classic 8-bit game (1983, ZX Spectrum)
Stars: ✭ 36 (+80%)
Mutual labels:  z80, zx-spectrum
6502.Net
A .Net-based Cross-Assembler for Several 8-Bit Microprocessors
Stars: ✭ 44 (+120%)
Mutual labels:  z80, zx-spectrum
The-Great-Escape
Classic ZX Spectrum game "The Great Escape" reverse engineered
Stars: ✭ 69 (+245%)
Mutual labels:  z80, zx-spectrum
zx-spectrum-games
Collection of ZX Spectrum annotated game source code dissasemblies as .skool files
Stars: ✭ 35 (+75%)
Mutual labels:  z80, zx-spectrum
Z80
Highly portable Zilog Z80 CPU emulator written in ANSI C
Stars: ✭ 131 (+555%)
Mutual labels:  z80
The-Great-Escape-in-C
Classic ZX Spectrum game "The Great Escape" rewritten in portable C
Stars: ✭ 95 (+375%)
Mutual labels:  zx-spectrum
z80e
A z80 calculator emulator (and debugger)
Stars: ✭ 65 (+225%)
Mutual labels:  z80
rc2014-ym2149
KiCad schematics and gerbers for a YM sound card for the RC2014. See it in action here: https://www.youtube.com/watch?v=-iLwi9FagFE
Stars: ✭ 54 (+170%)
Mutual labels:  z80
msx-msxlib
MSX assembly library
Stars: ✭ 42 (+110%)
Mutual labels:  z80
zasm
Z80 / 8080 / Z180 assembler (for unix-style OS)
Stars: ✭ 47 (+135%)
Mutual labels:  z80
The-MSX-Red-Book
The MSX Red Book in Markdown format.
Stars: ✭ 85 (+325%)
Mutual labels:  z80
ostrich
A Game Boy Sound System player for macOS, written in Swift
Stars: ✭ 37 (+85%)
Mutual labels:  z80
awesome-list
Awesome Lists of retrocomputing resources (6502, Apple 2, Atari, ...)
Stars: ✭ 38 (+90%)
Mutual labels:  z80
Collapseos
Bootstrap post-collapse technology
Stars: ✭ 4,263 (+21215%)
Mutual labels:  z80

HiSoft-C

Disassembled code of HiSoft C compiler version 1.3 for ZX Spectrum

pic1.png

1. Introduction

HiSoft C is c compiler available for ZX Spectrum and Amstrac CPC. The compiler uses old K&R notation so you can use ansi2kr converter for conversion of your ANSI C source code into K&R version. Then you can use c2tap utility for conversion of your source to tap file format.

An interesting fact is HiSoft C was written in BDS C of Leor Zolman and then disassembled and optimized manually.

There are various libraries for HiSoft C. For example:

2. Resources

3. How to compile

3.1 Prerequisities

3.2 Compilation

z80asm cc.asm -o cc-tmp.bin ; bin2tap.py -o 25200 cc-tmp.bin cc.tap

4. Original process of disassembling

4.1 Decompilation

z80dasm -a -t -l -g 25200 -b blocks.txt code.bin > code.asm

4.2 Recompilation

z80asm code.asm -o code-tmp.bin ; bin2tap.py -o 25200 code-tmp.bin cc.tap

5. HiSoft Editor usage

To start editor press capshift 1 and ENTER (or EDIT)

5.1 File operations

  • p [m,n,s] put into cassette
  • g [,,s] get from cassette

5.2 Compiler

  • c enter back to compiler
  • #include [file name] compile program
  • symbolshift i run program
  • #error to sacrifice error messages and yield more memory

5.3 Basic

  • b enter go to basic
  • RANDOMIZE USR 25200 back to compiler

5.4 Editor commands

  • i [m,n] insert text
  • l [m,n] list
  • k n set number of lines listed on screen
  • w [m,n] write text to printer
  • d [m,n] delete lines
  • m [m,n] move line
  • n [m,n] renumber line
  • e n edit line
  • v view defaults

5.5 Special keys

  • SS F {
  • SS G }
  • SS I EOF
  • SS Q <=
  • SS W <>
  • SS E >=
Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].