שתשת                          ?ך            ;-----------------T-------T---------------T----------------------------------T
;-----------------------------------------------------------------------------;
;		           Data area	-;
;-----------------------------------------------------------------------------;

;-----------------------------------------------------------------------------
;------------------------- JumpTable and BSSArea -----------------------------
;-----------------------------------------------------------------------------
	IFD	LocalAssembly


GetValueCall
AssemGetValueC
PrintHex
Print
PrintError
PrintErrorMO
PrintLetter
PrintLetterN
PrintLetterR
WaitVertical
PrintHex8
PrintDec
READMOUSE
INITMOUSE
ClearScreen
ClearLine
InitScreenPts
PrintHeader
PrintHelp
PasteText
SetPointer
CalcNameHash
ChecksumBlock
MCursorDownDO
FlushCache
UDivMod32
UMult32
;---- Values
TrackBuffer
DiskBuffer
WriteBuffer
BlockBuffer

;---- Binary Libs
DisAsmBinary
DiskBinary
HandleVerifyE

	IF	LocalAssembly=1	;Disassembler library

ReadBatClock
UpdateDisk
MotorOff
SaveBlock
SaveBlockAdd
GetBlock
GetBlockToAdd
InitDrive
InitDriveW
InitDriveDOS
InitDriveDOSW
SaveTrack
SaveTrackAdd
SaveRawTrack
ExitDisk
Amiga2Date
LoadTrack
LoadTrackNDec
TimerWait0.1ms
	ENDC

	IF	LocalAssembly=2	;Disk library

DisAssemble
Assemble
	ENDC

	ENDC

;---- Sybols (short access to 32bit vals) ------------------------------------
_LSOTrackBuffer	dc.l	TrackBuffer
_LSODiskBuffer	dc.l	DiskBuffer
_LSOWriteBuffer	dc.l	WriteBuffer
_LSOBlockBuffer	dc.l	BlockBuffer

;---- Screen/Printing related routines ---------------------------------------
_LVOPrintHex8	jmp	PrintHex8
_LVOPrintHex	jmp	PrintHex
_LVOPrintDec	jmp	PrintDec
_LVOPrint	jmp	Print
_LVOClearScreen	jmp	ClearScreen
_LVOClearLine	jmp	ClearLine
_LVOInitScreenPts	jmp	InitScreenPts
_LVOPrintHeader	jmp	PrintHeader
_LVOPrintHelp	jmp	PrintHelp
_LVOMCursorDownDO	jmp	MCursorDownDO
_LVOPrintError	jmp	PrintError
_LVOPrintErrorMO	jmp	PrintErrorMO
_LVOPrintLetter	jmp	PrintLetter
_LVOPrintLetterN	jmp	PrintLetterN
_LVOPrintLetterR	jmp	PrintLetterR

;---- Misc routines ----------------------------------------------------------
_LVOWaitVertical	jmp	WaitVertical
_LVOSetPointer	jmp	SetPointer
_LVOUDivMod32	jmp	UDivMod32
_LVOUMult32	jmp	UMult32

;---- Cache control routines -------------------------------------------------
_LVOFlushCache	jmp	FlushCache

;---- Disk Library -----------------------------------------------------------
_LVOInitDrive	jmp	DiskBinary+$00	;InitDrive
_LVOInitDriveW	jmp	DiskBinary+$04	;InitDriveW
_LVOInitDriveDOS	jmp	DiskBinary+$08	;InitDriveDOS
_LVOInitDriveDOSW	jmp	DiskBinary+$0c	;InitDriveDOSW
_LVOUpdateDisk	jmp	DiskBinary+$10	;UpdateDisk
_LVOMotorOff	jmp	DiskBinary+$14	;MotorOff
_LVOExitDisk	jmp	DiskBinary+$18	;ExitDisk
_LVOLoadTrack	jmp	DiskBinary+$1c	;LoadTrack
_LVOLoadTrackNDec	jmp	DiskBinary+$20	;LoadTrackNDec
_LVOSaveTrack	jmp	DiskBinary+$24	;SaveTrack
_LVOSaveTrackAdd	jmp	DiskBinary+$28	;SaveTrackAdd
_LVOSaveRawTrack	jmp	DiskBinary+$2c	;SaveRawTrack
_LVOSaveBlock	jmp	DiskBinary+$30	;SaveBlock
_LVOSaveBlockAdd	jmp	DiskBinary+$34	;SaveBlockAdd
_LVOGetBlock	jmp	DiskBinary+$38	;GetBlock
_LVOGetBlockToAdd	jmp	DiskBinary+$3c	;GetBlockToAdd
_LVOReadBatClock	jmp	DiskBinary+$40	;ReadBatClock
_LVOAmiga2Date	jmp	DiskBinary+$44	;Amiga2Date
_LVOTimerWait0.1ms jmp	DiskBinary+$48	;TimerWait0.1ms

