$4000	PFNSTART	entry point for entire program
$4003	DISPDIR	reload catalog and wait for next event
$4006	DISPDIRS	reload catalog with same file selected and wait for next event
$4009	DISP	redraw the screen and wait for next event
$400C	DISP0	redraw starting with the prefix and wait for next event
$400F	DISPCAT	redraw the catalog and wait for next event
$4012	DISPCAT2	redraw the catalog over the existing one and wait for next event
$4015	KBDLOOP	wait for next event
$4018	ISNTUPER	start of keyboard checklist; this is used to patch the keyboard, since each check is exactly 7 bytes long
$401B	READDIR	read the current directory into the catalog
$401E	PRINTCAT	print the catalog
$4021	DISKSPC	recalculate disk space
$4024	KRSTDISP	completely reload the screen, 80-column mode and all
$4027	A80COLON	turn 80-columns on
$402A	A80COLOFF	turn 80-columns off
$402D	TEXT	text mode
$4030	LOWRESGR	lo-res mode
$4033	DBLOWRES	double lo-res mode
$4036	HIRESGR	hi-res mode
$4039	DBLHIRES	double hi-res mode
$403C	MAINMEM	main memory access
$403F	AUXMEM	auxiliary memory access
$4042	NORMAL	normal video
$4045	INVERSE	inverse video
$4048	CLRSCRN	clear screen
$404B	SETPOS	set cursor position in X and Y
$404E	TXTUNWDW	set text window to whole screen
$4051	TXTWINDW	set text window to inside lines
$4054	TXTPRWDW	set text window to bottom line (prompt line)
$4057	PRINTSTR	print a string with address in X,Y
$405A	PRSTR6F	print a string in $6F00
$405D	PRHISTXY	print a string with address in X,Y, high or low ascii
$4060	PRHISTR	print a string in $6F00, high or low ascii
$4063	PRINTCR	print carriage return
$4066	BEEP	beep
$4069	SMILE	display a smiley face at the bottom of the screen for two seconds
$406C	XPERIODS	print periods; number in X
$406F	PRINTNUM	print a number in X,Y
$4072	PRNMDIV2	print a number in X,Y divided by 2; ".5" is printed if the number is odd
$4075	MINIED24	print leftmost two decimal digits of X
$4078	HEXSTRNG	convert string of hex digits in $6F00 to 5-byte big-endian number in $EB-$EF
$407B	STREQU	compare Pascal strings, case-sensitive; addresses of strings in $FA-$FD, zero flag set if strings are equal
$407E	STREQI	compare Pascal strings, case-insensitive; addresses of strings in $FA-$FD, zero flag set if strings are equal
$4081	PRINTYPE	print ProDOS file type in X
$4084	PRDATIME	print date and time in ProDOS format in $FA-$FD
$4087	PFNPRMPT	ask for user input; address of prompt string in X,Y, number of dots in A, input at $6F00
$408A	GETCHAR	get a character; input in A
$408D	GETLINE	get a line of keyboard input; input in $200
$4090	GETLN6F	get a line of keyboard input; input in $6F00
$4093	GETFADDR	get the address of a file's catalog entry; file number in X, address returned in $CE-$CF
$4096	GETPRFX	get current prefix in $6F00
$4099	SETPRFX	set current prefix to $6F00
$409C	CHEKPRFX	check current prefix; if we're at the ONLINE level, carry is set; current prefix is in $6F00
$409F	GETNAME	get name of currently selected file in $6F00
$40A2	GETPATH	get full path to currently selected file in $6F00
$40A5	FINDDEVN	find a volume's device number; path to or name of volume in $6F00, device number returned in A and X
$40A8	CLEARPGE	clear page Y of memory
$40AB	CLEARBUF	clear $2000-$3FFF
$40AE	CLRBUF2	clear $1900-$3FFF
$40B1	XFERFREF	transfer directory entry to catalog entry; address of dir entry at $06-$07, address of cat entry at $CE-$CF
$40B4	XFERGR	transfer lo-res graphics from $800 to $400 without touching screen holes
$40B7	XFERGRA	transfer lo-res graphics from main $800 to auxiliary $400 without touching screen holes
$40BA	XFERAUXH	transfer main $2000-$3FFF to auxiliary $2000-$3FFF
$40BD	PROTDHR	protect DHR auxiliary memory from being overwritten by files in RAM disk
$40C0	DPROTDHR	unprotect DHR auxiliary memory
$40C3	STDRTS
$40C6	STDRTS
$40C9	STDRTS
$40CC	STDRTS
$40CF	STDRTS
$40D2	STDRTS
$40D5	STDRTS
$40D8	STDRTS
$40DB	STDRTS
$40DE	STDRTS
$40E1	STDRTS
$40E4	STDRTS
$40E7	STDRTS
$40EA	STDRTS
$40ED	STDRTS
$40F0	DBGERR0	make "Blocks Available" display the current value of A
$40F3	DBGERR1	make "Blocks Used" display the current value of A
$40F6	DBGERR2	make "Blocks Total" display the current value of A
$40F9	LAUNCHSYS	transfer control to SYS file; path in $6F00
$40FC	PFNQUIT	quit ProDOS File Navigator