#
# Compukit UK101 Simulator
#
# (C) Copyright Tim Baldwin 2010,2016
#

# Sample machine configuration properties

# The maximum CPU speed in MHz.  
# Values: from 0 to 4  Default: 1
# 0 means unlimited, as fast as your PC can run the simulation!
cpu.speed=1

# The CPU timing control method.
# Values: auto, sleep, yield or spin  Default: auto
# Generally best left set to auto
cpu.control=auto

# The installed RAM.
# ram.address is the memory address for the RAM  Default: 0
# ram.size is the RAM size in KB from 4 to 40  Default: 8
ram.address=0
ram.size=8

# Additional RAM blocks can be installed in empty address space by
# providing the address and size (in KB), for example:
#ram.C000=2

# The set of installed ROMs.  These standard ROMs are included as part
# of the simulation package, alternative ROMs can be selected by
# providing a filename.  The CEGMON and WEMON monitor ROMs are also
# included in the simulation package so can be selected if required.
# monitor.address is the memory address for the monitor ROM  Default: F800
# basic.address is the memory address for the BASIC ROM  Default: A000
monitor.address=F800
basic.address=A000
#rom.monitor=CEGMON
rom.monitor=MONUK02
rom.basic=BASUK101
rom.charset=CHGUK101

# Additional ROMs can be installed by providing the ROM address and 
# the filename of the ROM image, for example:
#rom.B800=BASIC4.ROM
#rom.9000=BASIC5.ROM

# ROMs can be patched when loaded by adding the patch addresses and
# the required patch bytes in brackets after the name.
#rom.monitor=CEGNOM[FBBD/0C,D0,CC,D7;FBBC/2F]

# ROM images can also be installed as EPROMs which can be updated  
# and will persist any changes made.
#eprom.8000=MYTOOLKIT.ROM

# The keyboard.  This defines the keyboard layout and mode. 
# keyboard.address is the memory address for the keyboard  Default: DF00
# keyboard.layout is the layout: uk (for UK101) or us (for Superboard II)
# keyboard.mode is the initial keyboard input mode: normal or game
keyboard.address=DF00
keyboard.layout=uk
keyboard.mode=normal

# The ACIA.  This defines details of the ACIA.
# acia.address is the memory address for the ACIA  Default: F000
# acia.rate is the baud rate, values: 110, 300, 600, 1200, 2400, 4800, 9600  Default: 300
acia.address=F000
acia.rate=300

# Video RAM configuration.  This defines the size and arrangement of 
# the video RAM, which is not quite the same thing as what appears on
# the display screen (see next section).
# video.address is the memory address for the video RAM  Default: D000
# video.rows is the number of video rows
# video,cols is the number of video columns
video.address=D000
video.rows=16
video.cols=64

# Screen configuration.  This defines the appearance of the display.
# screen.width is the number of visible characters on each line
# screen.offset is the first visible character from each video-RAM row
# screen.colour is the display colour: white, green or amber
# screen.size is the display size, values are 1 (smaller) or 2 (larger)
# screen.update is the type of screen update to use: async or sync
screen.width=50
screen.offset=12
screen.colour=white
screen.size=1
screen.update=async

# Kansas City Standard audio output encoding configuration.
# audio.rate is the encoding sample rate from 8000 to 96000
# audio.bits is the encoding sample size in bits either 8 or 16
# audio.lead is the lead-in/lead-out time in seconds
# audio.wave is the output waveform: system or sine
# audio.phase is the input waveform phase angle: 0, 90, 180 or 270
audio.rate=48000
audio.bits=16
audio.lead=5
audio.wave=system
audio.phase=90