;---- Disk routines ----------------------------------------------------------
_LVOCalcNameHash	jmp	CalcNameHash
_LVOChecksumBlock	jmp	ChecksumBlock
_LVOHandleVerifyE	jmp	HandleVerifyE

;---- Dis/Assembler ----------------------------------------------------------
_LVOAssemble	jmp	DisAsmBinary
_LVODisAssemble	jmp	DisAsmBinary+4

;---- Input related routines -------------------------------------------------
_LVOGetValueCall	jmp	GetValueCall
_LVOAssemGetValueC jmp	AssemGetValueC
_LVOREADMOUSE	jmp	READMOUSE
_LVOINITMOUSE	jmp	INITMOUSE
_LVOPasteText	jmp	PasteText


;-----------------------------------------------------------------------------
LVOTableStart


; The Label 'B' must be located immediately after the end of this file

B

;----------------------------------------------------
;---- Data about system prior to interrupt
Regs	ds.b	0	;just to get the offset
DataRegs	ds.l	8
AddressRegs	ds.l	8
SuperStack	ds.l	1
UserStack	ds.l	1
StatusReg	ds.w	1
PCReg	ds.l	1
C0Reg	ds.l	1
C1Reg	ds.l	1

Cop0Scanned	ds.l	1	;copper addresses found with scanning
Cop1Scanned	ds.l	1

SysCACR	ds.l	1

EntrySuperStack	ds.l	1
ExceptionStack	ds.l	1
PreCMDStack	ds.l	1	;stackpointer prior to CMD call
ResetStack	ds.l	1	;stack when entering by reset

CPUVBR	ds.l	1
CPUCACR	ds.l	1
FPUFPCR	ds.l	1

CPUType	ds.w	1

OldPrivelege	ds.l	1

ChipMem	ds.l	1	;pointer to chip area to use
ChipBackup	ds.l	1	;this MUST follow ^
ChipSize	ds.l	1	;size of chipmem
MaxChip	ds.l	1	;Max chip address in system

SystemView	ds.l	1
SysEntryCopper0	ds.l	1
SysEntryCopper1	ds.l	1
ExitCopper0	ds.l	1
ExitCopper1	ds.l	1

Time00	ds.l	1	;batt-clock time table
Time01	ds.l	1
Time02	ds.l	1

Delay0.1ms	ds.w	1	;Ticks for 0.1ms CIA timer delay

WatchDogTimeout	ds.w	1	;A3000/A4000 watchdog timeout

SysOrgPC	ds.l	1	;system. NULL if undefined.
SysOrgStack	ds.l	1

KickVersion	ds.w	1	;kickstart version information
KickRevision	ds.w	1

CustomProgram	ds.l	1	;pointer to exit-custom-code/NULL
ExitBeamcon	ds.w	1	;0000(ntsc)/0020(pal)/-1(not set)

;---- Space used by multi-editor
EditMode	ds.b	1
	ds.b	1	;alignment

;---- Space used by dis/assembler
MnemonicBuffer	ds.b	MaxMnemonicLen+3;EVEN check!
CMDWord	ds.w	1
DisSize	ds.b	1	;operand size (default .w)
MnemType	ds.b	1	;
MnemOffset	ds.w	1	;used with ^ to calc mnem# fro brkline
EAD_bitfield	ds.w	1

