Skip to content

Header

Orix binary v2 format (relocated : bitfield table, available since Kernel 2022.4)

  .byt $01,$00            ; non-C64 marker like o65 format
  .byt "o", "r", "i"      ; "ori" MAGIC number like o65 format
  .byt $02                ; version of this header
cpu_mode:
  .byt $00                ; CPU see below for description
;7
  .byt <SIZE_BITFIELD,>SIZE_BITFIELD    ; size of the bitfield map low
;9
  .byt $00                ; reserved
;10
  .byt $00                ; reserved
;11
  .byt $00                ; reserved
;12
  .byt <OFFSET_BITFIELD,>OFFSET_BITFIELD ; offset of the bitfield
;14
  .byt <start_adress,>start_adress  ; loading adress
;16
  .byt <endofmemory,>EndOfMemory    ; end of loading adress
; 18
  .byt <start_adress,>start_adress  ; Execution adress
; end of header
start_adress:
  lda  $00
  rts
EndOfMemory:

Orix binary v1 format (Will be deprecated)

Orix binary v1 is not a relocated format. The binary must be never under $800. Relocation format (Format 2 see below) is now provided in kernel v2022.4

You don't need to know this format except if you use others assembler than ca65 (or cc65 with C). Orix-sdk provide .cfg file to add header to your code in assembly

        .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 (can not be relocated)
cpu_mode:
        .byt $00                ; CPU see below for description
        .byt $00                ; reserved
        .byt $00                ; reserved
        .byt $00                ; reserved
        .byt $00                ; reserved
        .byt $00                ; reserved
        .byt $00                ; reserved
        .byt $00                ; reserved
        .byt <start_adress,>start_adress ; loading adress
        .byt <endofmemory,>EndOfMemory   ; end of loading adress
        .byt <start_adress,>start_adress ; starting adress

start_adress:
  *=$1000
  lda #$41
  sta $bb80
  rts
EndOfMemory:

Description

cpu_mode 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)