CabezonAboutCabezon is a free compiler for the Pascal programming language running on DOS. It was originally developed by Hiroshi "ockeghem" Tokumaru from 22 August 1990 to 4 January 1993. Latest version is 0.08. These wiki pages are maintained out of curiosity by Robert Riebisch to document his progress on understanding and extending the compiler. Please expect slow progress, because this is a spare-time project and all documentation by Hiroshi is in Japanese language. -- But let's dream big for now: Maybe some day, Cabezon can fully replace Turbo Pascal. FeaturesDespite its low version number, Cabezon can already create working .EXE files in 16-bit DOS MZ format. At first, it translates your Pascal source code to x86 assembly language and then runs two external tools, an assembler and a linker to create the actual .EXE file. Requirements
All version numbers come from the file cabdc008.zip\CABEZON.MAN. Usually newer versions will also work as long as they run on DOS. Starters are recommended to use the R86 & LLD combination from LSI C-86 version 3.30c, because it's available as a free download and very robust. LicenseCabezon is copyright Hiroshi Tokumaru. Since 18 February 2019 Cabezon is under MIT License. So it is not only available free of charge, but also comes with full source code. Getting CabezonCabezon can be downloaded from below or the original website. Downloads
Looking for a specific file? Go to cab??008.zip Archive Listing or lsic330c.lzh Archive Listing. More Downloads
Installation
@echo off echo Preparing for Cabezon... set PATH=D:\CABEZON;%PATH% set ASM=R86 set LINK=LLD echo. echo Now have fun! :-) echo. First RunFirst step is to prepare the compiler environment: C:\>d: D:\>cd \cabezon D:\Cabezon>gocab Preparing for Cabezon... Now have fun! :-) D:\Cabezon> Then run the compiler driver: D:\Cabezon>cab Cabezon Compiler Ver 0.08 Copyright (C) 1990, 93 Ockeghem /j jump optimization (tasm 2.0 only) /g debug information /s compile only /c compile and assemble only /l generate list file /m generate map file D:\Cabezon> Hello, WorldAt first, place this very short Pascal code into a file named D:\CABEZON\HELLO.PAS: program Hello; begin writeln('hello, world'); end. Now feed that source code to the compiler. -- This will also automatically call the assembler (R86.EXE) and the linker (LLD.EXE): D:\Cabezon>cab hello cab1 /oC:\Temp\hello.a86 /r hello R86 -o hello.obj C:\Temp\hello.a86 DEL C:\Temp\hello.a86 LLD hello.obj clib.lib D:\Cabezon> Then you can run your first Cabezon-compiled program. -- You already guessed it. It just prints "hello, world" every time you run it: D:\Cabezon>hello hello, world D:\Cabezon>hello hello, world D:\Cabezon> Compiler Error MessagesPlease see Translating CABEZON.ERR. Run-time Error MessagesPrograms generated with Cabezon will print Run time error 000 at 0000:0000 if anything goes wrong during execution. 000 is the error code and 0000:0000 is a segment:offset combination of the program code, where the error occurred. Trivia: Programs generated with Turbo/Borland Pascal will print Runtime error 000 at 0000:0000 (no space between Run and time). Run-time errors are divided into the following two types. DOS error: 1 to 17, I/O error: 100 or higher.
1 Using Info-ZIP Zip version 3.00: zip.exe -9 -o -r -X -D ..\lsic330 * ⇑ |