ForcedSize	ds.w	1	;hi byte flag def. 0-2 = b/w/l
ForcedBDS	ds.b	1	;0-2 b-l/ forced bd size
GotHalfCmd	ds.b	1	;first half of cmd in buffer
ShiftID	ds.w	1	;id bits for shift-cmds!
AssembleStart	ds.l	1	;code assembled to this address
MemoryAddress	ds.l	1	;current dis/assemble address
MemoryAddressAE	ds.l	1	;dump area end
SourceMask	ds.l	1
DestMask	ds.l	1
GetSDBuff	ds.l	1	;buffer for data when calling getsd
EADataS	ds.b	EAD_SizeOf
EADataD	ds.b	EAD_SizeOf
MaxDisLen	ds.w	1	;max length of disassembled cmd
DestPointer	ds.l	1	;poi to start of destination
AssHalfBuf	ds.b	80	;buffer for first half of long cmd
HalfAddress	ds.l	1	;address of first part
DisBreaks	ds.b	1	;buffer for breakline flag
CmdLength	ds.b	1	;length of disassembled cmd (2-22)

DisFlagStore	ds.b	1	;buffer for flags in disassembler
NotValidMnem	ds.b	1	;flag a DC.W disassembly

;---- SymbolData
SymbolTable	ds.b	12*MaxSymbols
SymbolBuffer	ds.b	8

;---- Keyboard reader
KeyRepeat	ds.b	1
KeyDelay	ds.b	1
Control	ds.b	1	;qualifier flags
CurKey	ds.b	1	;current key
LastKey	ds.b	1	;last key (used for cmp in repeat)
UserBreak	ds.b	1	;=T when user hits ESC

;---- Mouse reader
MX	ds.W	1
MY	ds.W	1
MinYPos	ds.w	1
MaxYPos	ds.w	1
MinXPos	ds.w	1
MaxXPos	ds.w	1
OLDX	ds.B	1
OLDY	ds.B	1
OldPointerPos	ds.l	1

LMBNotPressed	ds.b	1	;flag LMB-state of prev frame
LMBClicked	ds.b	1	;count LMB clicks

MarkingText	ds.b	1	;flag active snapper
SnapLine	ds.b	1
SnapColumn	ds.b	1
SSnapLine	ds.b	1	;start line
SSnapColumn	ds.b	1	;- column
PastingText	ds.b	1
PasteTextReady	ds.b	1	;flag text in past-buffer
TextPasted	ds.b	1	;no repeat on paste
SnapDoubleOff	ds.b	1
SnapClicked	ds.b	1	;user 2/3-clicked

PastPointer	ds.l	1

;---- Space used by ScreenLibrary
ScreenMem	ds.l	1	;pointer to screen memory
ScreenMemz	ds.l	1
ScreenMemy	ds.l	1
ScreenPointer	ds.l	1
EditPosBack	ds.w	1	;backup of curpos for editor
HelpPosBack	ds.w	1	;backup of curpos for help
CharPointer	ds.l	1	;pointer to active charbuffer
LineBase	ds.w	1	;offset to current top line
SplitLine	ds.w	1	;actual raster line for split
ScreenBase	ds.l	1	;base of screen memory
BplSize	ds.w	1	;calculated bitmap size
TextLines	ds.w	1	;prefLines
Lines	ds.w	1	;pref-lines*8
StartLine	ds.w	1	;Displaystart+headerhei (+11)
InitLine	ds.w	1	;start line for split
CurXPos	ds.b	1	;cursor xpos;must be at even offset!
CurYPos	ds.b	1	;cursor ypos
CursorBlinkTime	ds.b	1	;timer for cursor blink
HideCursor	ds.b	1	;cursor master enable (1=disabled)
ClearScreenEntry ds.b	1	;set if screen should be cleared at entry
ScreenMode	ds.b	1	;selected screenmode from sm table
DisplayStart	ds.b	1	;first displaylines
LaceMode	ds.b	1	;Signal to vblank:Do some bpl stuff
CursorColor	ds.w	1	;actual cursor color
CursorXOffset	ds.w	1

NFBplPoi	ds.l	1	;next frame bplpoi (set in vblank)
NFPalFix	ds.l	1	;..
NFLineFix2	ds.b	1	;..

CustomScreen	ds.b	1	;ID special sprite behaviour

MouseClickPos	ds.b	1	;signal user want new cursor pos	
PointerXPos	ds.b	1	;these hold the new cursor position
PointerYPos	ds.b	1
WidePalWait	ds.b	1	;select ff71/ffe1 pal wait (f/t)

