This header had been created in order to manage CPU version, rom version, language version etc

Orix is a simple OS. All specs of this header are not written here, because it's not known yet. This header will manage in the future a sedoric file, FTDOS file, and so on.

; include header
	.byt $01,$00		; non-C64 marker like o65 format
	.byt "o", "r", "i"      ; "ori" MAGIC number :$6f, $36, $35 like o65 format
	.byt $01                ; version of this header
	.byt $00                ; CPU see below for description
	.byt $00	        ; reserved in the future, it will define if it's a Hyperbasic file, teleass file, forth file 
	.byt $00                ; reserved
        .byt $00		; reserved
	.byt $00	        ; operating system id for telemon $00 means telemon 3.0 version
        .byt $00	        ; reserved
	.byt $00                ; reserved
	.byt %01001001                   ; Auto, direct, data for stratsed, sedoric, ftdos compatibility
	.byt <start_adress,>start_adress ; loading adress
	.byt <EndOfMemory,>EndOfMemory   ; end of loading adress
	.byt <start_adress,>start_adress ; starting adress
	lda #$41
	sta $bb80



  • For 6502 rockwell (oric version no illegals opcodes)

.byt %00000000 ; 6502 (bit 0 = 0)

  • For 65C02 WDC

.byt %00000001 ; 65c02 (bit 0 = 1)

  • For 65C816 WDC

.byt %00000010 ; 65C816 (bit 1 = 1)

  • For 6502 with illegal opcodes (rockwell)

.byt %00000011 ; (bit 1 = 1 et bit0 =1)


On Telestrat (and Stratsed), Hyperbasic starts. When we load from Hyperbasic roms, roms contains routine to load hyperbasic file. This header adds a byte in order to start in the future the right program.

  • %00000000 : Orix file
  • %00000001 : Hyperbasic file, start hyperbasic interpreter
  • %00000010 : Teleass file, start teleass interpreter
  • %00000011 : Teleforth file, start teleforth interpreter
  • other value will be used for others OS (sedoric, ftdos, xldos)


It used to keep compatibility with stratsed, ftdos, sedoric : Stratsed and sedoric keep in their header information the type of file.

This trick is done because if we implement cp from stratsed disk to sdcard, we will lost this information. That is why these byte is reserved to this.