browser

macros.xyw

macros.xyw
calendarsave
;;; Devices

;system
.macro system.state           $00
.macro system.error           $01
.macro system.ssp             $02
.macro system.usp             $03
.macro system.page            $04
.macro system.random          $05
.macro system.on_error        $06

;terminal
.macro terminal.input          $10
.macro terminal.output         $11
.macro terminal.on_keypress    $12
.macro terminal.on_argument    $14

;clock
.macro clock.year             $20
.macro clock.month            $22
.macro clock.monthday         $23
.macro clock.weekday          $24
.macro clock.hour             $25
.macro clock.minute           $26
.macro clock.second           $27
.macro clock.timer            $28
.macro clock.on_timer         $2A

;file
.macro file.path              $30
.macro file.type              $32
.macro file.size              $33
.macro file.success           $35
.macro file.length            $37
.macro file.read              $39
.macro file.write             $3B
.macro file.operation         $3D

;beeper
.macro beeper.pitch           $40
.macro beeper.length          $42
.macro beeper.level           $44

;;; Utilities
.macro MOD DIV POP
.macro LBYTE SWP POP
.macro PUTC $11 STB

;;; ASCII Characters
.macro NL $0A PUTC
.macro SP $20 PUTC

;;; Argument separators
.macro arg.sep $1E
.macro arg.end $1D

;;; Errors
.macro error.file.not_found $31
.macro error.file.access_denied $32
.macro error.file.invalid_op $33
.macro error.file.io_error $34

;;; File operations
.macro file.op.read $01
.macro file.op.write $02
.macro file.op.append $03
.macro file.op.delete $04

;;; File types
.macro file.type.unspecified $00
.macro file.type.file $01
.macro file.type.directory $02

;;; Beeper notes
.macro ps   $0000  ; pause (no sound)
.macro c4   $0106  ; 262 Hz
.macro cs4  $0115  ; 277 Hz
.macro d4   $0126  ; 294 Hz
.macro ds4  $0137  ; 311 Hz
.macro e4   $014A  ; 330 Hz
.macro f4   $015D  ; 349 Hz
.macro fs4  $0172  ; 370 Hz
.macro g4   $0188  ; 392 Hz
.macro gs4  $019F  ; 415 Hz
.macro a4   $01B8  ; 440 Hz
.macro as4  $01D2  ; 466 Hz
.macro b4   $01EE  ; 494 Hz

.macro c5   $020B  ; 523 Hz
.macro cs5  $022A  ; 554 Hz
.macro d5   $024B  ; 587 Hz
.macro ds5  $026E  ; 622 Hz
.macro e5   $0293  ; 659 Hz
.macro f5   $02BA  ; 698 Hz
.macro fs5  $02E4  ; 740 Hz
.macro g5   $0310  ; 784 Hz
.macro gs5  $033F  ; 831 Hz
.macro a5   $0370  ; 880 Hz
.macro as5  $03A4  ; 932 Hz
.macro b5   $03DC  ; 988 Hz

.macro c6   $0417  ; 1047 Hz
.macro cs6  $0455  ; 1109 Hz
.macro d6   $0497  ; 1175 Hz
.macro ds6  $04DD  ; 1245 Hz
.macro e6   $0527  ; 1319 Hz
.macro f6   $0575  ; 1397 Hz
.macro fs6  $05C8  ; 1480 Hz
.macro g6   $0620  ; 1568 Hz
.macro gs6  $067D  ; 1661 Hz
.macro a6   $06E0  ; 1760 Hz
.macro as6  $0749  ; 1865 Hz
.macro b6   $07B8  ; 1976 Hz