CursorFlashColor0	ds.w	1	;The two colors used when flashing
CursorFlashColor1	ds.w	1	;the cursor


;---- Space used by DiskLibrary
SystemTracks	ds.w	4	;Systems track position (df0-3)
FirstAccess	ds.b	4	;=-1 if not accessed before
DiskSectorsTab	ds.b	4	;# sectors on disk
DiskSyncTab	ds.l	4	;Disk sync word*2 table
CurrentTrack	ds.w	1	;current track of selected drive
TrackInBuffer	ds.b	1	;1 if track data in buffer
TrackModified	ds.b	1	;1 if trackbuffer has been modified
DiskError	ds.b	1	;returned error (not in v1)
DOSFormat	ds.b	1	;DOSType/-1 for wrong/no disk
LastStepDir	ds.b	1	;flag when disk in selected drive
SelectedDrive	ds.b	1	;selected disk drive 0-3
UsedBlocks	ds.w	1	;# of used blocks on disk
DiskSyncs	ds.l	1	;Disk sync word*2
TrackLenTab	ds.w	4	;Length of track in bytes
TrackLenHTab	ds.w	4	;Length of HD track in bytes
TrackLen	ds.w	1	;TrackLength of current disk
WriteTrackNo	ds.w	1	;track in writebuffer
SectorTable	ds.b	22	;flags for filled sectors in save track
SectorCount	ds.l	1	;flags for accounted-for secs in read 1
DiskSectors	ds.b	1	;#sectors for selected drive
DiskInfoFlag	ds.b	1	;if true, initdrive will return with error
DiskErrRetries	ds.b	1	;counter for track-read errors (retry)
FastFileSystem	ds.b	1	;flags OFS/FFS datablock
ROOTBlock	ds.w	1	;ROOT-block location on disk (880(*2))
MaxBlock	ds.w	1	;top-block number (1760(*2))
CDTable	ds.w	4	;ptrs to current dir of each drive
CDTableBackup	ds.w	4	;location must follow ^
CurrentDir	ds.w	1
SelectedDriveB	ds.b	1	;SelectedDrive backup
DiskDMADirection	ds.b	1	;for header info usage (0=w. 1=r)
BMPageBlock	ds.w	1	;BM block
HeaderDiskInfo	ds.b	1	;flag update diskdisplay in header (vblank)
CurrentSector	ds.b	1	;for use in ^ (-1 when reading/writing)

EyeSectorTable	ds.b	22	;this is just eye cream!
IRQSecPos	ds.b	1
DiskVerify	ds.b	1	;true if write verify is wanted

;---- Space used by DiskRoutines
DirCacheBlk	ds.l	1	;blkptr to first DC-block (dos:b2=true)
AbsSaveStart	ds.l	1	;abs save start address

AbsLoadLen	ds.b	0	;len of abs load/-1=disabled
AbsSaveLen	ds.l	1	;length of data to be saved

AbsLoadAddr	ds.l	1	;abs load address
AbsSaveEnd	ds.l	1	;abs save end

NextFileBlock	ds.l	1	;extension for large files/0
FileHeaderBlock	ds.l	1	;fileheader block of file to be saved

FileNameBuffer	ds.b	32	;BCPL names of max 32 bytes
	ds.b	2	;end with NULL
FileNameHash	ds.w	1	;calculated hash
FileUpdatePos	ds.w	1	;cursor pos of load/save text update

LenOffCacheBreak	ds.w	1	;length offset in cache (changes if user breaks saving)
CacheBlock	ds.w	1	;^

FormatLong	ds.l	1

;---- Space used by Header Input Routine
HCurXPos	ds.b	1
HXPosOffset	ds.b	1
HLastLetter	ds.b	1
HMaxXPos	ds.b	1
HeaderAddress	ds.l	1
HeadIniText	ds.l	1

;---- Flags
InsertOverwrite	ds.b	1	;1=insert
LastCMDError	ds.b	1	;Flag error in last command (1=error)

;---- MemoryPeeker
PeekerLines	ds.w	1	;how many lines to update
PeekerModulo	ds.w	1	;modulo in bytes (even)

PeekerWidth	ds.b	1	;Width in words (0-39)
	ds.b	1

