  .rsset  $0000
sourceLo          .rs 1   ;must be 0 page
sourceHi          .rs 1   ;must be 0 page
destLo            .rs 1   ;must be 0 page
destHi            .rs 1   ;must be 0 page
sourceStrLo       .rs 1   ;must be 0 page
sourceStrHi       .rs 1   ;must be 0 page
sourceEntryLo     .rs 1   ;must be 0 page
sourceEntryHi     .rs 1   ;must be 0 page
destEntryLo       .rs 1   ;must be 0 page
destEntryHi       .rs 1   ;must be 0 page
printAddrLo       .rs 1   ;must be 0 page
printAddrHi       .rs 1   ;must be 0 page

tempEntry         .rs 34
destBank          .rs 1
cursorX           .rs 1
cursorY           .rs 1
scrollY           .rs 1
scrollYCounter    .rs 1
scrollYUp         .rs 1
scrollYDown       .rs 1
cursorYCounter    .rs 1
cursorYUp         .rs 1
cursorYDown       .rs 1
speedCounter      .rs 1
speedScroll       .rs 1
printY            .rs 1
spriteNum         .rs 1

partitionLBABegin .rs 4   ;sector number of beginning of partition
fatBeginLBA       .rs 4   ;sector number of beginning of fat table
clusterBeginLBA   .rs 4   ;sector number of beginning of data, cluster #2
sectorsPerCluster .rs 1   ;number of sectors per cluster (8 sectors for 4KB cluster)
rootDirCluster    .rs 4   ;cluster number of root directory, 0 for fat16
baseDirCluster    .rs 4   ;cluster number of POWERPAK directory
sectorsPerFat     .rs 4   ;number of sectors in each fat, 2 fats assumed
reservedSectors   .rs 2   ;number of reserved sectors
sectorCounter     .rs 2
sourceCluster     .rs 4
sourceSector      .rs 4
fat32Enabled      .rs 1 
fat16RootSectors  .rs 2   ;number of sectors in the root dir, (root dir entries * 32) / 512 bytes

prevFrameCounter  .rs 1
frameCounter      .rs 1
joystick          .rs 1

findEntry         .rs 11
exMatch1          .rs 4
exMatch2          .rs 4
exMatch3          .rs 4
selectedEntry     .rs 2
filesInDir        .rs 2
lfnFound          .rs 1

printString       .rs 34
temp              .rs 4
source256         .rs 1
sourceBytes       .rs 1

gameName          .rs 32
saveName          .rs 32
mapperData        .rs 16
gameCluster       .rs 4
wramCluster       .rs 4
mapperCluster     .rs 4
prgSize           .rs 1   ;how many 16KB banks
chrSize           .rs 1   ;how many  8KB banks
mapperNumber      .rs 1   ;mapper number in hex
mirroring         .rs 1   ;0x0=horiz, 0x1=vert, 0x8=four
mapperModule      .rs 2
powerOn           .rs 1
useBattery        .rs 1   ;00=no battery, 01=use battery must save wram
wramBanks         .rs 1   ;0=1x8KB bank, 2/4 others expected

gameGenie         .rs 40  ;5x8 chars
gameGenieOffset   .rs 1
gameGenieCodes    .rs 40  ;8 bytes x 5 codes   addresslo, addresshi, newdata, comparedata, enable8, junk, junk, junk
arcadeDip         .rs 1
moduleReady       .rs 1
bankCounter       .rs 1
romVers           .rs 3



;;added in 1.33
oldButtons        .rs 1
heldButtons       .rs 1
scrollHoldTimer   .rs 1

searchEntry       .rs 34


messagePP         = $00
messageNOCARD     = $01 
messageNOTREADY   = $02
messageBADFORMAT  = $03
messageREADERR    = $04
messageWRITEERR   = $05
messageNOTFOUND   = $06
messageLOADDIR    = $07
messageLOADRAM    = $08
messageGG         = $09
messageWEBSITE    = $0A
messageSTARTGAME  = $0B
messageLOADGAME   = $0C
messageBADHEADER  = $0D
messageDISKDUDE   = $0E
messageSAVINGRAM  = $0F
messageCARDBUSY   = $10







;variables      = $0000-00FF   256 bytes
;stack          = $0100-01FF   256 bytes
;sector         = $0200-0400   512 bytes
;modules        = $0400-0800  1024 bytes    0400 = module start vector   0404 = controller vector


;******************

;5xxx range
;(/ce=1 nand A14=1)=0 booten=1 a13=0  a12=1(sel) a11=sel a10=sel
;remove boot/en invert
;mapper /wr = prg/ce=clk  (exp0=1 nand)or r/w=0 = /load

;0100 xxxx = $4xxx = do not use
;0101 0000 = $50xx = card /rd
;0101 0100 = $54xx = card /wr
;0101 1000 = $58xx = /program
;0101 1100 = $5Cxx = fpga /cs

;*******************
  

FPGADATA        = $5C00
FPGAPROGRAM     = $5800
MAPPERWR        = $8000   ;;switch bank here


PRGBANK         = $4200   ; registers in the loader fpga config
CHRBANK         = $4201

PRGSIZEWR       = $4200
CHRSIZEWR       = $4201
MIRRORINGWR     = $4202
ARCADEWR        = $4203  ;;used for WRAM size
GAMEGENIEWR     = $4204
BOOTENWR        = $4207
FPGAREAD        = $4208
FPGAREADLO      = $08
FPGAREADHI      = $42



;********************;   pdf p113
; CF                  A10  A3  A2  A1  A0  /REG
; NES                 gnd  A3  A2  A1  A0  vcc
;
; data read                0   0   0   0       xxx0
; error                    0   0   0   1       xxx1
; status                   0   1   1   1       xxx7
;
; data write               0   0   0   0       xxx0
; sector count             0   0   1   0       xxx2
; lba 0                    0   0   1   1       xxx3
; lba 1                    0   1   0   0       xxx4
; lba 2                    0   1   0   1       xxx5
; lba 3                    0   1   1   0       xxx6
; command                  0   1   1   1       xxx7
; device                   1   1   1   0       xxxE
;
;*********************;


CARDDATAREAD    = $5000
CARDERROR       = $5001
CARDSTATUS      = $50F7

CARDDATAWRITE   = $5400
CARDSECTORCOUNT = $5402
CARDLBA0        = $5403
CARDLBA1        = $5404
CARDLBA2        = $5405
CARDLBA3        = $5406
CARDCOMMAND     = $5407
CARDDEVICE      = $540E

ROMVERS1        = '1'
ROMVERS2        = '.'
ROMVERS3        = '2'
ROMVERS4        = '0'