RAMBankStart	ds.l	1
RAMBankEnd	ds.l	1

;---- MISC
IntTraceCount	ds.l	1	;#traces in each check iteration
IntTraceCounter	ds.l	1	;counter (for ^)


GURUEntry	ds.b	1	;Signal Reset entry bcoz of GURU
PALMachine	ds.b	1	;ID PAL/NTSC native chips
AGAMachine	ds.b	1	;ID AGA native chips
BltChip	ds.b	1	;Actual Agnus/Alice number
GFXChip	ds.b	1	;Actual Denise/Lisa number
	ds.b	1

BusErrorRoutine	ds.l	1	;routine to be called if a BERR occurs
BusErrorStack	ds.l	1	;Correct stack pointer at BERR

EntryMode	ds.b	1	;type of entry (system/reset/NMI...)
EntryModeSC	ds.b	1	;type of entry (backup at subcall)
ColdResetEntry	ds.b	1	;System reset handling enabled?
BlankFlag	ds.b	1	;Cleared each frame. Used for some timing

SubCallMode	ds.b	1	;flag -> exit should be subroutinecall
ReprintHeader	ds.b	1	;flags error-text in header
LastCommand	ds.w	1	;used to repeat commands
LinesType	ds.b	1	;repeat type
HexDumpSize	ds.b	1	;0/1/2 b/w/l
NewSymbol	ds.l	1	;buffer for new symbol value
ErrorXPos	ds.b	1

GetValueReturn	ds.b	1	;flag forced return from GetValue
GetValueAssem	ds.b	1	;flag assembler GetValue call

DebugCounter	ds.b	1	;in debugging-mode a !0 will cause
			;red screen.

LastErrorNumber	ds.w	1	;contains value of last error
ResumeCommand	ds.b	1	;number of command to resume (-1=none)
DisplayHelp	ds.b	1	;1=display help in editors
LoopCounter	ds.w	1	;to spare one register when needed
ExitFlag	ds.b	1	;flag'd by irq if exitbox pressed
MoreLines	ds.b	1
BreakOutAddress	ds.l	1	;PC prior to BreakOut
ExitStat	ds.l	1	;describe status at exit
CopSearchOffset	ds.l	1	;Copper search offset
GrabbingSupport	ds.b	1	;ID the grabbing support
FirstEntry	ds.b	1	;Signal if this is first entry
FirstGfxEntry	ds.b	1	;Signal if GRPic should be showed
	ds.b	1

DoBruteCopSearch ds.b	1	;flag for brute search
ActiveCopper	ds.b	1	;which copper to start at exit (0/<>0)

DepackStart	ds.l	1
DepackEnd	ds.l	1
DepackDest	ds.l	1

DateBuffer	ds.w	7	;buffer for date2amiga convertion

;---- BreakPoints
BreakPointCount	ds.b	1	;#BP = -1(none)-15 (16)
BPRegister	ds.b	1	;Trap-number (0-15)
OrgBPVector	ds.l	1	;Ptr to trap-vector

OrgNMIVector	ds.l	1	;copy of NMIvector if patched
NMIPatched	ds.b	1	;flag if NMI is patched
	ds.b	1

;---- Mark (0-9) table
MarkTable	ds.l	10	;10 addresses

;---- Find
AddressBuffer1	ds.l	MaxAddresses
AddressCount	ds.b	1
ABPointer	ds.b	1
FindTextBuffer	ds.b	32
	ds.b	32	;for altered case
StartAddress	ds.l	1
EndAddress	ds.l	1
DestAddress	ds.l	1
FindLength	ds.b	1	;length of search string
FindJoker	ds.b	1	;joker
FindCase	ds.b	1	;case insensitive if =1
FindFound	ds.b	1	;set =1 if anything found
UpdateTime	ds.l	1	;timer for progress bar
NOTHunting	ds.b	1	;flag type of FIND is running
	ds.b	1

;---- History
HistoryPointer	ds.b	1	;pointer to actual line
HistoryCount	ds.b	1	;flag for lines in buffer 0=none

;---- Space used by HexDumpEditor
HexEditYPos	ds.b	1	;ypos
HexEditNPos	ds.b	1	;nibble position
HexEditHexO	ds.b	1	;offset for Hex
HexEditASCIIO	ds.b	1	;offset for ASCII
HexEditColumn	ds.b	1	;position for ASCII

ASCIIEditBPos	ds.b	1	;byte pos
ASCIIEditO	ds.b	1	;xpos offset

MarkArea	ds.b	1	;1=marking address
MarkAreaValid	ds.b	1	;is mark addresses valid

DiseditOneDown	ds.b	1	;DisassembleEditor, request for 1 down

MarkAddress	ds.l	1	;address of start-mark
MarkAddressEnd	ds.l	1	;end of area

;---- Space used by disassemble editor
	ds.l	2*4	;buffer for extra lines
DisEditorTable	ds.l	4*[MaxLines]
	ds.l	2*4	;buffer for extra lines
	ds.b	1	;lines to be printed above cursor
DisWidth	ds.b	1	;chars for disassembly
BreakOffset	ds.l	1	;address of textoutput (after add&CPU)
DisassemBase	ds.l	1	;base when disassembling backwards
NextYPos	ds.b	1	;ypos of following (prev) cmd
DisEditO	ds.b	1	;xpos
DisTableAddress	ds.l	1	;ptr to center of DisTable
DisEditCurXPos	ds.w	1	;xpos when editing in diseditor
DisEditMaxXPos	ds.w	1	;xpos of last char in string

;---- Space used by editors
TopAddress	ds.l	1	;address at top
BottomAddress	ds.l	1	;address at bop
CurrentAddress	ds.l	1	;address at cursor (only y. x in BPos)
CurrentByte	ds.b	1	;contents of Memory Address

NestedJumps	ds.b	1	;count of nested jumps (0..max-1)
NestedJMPTable	ds.l	MaxNested

;---- Buffers

TextLineBuffer	ds.b	80+10	;buffer for screen output (+some for pc)
InputLine	ds.b	80
	ds.b	80	;extra space for DisEditor usage
DecConvertBuf	ds.b	12	;10 bytes for convert to dec-text
DumpBuffer	ds.b	160



;-----------------------------------------------------------------------------;
;		        Preference Area	-;
;-----------------------------------------------------------------------------;

pref_Revision=9

	dc.w	pref_Revision
	dc.w	pr_SizeOf-DefaultPrefs
LoadedPrefs	dc.b	'CFG!'	;ID field. Used by LoadGR
			;Will be changed to 'USER' if prefs
			;was loaded

DefaultPrefs:
;---- Display Prefs
pr_ScreenColor0	dc.w	$448	;screen background color
pr_ScreenColor1	dc.w	$ccc	;screen text color
pr_HeaderColor0	dc.w	$446	;header background color
pr_HeaderColor1	dc.w	$ddd	;header text color
pr_CursorColor	dc.w	$d80	;Cursor color
	dc.w	$0
pr_ColorP1	dc.w	$f00	;Pointer color
pr_ColorP2	dc.w	$b00	;Pointer color

	dc.b	0
	dc.b	0

pr_ClearPointer	dc.b	~0	;clear pointer at key-prez?
pr_DiskVerify	dc.b	~0	;Verify when writing to disk

;---- Input Prefs
pr_KeyRepeat	dc.b	1	;keyboard repeat
pr_KeyDelay	dc.b	20	;keyboard delay
pr_CursorRate	dc.b	2
	dc.b	0

;---- Dis/Assembler Prefs
pr_BreakLine	dc.b	%101101	;mask for inserting line after cmds
pr_BreakLineEd	dc.b	%000000	;mask for inserting line after cmds in editor
pr_LeadingZeros	dc.b	~0	;suppress leading zeros
pr_ShortAddress	dc.b	0	;only print addresses with 6 digits
pr_Indirect	dc.b	0	;display indirect addresses (5/6th col)
pr_PrintASCII	dc.b	~0	;also print ASCII letters of DC.W value
pr_NegOffsets	dc.b	~0	;print negative offsets like -abs(off)
pr_DumpLines	dc.b	10	;dump how many lines?
pr_DisassemNext	dc.b	~0	;disassemble next after lineassemble?
pr_ShowCPU	dc.b	0	;show CPUType in editor.
pr_LongUpDis	dc.b	0	;backwards disassembly seek 22-32 bytes
	dc.b	0

;---- Peeker prefs
pr_PeekerLines	dc.w	23*2-1	;min is ntsc

pr_RAMBank	dc.l	0
	dc.l	$200000-1
	dc.l	$f80000
	dc.l	$1000000-1
	dc.l	$7800000
	dc.l	$8000000-1
	dcb.l	3*2	;two extra banks

pr_BankEntries	dc.b	3-1
	dc.b	0

;---- Misc Prefs
pr_Prompt	dc.b	'>'	;command line prompt
pr_NonASCII	dc.b	'_'	;displayed instead of NON ascii chars
pr_SelectedDrive	dc.b	0	;selected drive at entry
pr_TextJoker	dc.b	'?'
pr_InsertOW	dc.b	~0	;start with insert/overwrite (0/-1)
pr_ProgressBar	dc.b	~0	;progress bar
pr_WorkArea	dc.l	$f0000	;start of chip-work
	ifnd	Jes
pr_CopSearchOff	dc.l	$200	;default copper search offset
	else
pr_CopSearchOff	dc.l	0	;default copper search offset disabled!
	endc

pr_DiskSync	dc.w	$4489
pr_DDTrackLen	dc.w	DBSize
pr_HDTrackLen	dc.w	DBSize*2+32
pr_DiskRetries	dc.b	1+2	;2 retries before error

pr_ResetEntry	dc.b	re_RightMouse
pr_NMIROMCheck	dc.b	~0

pr_PasteKey	dc.b	'<'

pr_FixKeyboard	dc.b	~0	;system entry will clear keyboard matrix

pr_BitMapRes	dc.b	'#'	;BitMap reserved
pr_BitMapFree	dc.b	'+'	;BitMap Free
pr_BitMapUsed	dc.b	'X'	;BitMap Used

pr_ClearScreen	dc.b	0	;Clear screen at entry

pr_ScreenMode	dc.b	4	;Default screen mode


mon_Name=	0
mon_textlines=	$20
mon_custom=	$21
mon_diwstrt=	$22
mon_diwstop=	$24
mon_ddfstrt=	$26
mon_ddfstop=	$28
mon_beamcon0=	$2a
mon_bplcon0=	$2c
mon_hbstrt=	$2e
mon_hbstop=	$30
mon_hsstrt=	$32
mon_hsstop=	$34
mon_htotal=	$36
mon_hcenter=	$38
mon_vbstrt=	$3a
mon_vbstop=	$3c
mon_vsstrt=	$3e
mon_vsstop=	$40
mon_vtotal=	$42
mon_diwhigh=	$44
mon_SysView=	$46
mon_Filler=	$47	;!Free!
mon_SizeOf=	$48


pr_Monitors	dc.b	'PAL:High Res (29 lines)',0,0,0,0,0,0,0,0,0
	dc.b	29	;mon_textlines
	dc.b	0	;mon_custom
	dc.w	$2c81	;mon_diwstrt
	dc.w	$00c1	;mon_diwstop
	dc.w	$003c	;mon_ddfstrt
	dc.w	$00d4	;mon_ddfstop
	dc.w	$0020	;mon_beamcon0
	dc.w	$9200	;mon_bplcon0
	dc.w	$0	;mon_hbstrt
	dc.w	$0	;mon_hbstop
	dc.w	$0	;mon_hsstrt
	dc.w	$0	;mon_hsstop
	dc.w	$0	;mon_htotal
	dc.w	$0	;mon_hcenter
	dc.w	$0	;mon_vbstrt
	dc.w	$0	;mon_vbstop
	dc.w	$0	;mon_vsstrt
	dc.w	$0	;mon_vsstop
	dc.w	$0	;mon_vtotal
	dc.w	$0	;mon_diwhigh
	dc.b	~0
	dc.b	0

	dc.b	'NTSC:High Res (23 lines)',0,0,0,0,0,0,0,0
	dc.b	23	;mon_textlines
	dc.b	0	;mon_custom
	dc.w	$2c81	;mon_diwstrt
	dc.w	$00c1	;mon_diwstop
	dc.w	$003c	;mon_ddfstrt
	dc.w	$00d4	;mon_ddfstop
	dc.w	$0000	;mon_beamcon0
	dc.w	$9200	;mon_bplcon0
	dc.w	$0	;mon_hbstrt
	dc.w	$0	;mon_hbstop
	dc.w	$0	;mon_hsstrt
	dc.w	$0	;mon_hsstop
	dc.w	$0	;mon_htotal
	dc.w	$0	;mon_hcenter
	dc.w	$0	;mon_vbstrt
	dc.w	$0	;mon_vbstop
	dc.w	$0	;mon_vsstrt
	dc.w	$0	;mon_vsstop
	dc.w	$0	;mon_vtotal
	dc.w	$0	;mon_diwhigh
	dc.b	~0
	dc.b	0

	dc.b	'PAL:High Res Lace (51 lines)',0,0,0,0
	dc.b	51	;mon_textlines
	dc.b	0	;mon_custom
	dc.w	$2c81	;mon_diwstrt
	dc.w	$00c1	;mon_diwstop
	dc.w	$003c	;mon_ddfstrt
	dc.w	$00d4	;mon_ddfstop
	dc.w	$0020	;mon_beamcon0
	dc.w	$9204	;mon_bplcon0
	dc.w	$0	;mon_hbstrt
	dc.w	$0	;mon_hbstop
	dc.w	$0	;mon_hsstrt
	dc.w	$0	;mon_hsstop
	dc.w	$0	;mon_htotal
	dc.w	$0	;mon_hcenter
	dc.w	$0	;mon_vbstrt
	dc.w	$0	;mon_vbstop
	dc.w	$0	;mon_vsstrt
	dc.w	$0	;mon_vsstop
	dc.w	$0	;mon_vtotal
	dc.w	$0	;mon_diwhigh
	dc.b	~0
	dc.b	0

	dc.b	'NTSC:High Res Lace (46 lines)',0,0,0
	dc.b	46	;mon_textlines
	dc.b	0	;mon_custom
	dc.w	$2c81	;mon_diwstrt
	dc.w	$00c1	;mon_diwstop
	dc.w	$003c	;mon_ddfstrt
	dc.w	$00d4	;mon_ddfstop
	dc.w	$0000	;mon_beamcon0
	dc.w	$9204	;mon_bplcon0
	dc.w	$0	;mon_hbstrt
	dc.w	$0	;mon_hbstop
	dc.w	$0	;mon_hsstrt
	dc.w	$0	;mon_hsstop
	dc.w	$0	;mon_htotal
	dc.w	$0	;mon_hcenter
	dc.w	$0	;mon_vbstrt
	dc.w	$0	;mon_vbstop
	dc.w	$0	;mon_vsstrt
	dc.w	$0	;mon_vsstop
	dc.w	$0	;mon_vtotal
	dc.w	$0	;mon_diwhigh
	dc.b	~0
	dc.b	0

	dc.b	'MSCAN:Productivity (51 lines)',0,0,0
	dc.b	51	;mon_textlines
	dc.b	~0	;mon_custom
	dc.w	$2c41	;mon_diwstrt
	dc.w	$00e5	;mon_diwstop
	dc.w	$0020	;mon_ddfstrt
	dc.w	$0068	;mon_ddfstop
	dc.w	$1b88	;mon_beamcon0
	dc.w	$1241	;mon_bplcon0
	dc.w	$0001	;mon_hbstrt
	dc.w	$0021	;mon_hbstop
	dc.w	$000e	;mon_hsstrt
	dc.w	$0018	;mon_hsstop
	dc.w	$0071	;mon_htotal
	dc.w	$0046	;mon_hcenter
	dc.w	$0000	;mon_vbstrt
	dc.w	$001d	;mon_vbstop
	dc.w	$0003	;mon_vsstrt
	dc.w	$0005	;mon_vsstop
	dc.w	$01ce	;mon_vtotal
	dc.w	$0100	;mon_diwhigh
	dc.b	0
	dc.b	0

;pr_fill	dc.b	0

pr_SizeOf

;not defined in prefs. Calculated with CursorRate and CursorSpeedTable!
;must be in this order!!!! write to pr_CursorOff.W in GR startup
pr_CursorOff	dc.b	5	;periode with cursor off
pr_CursorOn	dc.b	10	;periode with cursor on (neg=always)

GhostRiderBSSS	ds.b	0
GS	ds.b	0	;just for easy print


