From dfe92c86ff93da75c39dec41963a71a0f310d4f2 Mon Sep 17 00:00:00 2001 From: shazz Date: Fri, 28 Dec 2018 10:31:15 -0500 Subject: [PATCH 1/2] Kernal v2 patch from Ray The patch was simple I just took the screen clear routine from the v3 KERNAL ROM and incorporated that into FB64 so that screen RAM is filled with the foreground color no matter which KERNAL version you actually have. --- CBM-FileBrowser_v1.6/sources/CBM-FileBrowser.asm | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/CBM-FileBrowser_v1.6/sources/CBM-FileBrowser.asm b/CBM-FileBrowser_v1.6/sources/CBM-FileBrowser.asm index 95c24c2..f561a86 100644 --- a/CBM-FileBrowser_v1.6/sources/CBM-FileBrowser.asm +++ b/CBM-FileBrowser_v1.6/sources/CBM-FileBrowser.asm @@ -726,6 +726,18 @@ jsr CHROUT !if clearscrena = 1 { jsr CLEARSCREEN +; Set text color for C64 with V2 KERNAL +!if target = 64 { + lda #forecolor2 + ldx #$00 +loop + sta color,x + sta color+256,x + sta color+512,x + sta color+768,x + dex + bne loop +} !if target = 20 & forecolor2 <> 1 & forecolor2 < 8 { ;Set foreground char color if not white (NOT REQUIRED FOR C64) From 9c2d8836518cf8d492d621540e0298472160d012 Mon Sep 17 00:00:00 2001 From: shazz Date: Fri, 28 Dec 2018 11:02:58 -0500 Subject: [PATCH 2/2] Added dependencies for assembling with ACME --- .../sources/CBM-FileBrowser.bat | 275 ++++++++++++++++++ CBM-FileBrowser_v1.6/sources/Makefile | 32 ++ CBM-FileBrowser_v1.6/sources/c128.asm | 7 + CBM-FileBrowser_v1.6/sources/c128.def | 161 ++++++++++ CBM-FileBrowser_v1.6/sources/c16.asm | 7 + CBM-FileBrowser_v1.6/sources/c16.def | 161 ++++++++++ CBM-FileBrowser_v1.6/sources/c64.asm | 7 + CBM-FileBrowser_v1.6/sources/c64.def | 163 +++++++++++ CBM-FileBrowser_v1.6/sources/c64dtv.asm | 7 + CBM-FileBrowser_v1.6/sources/c64dtv.def | 163 +++++++++++ CBM-FileBrowser_v1.6/sources/fb.txt | 32 ++ CBM-FileBrowser_v1.6/sources/vic20-3k.asm | 7 + CBM-FileBrowser_v1.6/sources/vic20-3k.def | 164 +++++++++++ CBM-FileBrowser_v1.6/sources/vic20-8k.asm | 7 + CBM-FileBrowser_v1.6/sources/vic20-8k.def | 164 +++++++++++ CBM-FileBrowser_v1.6/sources/vic20-mc.asm | 7 + CBM-FileBrowser_v1.6/sources/vic20-mc.def | 164 +++++++++++ CBM-FileBrowser_v1.6/sources/vic20-unexp.asm | 7 + CBM-FileBrowser_v1.6/sources/vic20-unexp.def | 164 +++++++++++ 19 files changed, 1699 insertions(+) create mode 100644 CBM-FileBrowser_v1.6/sources/CBM-FileBrowser.bat create mode 100644 CBM-FileBrowser_v1.6/sources/Makefile create mode 100644 CBM-FileBrowser_v1.6/sources/c128.asm create mode 100644 CBM-FileBrowser_v1.6/sources/c128.def create mode 100644 CBM-FileBrowser_v1.6/sources/c16.asm create mode 100644 CBM-FileBrowser_v1.6/sources/c16.def create mode 100644 CBM-FileBrowser_v1.6/sources/c64.asm create mode 100644 CBM-FileBrowser_v1.6/sources/c64.def create mode 100644 CBM-FileBrowser_v1.6/sources/c64dtv.asm create mode 100644 CBM-FileBrowser_v1.6/sources/c64dtv.def create mode 100644 CBM-FileBrowser_v1.6/sources/fb.txt create mode 100644 CBM-FileBrowser_v1.6/sources/vic20-3k.asm create mode 100644 CBM-FileBrowser_v1.6/sources/vic20-3k.def create mode 100644 CBM-FileBrowser_v1.6/sources/vic20-8k.asm create mode 100644 CBM-FileBrowser_v1.6/sources/vic20-8k.def create mode 100644 CBM-FileBrowser_v1.6/sources/vic20-mc.asm create mode 100644 CBM-FileBrowser_v1.6/sources/vic20-mc.def create mode 100644 CBM-FileBrowser_v1.6/sources/vic20-unexp.asm create mode 100644 CBM-FileBrowser_v1.6/sources/vic20-unexp.def diff --git a/CBM-FileBrowser_v1.6/sources/CBM-FileBrowser.bat b/CBM-FileBrowser_v1.6/sources/CBM-FileBrowser.bat new file mode 100644 index 0000000..47b8f0c --- /dev/null +++ b/CBM-FileBrowser_v1.6/sources/CBM-FileBrowser.bat @@ -0,0 +1,275 @@ +@echo off +:menu +cls +echo. +echo ÉÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ» +echo º CBM FileBrowser compile º +echo ÌÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ͹ +echo º º +echo º Select system: º +echo º ----------------- º +echo º 1 - C64 º +echo º 2 - C64 DTV º +echo º 3 - Vic20 unexpanded º +echo º 4 - Vic20 +3k ram º +echo º 5 - Vic20 +8k ram or plus º +echo º 6 - Vic20 with Mega-Cart º +echo º 7 - C16/C116/Plus4 (264 series) º +echo º 8 - C128 º +echo º º +echo º 0 - quit º +echo º º +echo ÈÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍͼ +echo. + +set /p system= System: + +if "%system%"=="1" goto system1 +if "%system%"=="2" goto system2 +if "%system%"=="3" goto system3 +if "%system%"=="4" goto system4 +if "%system%"=="5" goto system5 +if "%system%"=="6" goto system6 +if "%system%"=="7" goto system7 +if "%system%"=="8" goto system8 +if "%system%"=="0" goto quit +goto menu + + + +:system1 + +rem ************************** +rem * Commodore 64 (c64.asm) * +rem ************************** + +cls +echo. +echo Compiling CBM FileBrowser for: +echo 1 - C64 +echo. +echo acme --cpu 6502 -f cbm -o fb64.prg c64.asm +echo. + +acme --cpu 6502 -f cbm -o fb64.prg c64.asm + +if not %errorlevel%==0 goto :error + +echo done, launching program (fb64.prg). +echo. +fb64.prg + +pause +exit + + + + + + +:system2 + +rem ********************************* +rem * Commodore 64 DTV (c64dtv.asm) * +rem ********************************* + +cls +echo. +echo Compiling CBM FileBrowser for: +echo 2 - C64 DTV +echo. +echo acme --cpu 6502 -f cbm -o fb64dtv.prg c64dtv.asm +echo. + +acme --cpu 6502 -f cbm -o fb64dtv.prg c64dtv.asm + +if not %errorlevel%==0 goto :error + +echo done, launching program (fb64dtv.prg). +echo. +fb64dtv.prg + +pause +exit + + + + + + +:system3 + +rem ************************************************ +rem * Commodore Vic20 unexpanded (vic20-unexp.asm) * +rem ************************************************ + +cls +echo. +echo Compiling CBM FileBrowser for: +echo 3 - Vic20 unexpanded +echo. +echo acme --cpu 6502 -f cbm -o fb20.prg vic20-unexp.asm +echo. + +acme --cpu 6502 -f cbm -o fb20.prg vic20-unexp.asm + +if not %errorlevel%==0 goto :error + +echo done, launching program (fb20.prg). +echo. +fb20.prg + +pause +exit + + + + + + +:system4 + +rem ****************************************** +rem * Commodore Vic20 +3k ram (vic20-3k.asm) * +rem ****************************************** + +cls +echo. +echo Compiling CBM FileBrowser for: +echo 4 - Vic20 +3k ram +echo. +echo acme --cpu 6502 -f cbm -o fb20-3k.prg vic20-3k.asm +echo. + +acme --cpu 6502 -f cbm -o fb20-3k.prg vic20-3k.asm + +if not %errorlevel%==0 goto :error + +echo done, launching program (fb20-3k.prg). +echo. +fb20-3k.prg + +pause +exit + + + + + + +:system5 + +rem ************************************************** +rem * Commodore Vic20 +8k ram or plus (vic20-8k.asm) * +rem ************************************************** + +cls +echo. +echo Compiling CBM FileBrowser for: +echo 5 - Vic20 +8k ram or plus +echo. +echo acme --cpu 6502 -f cbm -o fb20-8k.prg vic20-8k.asm +echo. + +acme --cpu 6502 -f cbm -o fb20-8k.prg vic20-8k.asm + +if not %errorlevel%==0 goto :error + +echo done, launching program (fb20-8k.prg). +echo. +fb20-8k.prg + +pause +exit + + + + + +:system6 + +rem ************************************************* +rem * Commodore Vic20 with Mega-Cart (vic20-mc.asm) * +rem ************************************************* + +cls +echo. +echo Compiling CBM FileBrowser for: +echo 6 - Vic20 with Mega-Cart +echo. +echo acme --cpu 6502 -f cbm -o fb20-mc.prg vic20-mc.asm +echo. + +acme --cpu 6502 -f cbm -o fb20-mc.prg vic20-mc.asm + +if not %errorlevel%==0 goto :error + +echo done, launching program (fb20-mc.prg). +echo. +fb20-mc.prg + +pause +exit + + +:system7 + +rem ************************************************ +rem * Commodore 264 series C16/C116/Plus4 (c16.asm)* +rem ************************************************ + +cls +echo. +echo Compiling CBM FileBrowser for: +echo 7 - C16/C116/+4 (264 series) +echo. +echo acme --cpu 6502 -f cbm -o fb16.prg c16.asm +echo. + +acme --cpu 6502 -f cbm -o fb16.prg c16.asm + +if not %errorlevel%==0 goto :error + +echo done, launching program (fb16.prg). +echo. +fb16.prg + +pause +exit + + + +:system8 + +rem **************************** +rem * Commodore 128 (c128.asm) * +rem **************************** + +cls +echo. +echo Compiling CBM FileBrowser for: +echo 8 - C128 +echo. +echo acme --cpu 6502 -f cbm -o fb128.prg c128.asm +echo. + +acme --cpu 6502 -f cbm -o fb128.prg c128.asm + +if not %errorlevel%==0 goto :error + +echo done, launching program (fb128.prg). +echo. +fb128.prg + +pause +exit + + + +:error +echo. +echo WARNING, ERROR ENCOUNTERED !!! +echo. +pause +:quit +exit diff --git a/CBM-FileBrowser_v1.6/sources/Makefile b/CBM-FileBrowser_v1.6/sources/Makefile new file mode 100644 index 0000000..ae4fb20 --- /dev/null +++ b/CBM-FileBrowser_v1.6/sources/Makefile @@ -0,0 +1,32 @@ +COMPILER = acme +CFLAGS = -v1 --cpu 6502 -f cbm -o + +.PHONY: all clean + +all: fb20-3k.prg fb20-8k.prg fb20-mc.prg fb20.prg fb64.prg fb64dtv.prg fb16.prg fb128.prg + +fb20-3k.prg: vic20-3k.asm vic20-3k.def CBM-FileBrowser.asm + $(COMPILER) $(CFLAGS) $@ $< + +fb20-8k.prg: vic20-8k.asm vic20-8k.def CBM-FileBrowser.asm + $(COMPILER) $(CFLAGS) $@ $< + +fb20-mc.prg: vic20-mc.asm vic20-mc.def CBM-FileBrowser.asm + $(COMPILER) $(CFLAGS) $@ $< + +fb20.prg: vic20-unexp.asm vic20-unexp.def CBM-FileBrowser.asm + $(COMPILER) $(CFLAGS) $@ $< + +fb64.prg: c64.asm c64.def CBM-FileBrowser.asm + $(COMPILER) $(CFLAGS) $@ $< + +fb64dtv.prg: c64dtv.asm c64dtv.def CBM-FileBrowser.asm + $(COMPILER) $(CFLAGS) $@ $< + +fb16.prg: c16.asm c16.def CBM-FileBrowser.asm + $(COMPILER) $(CFLAGS) $@ $< + +fb128.prg: c128.asm c128.def CBM-FileBrowser.asm + $(COMPILER) $(CFLAGS) $@ $< +clean: + rm *.prg diff --git a/CBM-FileBrowser_v1.6/sources/c128.asm b/CBM-FileBrowser_v1.6/sources/c128.asm new file mode 100644 index 0000000..d299136 --- /dev/null +++ b/CBM-FileBrowser_v1.6/sources/c128.asm @@ -0,0 +1,7 @@ + +; - user configuration +!src "c128.def" + +; - core code +!src "CBM-FileBrowser.asm" + diff --git a/CBM-FileBrowser_v1.6/sources/c128.def b/CBM-FileBrowser_v1.6/sources/c128.def new file mode 100644 index 0000000..9a76ced --- /dev/null +++ b/CBM-FileBrowser_v1.6/sources/c128.def @@ -0,0 +1,161 @@ +; --- config.def - configuration + +; - CBM target system +target = 128 ; choose the target system + ; 20 = Commodore VIC-20 + ; 64 = Commodore 64 + ; 16 = The Commodore 264 Series (C16, C116, plus/4) + ;128 = Commodore 128 (Not implemented yet) + + ; Select a variant according with target system +variant = 0 ; 0 = None, Standard System. + ; 1 = Vic-20 with Mega-Cart + ; 2 = C64 Direct-to-TV + + ; device number +hwdevicenum = 0 ; a device number, 0 = autodetect. + +autodetectm = 0 ; Drive auto detect mode if hwdevicenum = 0 + ; 0 = use the current drive (small program size) + ; 1 = detect the first active drive + +drivechange = 1 ; drive change function + ; 0 = do not change drive + ; 1 = change drive by pressing the key_drive + +rootonstart = 0 ; exit to root when start the program or change the drive + ; 0 = do not exit to root on start/drive change + ; 1 = exit to root on start/drive change + +rootentry = 1 ; "exit to root" entry on menu + ; 0 = none + ; 1 = present + +tap_support = 1 ; add tap capability via "XT:" command (ITS Module required) + ; 0 = none + ; 1 = yes + +printbars = 1 ; display a top/bottom bar with some key funcions according with current configuration + ; 0 = do not diplay the top/bottom bar + ; 1 = display the the top/bottom bar + +startmode = 1 ; start mode for selected programs (C16/C64 meaning) + ; 0 = fixed LOAD"FILE",8,1 + RUN (old method, small program size) + ; 1 = LOAD"FILE",8,1 + RUN (by pressing key_fire or Joy button) + ; LOAD"FILE",8 + RUN (by holding CBM while pressing key_fire or Joy button) + +; - functionality (0/1) +minimal = 0 ; remove all extra features for smallest prg size +!if minimal = 1 { +rememberpos = 0 +showcursors = 1 +clearscrena = 1 +fastscrolle = 0 +colorenable = 0 +disknameena = 0 +statusenabl = 0 +pleasewaite = 0 +sortdir = 0 +} else { +rememberpos = 1 ; remember position on previous directory +showcursors = 1 ; show cursors +clearscrena = 1 ; enable screen clearing & color setting +fastscrolle = 1 ; enable fast list scrolling +colorenable = 1 ; enable colors +disknameena = 1 ; enable disk name printing +statusenabl = 1 ; enable status printing +pleasewaite = 1 ; enable "please wait" printing +sortdir = 1 ; enable sort dir function by using the key_sort +} + +; - layout/cosmetic/etc +joyrepeat = 6 ; joystick repeat delay +rastercmp = 161 ; raster line to wait for in mainwait + +; list location + +!if printbars = 1 { + +listtopy = 2 ; 0 <= x < listbottomy +listbottomy = 23 ; listtopy < x <= 25 + +} else { + +listtopy = 1 ; 0 <= x < listbottomy +listbottomy = 25 ; listtopy < x <= 25 + +} + +listx = 9 ; 0 <= x <= 24 +listbackgnd = 32 ; char to display in list background + +; disk name location +disknamey = 0 +disknamex = 9 + +; status text location +statusy = listtopy +statusx = listx+namelen+2 + +!if colorenable = 0 { + +backcolor = 255 +bordercolor = 255 +forecolor2 = 255 +forecolor = 0 +arrowcolor = 0 +buttoncolor = 0 + +} else { + +; back & border & fore2 color: +; 0 = black, 1 = white, 2 = red, 3 = cyan, 4 = purple +; 5 = green, 6 = blue, 7 = yellow, 8 = orange, 9 = brown +; 10 = lred, 10 = gray1, 12 = gray2, 13 = lgreen, +; 14 = lblue, 15 = gray3 + +backcolor = 12 ; 0..15, if >15 -> no change +bordercolor = 13 ; 0..15, if >15 -> no change +forecolor2 = 1 ; 0..15, if >15 -> no change + + +; foreground & arrow color: + +; 5 = white, 28 = red, 30 = green, 31 = blue, 129 = orange +; 144 = black, 149 = brown, 150 = lgreen, 151 = pink, 152 = green +; 153 = lblue, 154 = dpurple, 155 = lgreen, 156 = purple +; 158 = yellow, 159 = cyan + +forecolor = 5 ; (see table) if <5 -> no change +arrowcolor = 28 ; (see table) if <5 -> forecolor2 +buttoncolor = 28 ; (see table) if <5 -> no change + +} + +; - key settings +key_nexte = 17 ; next entry (cursor down) +key_preve = 145 ; prev entry (cursor up) +key_nextp = 29 ; next page (cursor right) +key_prevp = 157 ; prev page (cursor left) +key_nextp2 = 136 ; next page alt (F7) (255 = none) +key_prevp2 = 135 ; prev page alt (F5) (255 = none) + +key_fire = 13 ; select (enter) +key_fire2 = 141 ; select alt (CBM+enter) (IF startmode = 1, Target=16 or 64 only) +key_top = 139 ; to top (F6) +key_bottom = 140 ; to bottom (F8) +key_exit = 20 ; exit dir (backspc) +key_quit = 81 ; quit to basic (Q) + +key_sort = 83 ; sort dir (S) + +key_drive = 68 ; change drive (D) + +key_reset = 27 ; reset (<- ESC key) + + +; - load&run code positions +loadrunpos = $0137 ;near end cassette error / bottom system stack + + ;first 16 bytes ($332-$341) used to + ;save and restore current fkey macros (Target=16 only) diff --git a/CBM-FileBrowser_v1.6/sources/c16.asm b/CBM-FileBrowser_v1.6/sources/c16.asm new file mode 100644 index 0000000..78aa4fb --- /dev/null +++ b/CBM-FileBrowser_v1.6/sources/c16.asm @@ -0,0 +1,7 @@ + +; - user configuration +!src "c16.def" + +; - core code +!src "CBM-FileBrowser.asm" + diff --git a/CBM-FileBrowser_v1.6/sources/c16.def b/CBM-FileBrowser_v1.6/sources/c16.def new file mode 100644 index 0000000..55baabc --- /dev/null +++ b/CBM-FileBrowser_v1.6/sources/c16.def @@ -0,0 +1,161 @@ +; --- config.def - configuration + +; - CBM target system +target = 16 ; choose the target system + ; 20 = Commodore VIC-20 + ; 64 = Commodore 64 + ; 16 = The Commodore 264 Series (C16, C116, plus/4) + ;128 = Commodore 128 (Not implemented yet) + + ; Select a variant according with target system +variant = 0 ; 0 = None, Standard System. + ; 1 = Vic-20 with Mega-Cart + ; 2 = C64 Direct-to-TV + + ; device number +hwdevicenum = 0 ; a device number, 0 = autodetect. + +autodetectm = 0 ; Drive auto detect mode if hwdevicenum = 0 + ; 0 = use the current drive (small program size) + ; 1 = detect the first active drive + +drivechange = 1 ; drive change function + ; 0 = do not change drive + ; 1 = change drive by pressing the key_drive + +rootonstart = 0 ; exit to root when start the program or change the drive + ; 0 = do not exit to root on start/drive change + ; 1 = exit to root on start/drive change + +rootentry = 1 ; "exit to root" entry on menu + ; 0 = none + ; 1 = present + +tap_support = 1 ; add tap capability via "XT:" command (ITS Module required) + ; 0 = none + ; 1 = yes + +printbars = 1 ; display a top/bottom bar with some key funcions according with current configuration + ; 0 = do not diplay the top/bottom bar + ; 1 = display the the top/bottom bar + +startmode = 1 ; start mode for selected programs (C16/C64 meaning) + ; 0 = fixed LOAD"FILE",8,1 + RUN (old method, small program size) + ; 1 = LOAD"FILE",8,1 + RUN (by pressing key_fire or Joy button) + ; LOAD"FILE",8 + RUN (by holding CBM while pressing key_fire or Joy button) + +; - functionality (0/1) +minimal = 0 ; remove all extra features for smallest prg size +!if minimal = 1 { +rememberpos = 0 +showcursors = 1 +clearscrena = 1 +fastscrolle = 0 +colorenable = 0 +disknameena = 0 +statusenabl = 0 +pleasewaite = 0 +sortdir = 0 +} else { +rememberpos = 1 ; remember position on previous directory +showcursors = 1 ; show cursors +clearscrena = 1 ; enable screen clearing & color setting +fastscrolle = 1 ; enable fast list scrolling +colorenable = 1 ; enable colors +disknameena = 1 ; enable disk name printing +statusenabl = 1 ; enable status printing +pleasewaite = 1 ; enable "please wait" printing +sortdir = 1 ; enable sort dir function by using the key_sort +} + +; - layout/cosmetic/etc +joyrepeat = 200 ; joystick repeat delay +rastercmp = 161 ; raster line to wait for in mainwait + +; list location + +!if printbars = 1 { + +listtopy = 2 ; 0 <= x < listbottomy +listbottomy = 23 ; listtopy < x <= 25 + +} else { + +listtopy = 1 ; 0 <= x < listbottomy +listbottomy = 25 ; listtopy < x <= 25 + +} + +listx = 9 ; 0 <= x <= 24 +listbackgnd = 32 ; char to display in list background + +; disk name location +disknamey = 0 +disknamex = 9 + +; status text location +statusy = listtopy +statusx = listx+namelen+2 + +!if colorenable = 0 { + +backcolor = 255 +bordercolor = 255 +forecolor2 = 255 +forecolor = 0 +arrowcolor = 0 +buttoncolor = 0 + +} else { + +; back & border & fore2 color: +; 0 = black, 1 = white, 2 = red, 3 = cyan, 4 = purple +; 5 = green, 6 = blue, 7 = yellow, 8 = orange, 9 = brown +; 10 = lred, 10 = gray1, 12 = gray2, 13 = lgreen, +; 14 = lblue, 15 = gray3 + +backcolor = 240 ; 0..254, if >254 -> no change +bordercolor = 54 ;238 ; 0..254, if >254 -> no change +forecolor2 = 1 ; 0..254, if >254 -> no change + + +; foreground & arrow color: + +; 5 = white, 28 = red, 30 = green, 31 = blue, 129 = orange +; 144 = black, 149 = brown, 150 = lgreen, 151 = pink, 152 = green +; 153 = lblue, 154 = dpurple, 155 = lgreen, 156 = purple +; 158 = yellow, 159 = cyan + +forecolor = 5 ; (see table) if <5 -> no change +arrowcolor = 28 ; (see table) if <5 -> forecolor2 +buttoncolor = 28 ; (see table) if <5 -> no change + +} + +; - key settings +key_nexte = 17 ; next entry (cursor down) +key_preve = 145 ; prev entry (cursor up) +key_nextp = 29 ; next page (cursor right) +key_prevp = 157 ; prev page (cursor left) +key_nextp2 = 136 ; next page alt (F7) (255 = none) +key_prevp2 = 135 ; prev page alt (F5) (255 = none) + +key_fire = 13 ; select (enter) +key_fire2 = 141 ; select alt (CBM+enter) (IF startmode = 1, Target=16 or 64 only) +key_top = 139 ; to top (F6) +key_bottom = 140 ; to bottom (F8) +key_exit = 20 ; exit dir (backspc) +key_quit = 81 ; quit to basic (Q) + +key_sort = 83 ; sort dir (S) + +key_drive = 68 ; change drive (D) + +key_reset = 27 ; reset (<- ESC key) + + +; - load&run code positions +loadrunpos = $0342 ;264 series cassette buffer ($332-$3f2) + + ;first 16 bytes ($332-$341) used to + ;save and restore current fkey macros (Target=16 only) diff --git a/CBM-FileBrowser_v1.6/sources/c64.asm b/CBM-FileBrowser_v1.6/sources/c64.asm new file mode 100644 index 0000000..8c79ce2 --- /dev/null +++ b/CBM-FileBrowser_v1.6/sources/c64.asm @@ -0,0 +1,7 @@ + +; - user configuration +!src "c64.def" + +; - core code +!src "CBM-FileBrowser.asm" + diff --git a/CBM-FileBrowser_v1.6/sources/c64.def b/CBM-FileBrowser_v1.6/sources/c64.def new file mode 100644 index 0000000..28f668c --- /dev/null +++ b/CBM-FileBrowser_v1.6/sources/c64.def @@ -0,0 +1,163 @@ +; --- config.def - configuration + +; - CBM target system +target = 64 ; choose the target system + ; 20 = Commodore VIC-20 + ; 64 = Commodore 64 + ; 16 = The Commodore 264 Series (C16, C116, plus/4) + ;128 = Commodore 128 (Not implemented yet) + + ; Select a variant according with target system +variant = 0 ; 0 = None, Standard System. + ; 1 = Vic-20 with Mega-Cart + ; 2 = C64 Direct-to-TV + + ; device number +hwdevicenum = 0 ; a device number, 0 = autodetect. + +autodetectm = 0 ; Drive auto detect mode if hwdevicenum = 0 + ; 0 = use the current drive (small program size) + ; 1 = detect the first active drive + +drivechange = 1 ; drive change function + ; 0 = do not change drive + ; 1 = change drive by pressing the key_drive + +rootonstart = 0 ; exit to root when start the program or change the drive + ; 0 = do not exit to root on start/drive change + ; 1 = exit to root on start/drive change + +rootentry = 1 ; "exit to root" entry on menu + ; 0 = none + ; 1 = present + +tap_support = 1 ; add tap capability via "XT:" command (ITS Module required) + ; 0 = none + ; 1 = yes + +printbars = 1 ; display a top/bottom bar with some key funcions according with current configuration + ; 0 = do not diplay the top/bottom bar + ; 1 = display the the top/bottom bar + +startmode = 1 ; start mode for selected programs (C16/C64 meaning) + ; 0 = fixed LOAD"FILE",8,1 + RUN (old method, small program size) + ; 1 = LOAD"FILE",8,1 + RUN (by pressing key_fire or Joy button) + ; LOAD"FILE",8 + RUN (by holding CBM while pressing key_fire or Joy button) + +; - functionality (0/1) +minimal = 0 ; remove all extra features for smallest prg size +!if minimal = 1 { +rememberpos = 0 +showcursors = 1 +clearscrena = 1 +fastscrolle = 0 +colorenable = 0 +disknameena = 0 +statusenabl = 0 +pleasewaite = 0 +sortdir = 0 +} else { +rememberpos = 1 ; remember position on previous directory +showcursors = 1 ; show cursors +clearscrena = 1 ; enable screen clearing & color setting +fastscrolle = 1 ; enable fast list scrolling +colorenable = 1 ; enable colors +disknameena = 1 ; enable disk name printing +statusenabl = 1 ; enable status printing +pleasewaite = 1 ; enable "please wait" printing +sortdir = 1 ; enable sort dir function by using the key_sort +} + +; - layout/cosmetic/etc +joyrepeat = 15 ; joystick repeat delay +rastercmp = 1 ; raster line to wait for in mainwait + +; list location + +!if printbars = 1 { + +listtopy = 2 ; 0 <= x < listbottomy +listbottomy = 23 ; listtopy < x <= 25 + +} else { + +listtopy = 1 ; 0 <= x < listbottomy +listbottomy = 25 ; listtopy < x <= 25 + +} + +listx = 9 ; 0 <= x <= 24 +listbackgnd = 32 ; char to display in list background + +; disk name location +disknamey = 0 +disknamex = 9 + +; status text location +statusy = listtopy +statusx = listx+namelen+2 + +!if colorenable = 0 { + +backcolor = 255 +bordercolor = 255 +forecolor2 = 255 +forecolor = 0 +arrowcolor = 0 +buttoncolor = 0 + +} else { + +; back & border & fore2 color: +; 0 = black, 1 = white, 2 = red, 3 = cyan, 4 = purple +; 5 = green, 6 = blue, 7 = yellow, 8 = orange, 9 = brown +; 10 = lred, 10 = gray1, 12 = gray2, 13 = lgreen, +; 14 = lblue, 15 = gray3 + +backcolor = 0 ; 0..15, if >15 -> no change +bordercolor = 6 ; 0..15, if >15 -> no change +forecolor2 = 1 ; 0..15 if >15 -> no change + + +; foreground & arrow color: + +; 5 = white, 28 = red, 30 = green, 31 = blue, 129 = orange +; 144 = black, 149 = brown, 150 = lred, 151 = grey1, 152 = grey2 +; 153 = lgreen, 154 = lblue, 155 = grey3, 156 = purple +; 158 = yellow, 159 = black + +forecolor = 5 ; (see table) if <5 -> no change +arrowcolor = 28 ; (see table) if <5 -> forecolor2 +buttoncolor = 28 ; (see table) if <5 -> no change + +} + +; - key settings +key_nexte = 17 ; next entry (cursor down) +key_preve = 145 ; prev entry (cursor up) +key_nextp = 29 ; next page (cursor right) +key_prevp = 157 ; prev page (cursor left) +key_nextp2 = 136 ; next page alt (F7) (255 = none) +key_prevp2 = 135 ; prev page alt (F5) (255 = none) + +key_fire = 13 ; select (enter) +key_fire2 = 141 ; select alt (CBM+enter) (IF startmode = 1, Target=16 or 64 only) +key_top = 139 ; to top (F6) +key_bottom = 140 ; to bottom (F8) +key_exit = 20 ; exit dir (backspc) +key_quit = 81 ; quit to basic (Q) + +key_sort = 83 ; sort dir (S) + +key_drive = 68 ; change drive (D) + +key_reset = 95 ; reset (<- ESC key) + + +; - load&run code positions +!if startmode = 0 { ; old method +loadrunpos = $0400+40*24 ;(screen+40*24) +} +!if startmode = 1 { +loadrunpos = $0334 ;unused + tape buffer (prevent screen garbage on loading) +} diff --git a/CBM-FileBrowser_v1.6/sources/c64dtv.asm b/CBM-FileBrowser_v1.6/sources/c64dtv.asm new file mode 100644 index 0000000..d4366c9 --- /dev/null +++ b/CBM-FileBrowser_v1.6/sources/c64dtv.asm @@ -0,0 +1,7 @@ + +; - user configuration +!src "c64dtv.def" + +; - core code +!src "CBM-FileBrowser.asm" + diff --git a/CBM-FileBrowser_v1.6/sources/c64dtv.def b/CBM-FileBrowser_v1.6/sources/c64dtv.def new file mode 100644 index 0000000..22fcca3 --- /dev/null +++ b/CBM-FileBrowser_v1.6/sources/c64dtv.def @@ -0,0 +1,163 @@ +; --- config.def - configuration + +; - CBM target system +target = 64 ; choose the target system + ; 20 = Commodore VIC-20 + ; 64 = Commodore 64 + ; 16 = The Commodore 264 Series (C16, C116, plus/4) + ;128 = Commodore 128 (Not implemented yet) + + ; Select a variant according with target system +variant = 2 ; 0 = None, Standard System. + ; 1 = Vic-20 with Mega-Cart + ; 2 = C64 Direct-to-TV + + ; device number +hwdevicenum = 0 ; a device number, 0 = autodetect. + +autodetectm = 1 ; Drive auto detect mode if hwdevicenum = 0 + ; 0 = use the current drive (small program size) + ; 1 = detect the first active drive + +drivechange = 1 ; drive change function + ; 0 = do not change drive + ; 1 = change drive by pressing the key_drive + +rootonstart = 0 ; exit to root when start the program or change the drive + ; 0 = do not exit to root on start/drive change + ; 1 = exit to root on start/drive change + +rootentry = 1 ; "exit to root" entry on menu + ; 0 = none + ; 1 = present + +tap_support = 0 ; add tap capability via "XT:" command (ITS Module required) + ; 0 = none + ; 1 = yes + +printbars = 1 ; display a top/bottom bar with some key funcions according with current configuration + ; 0 = do not diplay the top/bottom bar + ; 1 = display the the top/bottom bar + +startmode = 1 ; start mode for selected programs (C16/C64 meaning) + ; 0 = fixed LOAD"FILE",8,1 + RUN (old method, small program size) + ; 1 = LOAD"FILE",8,1 + RUN (by pressing key_fire or Joy button) + ; LOAD"FILE",8 + RUN (by holding CBM while pressing key_fire or Joy button) + +; - functionality (0/1) +minimal = 0 ; remove all extra features for smallest prg size +!if minimal = 1 { +rememberpos = 0 +showcursors = 1 +clearscrena = 1 +fastscrolle = 0 +colorenable = 0 +disknameena = 0 +statusenabl = 0 +pleasewaite = 0 +sortdir = 0 +} else { +rememberpos = 1 ; remember position on previous directory +showcursors = 1 ; show cursors +clearscrena = 1 ; enable screen clearing & color setting +fastscrolle = 1 ; enable fast list scrolling +colorenable = 1 ; enable colors +disknameena = 1 ; enable disk name printing +statusenabl = 1 ; enable status printing +pleasewaite = 1 ; enable "please wait" printing +sortdir = 1 ; enable sort dir function by using the key_sort +} + +; - layout/cosmetic/etc +joyrepeat = 15 ; joystick repeat delay +rastercmp = 1 ; raster line to wait for in mainwait + +; list location + +!if printbars = 1 { + +listtopy = 2 ; 0 <= x < listbottomy +listbottomy = 23 ; listtopy < x <= 25 + +} else { + +listtopy = 1 ; 0 <= x < listbottomy +listbottomy = 25 ; listtopy < x <= 25 + +} + +listx = 9 ; 0 <= x <= 24 +listbackgnd = 32 ; char to display in list background + +; disk name location +disknamey = 0 +disknamex = 9 + +; status text location +statusy = listtopy +statusx = listx+namelen+2 + +!if colorenable = 0 { + +backcolor = 255 +bordercolor = 255 +forecolor2 = 255 +forecolor = 0 +arrowcolor = 0 +buttoncolor = 0 + +} else { + +; back & border & fore2 color: +; 0 = black, 1 = white, 2 = red, 3 = cyan, 4 = purple +; 5 = green, 6 = blue, 7 = yellow, 8 = orange, 9 = brown +; 10 = lred, 10 = gray1, 12 = gray2, 13 = lgreen, +; 14 = lblue, 15 = gray3 + +backcolor = 0 ; 0..15, if >15 -> no change +bordercolor = 6 ; 0..15, if >15 -> no change +forecolor2 = 1 ; 0..15 if >15 -> no change + + +; foreground & arrow color: + +; 5 = white, 28 = red, 30 = green, 31 = blue, 129 = orange +; 144 = black, 149 = brown, 150 = lred, 151 = grey1, 152 = grey2 +; 153 = lgreen, 154 = lblue, 155 = grey3, 156 = purple +; 158 = yellow, 159 = black + +forecolor = 5 ; (see table) if <5 -> no change +arrowcolor = 28 ; (see table) if <5 -> forecolor2 +buttoncolor = 28 ; (see table) if <5 -> no change + +} + +; - key settings use keymap suitable for DTV's "RABCD" buttons +key_nexte = 255 ; next entry (disabled) +key_preve = 255 ; prev entry (disabled) +key_nextp = 255 ; next page (disabled) +key_prevp = 255 ; prev page (disabled) +key_nextp2 = 255 ; next page alt (disabled) +key_prevp2 = 255 ; prev page alt (disabled) + +key_fire = 255 ; select (disabled) +key_fire2 = 255 ; select alt (disabled) (IF startmode = 1, Target=16 or 64 only) +key_top = 133 ; to top (DTV_A) (F1 ON VICE) +key_bottom = 20 ; to bottom (DTV_B) (DEL ON VICE) (<-- BACK ARROW ON PC) +key_exit = 136 ; exit dir (DTV_R) (F7 ON VICE) +key_quit = 255 ; quit to basic (disabled) + +key_sort = 13 ; sort dir (DTV_C) (RETURN ON VICE) + +key_drive = 29 ; change drive (DTV_D) (CUR -> ON VICE) + +key_reset = 255 ; reset (disabled) + + +; - load&run code positions +!if startmode = 0 { ; old method +loadrunpos = $0400+40*24 ;(screen+40*24) +} +!if startmode = 1 { +loadrunpos = $0334 ;unused + tape buffer (prevent screen garbage on loading) +} diff --git a/CBM-FileBrowser_v1.6/sources/fb.txt b/CBM-FileBrowser_v1.6/sources/fb.txt new file mode 100644 index 0000000..665d04b --- /dev/null +++ b/CBM-FileBrowser_v1.6/sources/fb.txt @@ -0,0 +1,32 @@ +start tok64 fb.prg +10 fora=0to6:readb:poke320+a,b:next +20 sys320:a=0:b=peek(327) +30 ifb<>226then60 +40 a=1:poke53311,1:b=peek(53312):poke53311,0:ifb=255thena=2 +50 goto200 +60 ifb<>34then100 +70 a=3:b=peek(44):ifb=4thena=4 +80 ifb=18thena=5 +81 mc=0:sj=0:poke40320,0:b=peek(39936) +82 ifb=214thenmc=1:sj=peek(40000)=76 +83 printmc:printsj +90 goto200 +100 ifb=246thena=6 +110 ifb=61thena=7 +200 forb=0to7:readsy$(b):next +210 print"{clear}cbm filebrowser{down}" +215 print"system: "sy$(a):ifa=0thenend +230 ld=186:ifa=6thenld=174 +235 ifa<3ora=6ora=7ormc=0then270 +240 a=8:print"mega-cart detected" +250 ifsj=0thenprint"sjload not installed":goto270 +260 print "sjload ok, used":sys40000 +270 forb=1to8:readprg$(b):next +280 print "loading..." +290 dr=peek(ld):loadprg$(a),dr +300 data173,252,255,141,71,01,96 +310 data "not supported","c64","c64dtv","vic unexpanded" +320 data "vic +3k","vic +8/16/24k","c16-plus4","c128" +330 data "fb64","fb64dtv","fb20","fb20-3k","fb20-8k","fb16","fb128","fb20-mc" +stop tok64 +(bastext 1.04) diff --git a/CBM-FileBrowser_v1.6/sources/vic20-3k.asm b/CBM-FileBrowser_v1.6/sources/vic20-3k.asm new file mode 100644 index 0000000..feb6a19 --- /dev/null +++ b/CBM-FileBrowser_v1.6/sources/vic20-3k.asm @@ -0,0 +1,7 @@ + +; - user configuration +!src "vic20-3k.def" + +; - core code +!src "CBM-FileBrowser.asm" + diff --git a/CBM-FileBrowser_v1.6/sources/vic20-3k.def b/CBM-FileBrowser_v1.6/sources/vic20-3k.def new file mode 100644 index 0000000..7d23bcf --- /dev/null +++ b/CBM-FileBrowser_v1.6/sources/vic20-3k.def @@ -0,0 +1,164 @@ +; --- config.def - configuration + +; - CBM target system +target = 20 ; choose the target system + ; 20 = Commodore VIC-20 + ; 64 = Commodore 64 + ; 16 = The Commodore 264 Series (C16, C116, plus/4) + ;128 = Commodore 128 (Not implemented yet) + + ; Select a variant according with target system +variant = 0 ; 0 = None, Standard System. + ; 1 = Vic-20 with Mega-Cart + ; 2 = C64 Direct-to-TV + + ; device number +hwdevicenum = 0 ; a device number, 0 = autodetect. + +autodetectm = 0 ; Drive auto detect mode if hwdevicenum = 0 + ; 0 = use the current drive (small program size) + ; 1 = detect the first active drive + +drivechange = 0 ; drive change function + ; 0 = do not change drive + ; 1 = change drive by pressing the key_drive + +rootonstart = 0 ; exit to root when start the program or change the drive + ; 0 = do not exit to root on start/drive change + ; 1 = exit to root on start/drive change + +rootentry = 1 ; "exit to root" entry on menu + ; 0 = none + ; 1 = present + +tap_support = 1 ; add tap capability via "XT:" command (ITS Module required) + ; 0 = none + ; 1 = yes + +printbars = 1 ; display a top/bottom bar with some key funcions according with current configuration + ; 0 = do not diplay the top/bottom bar + ; 1 = display the the top/bottom bar + +; - vic memory configuration (Vic-20 Only parameter) +vicmemcfg = 3 ; choose the memory configuration of the program + ; 0 = Vic Unexpanded + ; 3 = Vic +3K ram + ; 8 = Vic +8K or more + +; - start mode for selected programs (Vic-20 Only parameter) +startmode = 0 ; memory configuration and execution method + ; 0 = automatic only (small program size) + ; 1 = automatic or manual by pressing the key_startmode + +; - functionality (0/1) +minimal = 0 ; remove all extra features for smallest prg size +!if minimal = 1 { +rememberpos = 0 +showcursors = 1 +clearscrena = 1 +fastscrolle = 0 +colorenable = 0 +disknameena = 0 +statusenabl = 0 +pleasewaite = 0 +sortdir = 0 +} else { +rememberpos = 1 ; remember position on previous directory +showcursors = 1 ; show cursors +clearscrena = 1 ; enable screen clearing & color setting +fastscrolle = 1 ; enable fast list scrolling +colorenable = 1 ; enable colors +disknameena = 1 ; enable disk name printing +statusenabl = 1 ; enable status printing +pleasewaite = 1 ; enable "please wait" printing +sortdir = 1 ; enable sort dir function by using the key_sort +} + +; - layout/cosmetic/etc +joyrepeat = 15 ; joystick repeat delay +rastercmp = 1 ; raster line to wait for in mainwait + +; list location + +!if printbars = 1 { + +listtopy = 2 ; 0 <= x < listbottomy +listbottomy = 21 ; listtopy < x <= 25 + +} else { + +listtopy = 1 ; 0 <= x < listbottomy +listbottomy = 23 ; listtopy < x <= 25 + +} + +listx = 1 ; 0 <= x <= 24 +listbackgnd = 32 ; char to display in list background + +; disk name location +disknamey = 0 +disknamex = 1 + +; status text location +statusy = listtopy +statusx = listx+namelen+2 + +!if colorenable = 0 { + +backcolor = 255 +bordercolor = 255 +forecolor2 = 255 +forecolor = 0 +arrowcolor = 6 ;REQUIRED OTHERWHISE THE LEFT ARROW IS NOT PROPERLY PRINTED +buttoncolor = 0 + +} else { + +; back & border & fore2 color: +; 0 = black, 1 = white, 2 = red, 3 = cyan, 4 = purple +; 5 = green, 6 = blue, 7 = yellow, 8 = orange, 9 = brown +; 10 = lred, 10 = gray1, 12 = gray2, 13 = lgreen, +; 14 = lblue, 15 = gray3 + +backcolor = 0 ; 0..15, if >15 -> no change +bordercolor = 6 ; Vic20 0...7, if >7 -> no change also for backcolor +forecolor2 = 1 ; Vic20 0...7, if >7 -> no change (must be the relative forecolor code, Example (Red: 2 and 28) + + +; foreground & arrow color: + +; 5 = white, 28 = red, 30 = green, 31 = blue, 129 = orange +; 144 = black, 149 = brown, 150 = lred, 151 = grey1, 152 = grey2 +; 153 = lgreen, 154 = lblue, 155 = grey3, 156 = purple +; 158 = yellow, 159 = black + +forecolor = 5 ; (see table) if <5 -> no change +arrowcolor = 28 ; (see table) if <5 -> forecolor2 +buttoncolor = 28 ; (see table) if <5 -> no change + +} + +; - key settings +key_nexte = 17 ; next entry (cursor down) +key_preve = 145 ; prev entry (cursor up) +key_nextp = 29 ; next page (cursor right) +key_prevp = 157 ; prev page (cursor left) +key_nextp2 = 136 ; next page alt (F7) (255 = none) +key_prevp2 = 135 ; prev page alt (F5) (255 = none) + +key_fire = 13 ; select (enter) +key_top = 139 ; to top (F6) +key_bottom = 140 ; to bottom (F8) +key_exit = 20 ; exit dir (backspc) +key_quit = 81 ; quit to basic (Q) + +key_sort = 83 ; sort dir (S) + +key_drive = 68 ; change drive (D) + +key_reset = 95 ; reset or restart Mega-Cart (<- ESC key) + +key_startmode = 77 ; Start Mode (M) (Vic-20 Only) + +; - load&run code positions +loadrunpos = $33C ;cassette buffer diff --git a/CBM-FileBrowser_v1.6/sources/vic20-8k.asm b/CBM-FileBrowser_v1.6/sources/vic20-8k.asm new file mode 100644 index 0000000..420a2ec --- /dev/null +++ b/CBM-FileBrowser_v1.6/sources/vic20-8k.asm @@ -0,0 +1,7 @@ + +; - user configuration +!src "vic20-8k.def" + +; - core code +!src "CBM-FileBrowser.asm" + diff --git a/CBM-FileBrowser_v1.6/sources/vic20-8k.def b/CBM-FileBrowser_v1.6/sources/vic20-8k.def new file mode 100644 index 0000000..cff8490 --- /dev/null +++ b/CBM-FileBrowser_v1.6/sources/vic20-8k.def @@ -0,0 +1,164 @@ +; --- config.def - configuration + +; - CBM target system +target = 20 ; choose the target system + ; 20 = Commodore VIC-20 + ; 64 = Commodore 64 + ; 16 = The Commodore 264 Series (C16, C116, plus/4) + ;128 = Commodore 128 (Not implemented yet) + + ; Select a variant according with target system +variant = 0 ; 0 = None, Standard System. + ; 1 = Vic-20 with Mega-Cart + ; 2 = C64 Direct-to-TV + + ; device number +hwdevicenum = 0 ; a device number, 0 = autodetect. + +autodetectm = 0 ; Drive auto detect mode if hwdevicenum = 0 + ; 0 = use the current drive (small program size) + ; 1 = detect the first active drive + +drivechange = 0 ; drive change function + ; 0 = do not change drive + ; 1 = change drive by pressing the key_drive + +rootonstart = 0 ; exit to root when start the program or change the drive + ; 0 = do not exit to root on start/drive change + ; 1 = exit to root on start/drive change + +rootentry = 1 ; "exit to root" entry on menu + ; 0 = none + ; 1 = present + +tap_support = 1 ; add tap capability via "XT:" command (ITS Module required) + ; 0 = none + ; 1 = yes + +printbars = 1 ; display a top/bottom bar with some key funcions according with current configuration + ; 0 = do not diplay the top/bottom bar + ; 1 = display the the top/bottom bar + +; - vic memory configuration (Vic-20 Only parameter) +vicmemcfg = 8 ; choose the memory configuration of the program + ; 0 = Vic Unexpanded + ; 3 = Vic +3K ram + ; 8 = Vic +8K or more + +; - start mode for selected programs (Vic-20 Only parameter) +startmode = 0 ; memory configuration and execution method + ; 0 = automatic only (small program size) + ; 1 = automatic or manual by pressing the key_startmode + +; - functionality (0/1) +minimal = 0 ; remove all extra features for smallest prg size +!if minimal = 1 { +rememberpos = 0 +showcursors = 1 +clearscrena = 1 +fastscrolle = 0 +colorenable = 0 +disknameena = 0 +statusenabl = 0 +pleasewaite = 0 +sortdir = 0 +} else { +rememberpos = 1 ; remember position on previous directory +showcursors = 1 ; show cursors +clearscrena = 1 ; enable screen clearing & color setting +fastscrolle = 1 ; enable fast list scrolling +colorenable = 1 ; enable colors +disknameena = 1 ; enable disk name printing +statusenabl = 1 ; enable status printing +pleasewaite = 1 ; enable "please wait" printing +sortdir = 1 ; enable sort dir function by using the key_sort +} + +; - layout/cosmetic/etc +joyrepeat = 15 ; joystick repeat delay +rastercmp = 1 ; raster line to wait for in mainwait + +; list location + +!if printbars = 1 { + +listtopy = 2 ; 0 <= x < listbottomy +listbottomy = 21 ; listtopy < x <= 25 + +} else { + +listtopy = 1 ; 0 <= x < listbottomy +listbottomy = 23 ; listtopy < x <= 25 + +} + +listx = 1 ; 0 <= x <= 24 +listbackgnd = 32 ; char to display in list background + +; disk name location +disknamey = 0 +disknamex = 1 + +; status text location +statusy = listtopy +statusx = listx+namelen+2 + +!if colorenable = 0 { + +backcolor = 255 +bordercolor = 255 +forecolor2 = 255 +forecolor = 0 +arrowcolor = 6 ;REQUIRED OTHERWHISE THE LEFT ARROW IS NOT PROPERLY PRINTED +buttoncolor = 0 + +} else { + +; back & border & fore2 color: +; 0 = black, 1 = white, 2 = red, 3 = cyan, 4 = purple +; 5 = green, 6 = blue, 7 = yellow, 8 = orange, 9 = brown +; 10 = lred, 10 = gray1, 12 = gray2, 13 = lgreen, +; 14 = lblue, 15 = gray3 + +backcolor = 0 ; 0..15, if >15 -> no change +bordercolor = 6 ; Vic20 0...7, if >7 -> no change also for backcolor +forecolor2 = 1 ; Vic20 0...7, if >7 -> no change (must be the relative forecolor code, Example (Red: 2 and 28) + + +; foreground & arrow color: + +; 5 = white, 28 = red, 30 = green, 31 = blue, 129 = orange +; 144 = black, 149 = brown, 150 = lred, 151 = grey1, 152 = grey2 +; 153 = lgreen, 154 = lblue, 155 = grey3, 156 = purple +; 158 = yellow, 159 = black + +forecolor = 5 ; (see table) if <5 -> no change +arrowcolor = 28 ; (see table) if <5 -> forecolor2 +buttoncolor = 28 ; (see table) if <5 -> no change + +} + +; - key settings +key_nexte = 17 ; next entry (cursor down) +key_preve = 145 ; prev entry (cursor up) +key_nextp = 29 ; next page (cursor right) +key_prevp = 157 ; prev page (cursor left) +key_nextp2 = 136 ; next page alt (F7) (255 = none) +key_prevp2 = 135 ; prev page alt (F5) (255 = none) + +key_fire = 13 ; select (enter) +key_top = 139 ; to top (F6) +key_bottom = 140 ; to bottom (F8) +key_exit = 20 ; exit dir (backspc) +key_quit = 81 ; quit to basic (Q) + +key_sort = 83 ; sort dir (S) + +key_drive = 68 ; change drive (D) + +key_reset = 95 ; reset or restart Mega-Cart (<- ESC key) + +key_startmode = 77 ; Start Mode (M) (Vic-20 Only) + +; - load&run code positions +loadrunpos = $33C ;cassette buffer diff --git a/CBM-FileBrowser_v1.6/sources/vic20-mc.asm b/CBM-FileBrowser_v1.6/sources/vic20-mc.asm new file mode 100644 index 0000000..840a6d4 --- /dev/null +++ b/CBM-FileBrowser_v1.6/sources/vic20-mc.asm @@ -0,0 +1,7 @@ + +; - user configuration +!src "vic20-mc.def" + +; - core code +!src "CBM-FileBrowser.asm" + diff --git a/CBM-FileBrowser_v1.6/sources/vic20-mc.def b/CBM-FileBrowser_v1.6/sources/vic20-mc.def new file mode 100644 index 0000000..63cacf8 --- /dev/null +++ b/CBM-FileBrowser_v1.6/sources/vic20-mc.def @@ -0,0 +1,164 @@ +; --- config.def - configuration + +; - CBM target system +target = 20 ; choose the target system + ; 20 = Commodore VIC-20 + ; 64 = Commodore 64 + ; 16 = The Commodore 264 Series (C16, C116, plus/4) + ;128 = Commodore 128 (Not implemented yet) + + ; Select a variant according with target system +variant = 1 ; 0 = None, Standard System. + ; 1 = Vic-20 with Mega-Cart + ; 2 = C64 Direct-to-TV + + ; device number +hwdevicenum = 0 ; a device number, 0 = autodetect. + +autodetectm = 1 ; Drive auto detect mode if hwdevicenum = 0 + ; 0 = use the current drive (small program size) + ; 1 = detect the first active drive + +drivechange = 1 ; drive change function + ; 0 = do not change drive + ; 1 = change drive by pressing the key_drive + +rootonstart = 0 ; exit to root when start the program or change the drive + ; 0 = do not exit to root on start/drive change + ; 1 = exit to root on start/drive change + +rootentry = 1 ; "exit to root" entry on menu + ; 0 = none + ; 1 = present + +tap_support = 1 ; add tap capability via "XT:" command (ITS Module required) + ; 0 = none + ; 1 = yes + +printbars = 1 ; display a top/bottom bar with some key funcions according with current configuration + ; 0 = do not diplay the top/bottom bar + ; 1 = display the the top/bottom bar + +; - vic memory configuration (Vic-20 Only parameter) +vicmemcfg = 8 ; choose the memory configuration of the program + ; 0 = Vic Unexpanded + ; 3 = Vic +3K ram + ; 8 = Vic +8K or more + +; - start mode for selected programs (Vic-20 Only parameter) +startmode = 1 ; memory configuration and execution method + ; 0 = automatic only (small program size) + ; 1 = automatic or manual by pressing the key_startmode + +; - functionality (0/1) +minimal = 0 ; remove all extra features for smallest prg size +!if minimal = 1 { +rememberpos = 0 +showcursors = 1 +clearscrena = 1 +fastscrolle = 0 +colorenable = 0 +disknameena = 0 +statusenabl = 0 +pleasewaite = 0 +sortdir = 0 +} else { +rememberpos = 1 ; remember position on previous directory +showcursors = 1 ; show cursors +clearscrena = 1 ; enable screen clearing & color setting +fastscrolle = 1 ; enable fast list scrolling +colorenable = 1 ; enable colors +disknameena = 1 ; enable disk name printing +statusenabl = 1 ; enable status printing +pleasewaite = 1 ; enable "please wait" printing +sortdir = 1 ; enable sort dir function by using the key_sort +} + +; - layout/cosmetic/etc +joyrepeat = 15 ; joystick repeat delay +rastercmp = 1 ; raster line to wait for in mainwait + +; list location + +!if printbars = 1 { + +listtopy = 2 ; 0 <= x < listbottomy +listbottomy = 21 ; listtopy < x <= 25 + +} else { + +listtopy = 1 ; 0 <= x < listbottomy +listbottomy = 23 ; listtopy < x <= 25 + +} + +listx = 1 ; 0 <= x <= 24 +listbackgnd = 32 ; char to display in list background + +; disk name location +disknamey = 0 +disknamex = 1 + +; status text location +statusy = listtopy +statusx = listx+namelen+2 + +!if colorenable = 0 { + +backcolor = 255 +bordercolor = 255 +forecolor2 = 255 +forecolor = 0 +arrowcolor = 6 ;REQUIRED OTHERWHISE THE LEFT ARROW IS NOT PROPERLY PRINTED +buttoncolor = 0 + +} else { + +; back & border & fore2 color: +; 0 = black, 1 = white, 2 = red, 3 = cyan, 4 = purple +; 5 = green, 6 = blue, 7 = yellow, 8 = orange, 9 = brown +; 10 = lred, 10 = gray1, 12 = gray2, 13 = lgreen, +; 14 = lblue, 15 = gray3 + +backcolor = 1 ; 0..15, if >15 -> no change +bordercolor = 1 ; Vic20 0...7, if >7 -> no change also for backcolor +forecolor2 = 6 ; Vic20 0...7, if >7 -> no change (must be the relative forecolor code, Example (Red: 2 and 28) + + +; foreground & arrow color: + +; 5 = white, 28 = red, 30 = green, 31 = blue, 129 = orange +; 144 = black, 149 = brown, 150 = lred, 151 = grey1, 152 = grey2 +; 153 = lgreen, 154 = lblue, 155 = grey3, 156 = purple +; 158 = yellow, 159 = black + +forecolor = 31 ; (see table) if <5 -> no change +arrowcolor = 156 ; (see table) if <5 -> forecolor2 +buttoncolor = 28 ; (see table) if <5 -> no change + +} + +; - key settings +key_nexte = 17 ; next entry (cursor down) +key_preve = 145 ; prev entry (cursor up) +key_nextp = 29 ; next page (cursor right) +key_prevp = 157 ; prev page (cursor left) +key_nextp2 = 136 ; next page alt (F7) (255 = none) +key_prevp2 = 135 ; prev page alt (F5) (255 = none) + +key_fire = 13 ; select (enter) +key_top = 139 ; to top (F6) +key_bottom = 140 ; to bottom (F8) +key_exit = 20 ; exit dir (backspc) +key_quit = 81 ; quit to basic (Q) + +key_sort = 83 ; sort dir (S) + +key_drive = 68 ; change drive (D) + +key_reset = 95 ; reset or restart Mega-Cart (<- ESC key) + +key_startmode = 77 ; Start Mode (M) (Vic-20 Only) + +; - load&run code positions +loadrunpos = $33C ;cassette buffer diff --git a/CBM-FileBrowser_v1.6/sources/vic20-unexp.asm b/CBM-FileBrowser_v1.6/sources/vic20-unexp.asm new file mode 100644 index 0000000..4ec5fdc --- /dev/null +++ b/CBM-FileBrowser_v1.6/sources/vic20-unexp.asm @@ -0,0 +1,7 @@ + +; - user configuration +!src "vic20-unexp.def" + +; - core code +!src "CBM-FileBrowser.asm" + diff --git a/CBM-FileBrowser_v1.6/sources/vic20-unexp.def b/CBM-FileBrowser_v1.6/sources/vic20-unexp.def new file mode 100644 index 0000000..626b870 --- /dev/null +++ b/CBM-FileBrowser_v1.6/sources/vic20-unexp.def @@ -0,0 +1,164 @@ +; --- config.def - configuration + +; - CBM target system +target = 20 ; choose the target system + ; 20 = Commodore VIC-20 + ; 64 = Commodore 64 + ; 16 = The Commodore 264 Series (C16, C116, plus/4) + ;128 = Commodore 128 (Not implemented yet) + + ; Select a variant according with target system +variant = 0 ; 0 = None, Standard System. + ; 1 = Vic-20 with Mega-Cart + ; 2 = C64 Direct-to-TV + + ; device number +hwdevicenum = 0 ; a device number, 0 = autodetect. + +autodetectm = 0 ; Drive auto detect mode if hwdevicenum = 0 + ; 0 = use the current drive (small program size) + ; 1 = detect the first active drive + +drivechange = 0 ; drive change function + ; 0 = do not change drive + ; 1 = change drive by pressing the key_drive + +rootonstart = 0 ; exit to root when start the program or change the drive + ; 0 = do not exit to root on start/drive change + ; 1 = exit to root on start/drive change + +rootentry = 1 ; "exit to root" entry on menu + ; 0 = none + ; 1 = present + +tap_support = 1 ; add tap capability via "XT:" command (ITS Module required) + ; 0 = none + ; 1 = yes + +printbars = 0 ; display a top/bottom bar with some key funcions according with current configuration + ; 0 = do not diplay the top/bottom bar + ; 1 = display the the top/bottom bar + +; - vic memory configuration (Vic-20 Only parameter) +vicmemcfg = 0 ; choose the memory configuration of the program + ; 0 = Vic Unexpanded + ; 3 = Vic +3K ram + ; 8 = Vic +8K or more + +; - start mode for selected programs (Vic-20 Only parameter) +startmode = 0 ; memory configuration and execution method + ; 0 = automatic only (small program size) + ; 1 = automatic or manual by pressing the key_startmode + +; - functionality (0/1) +minimal = 1 ; remove all extra features for smallest prg size +!if minimal = 1 { +rememberpos = 0 +showcursors = 1 +clearscrena = 1 +fastscrolle = 0 +colorenable = 0 +disknameena = 0 +statusenabl = 0 +pleasewaite = 0 +sortdir = 0 +} else { +rememberpos = 1 ; remember position on previous directory +showcursors = 1 ; show cursors +clearscrena = 1 ; enable screen clearing & color setting +fastscrolle = 1 ; enable fast list scrolling +colorenable = 1 ; enable colors +disknameena = 1 ; enable disk name printing +statusenabl = 1 ; enable status printing +pleasewaite = 1 ; enable "please wait" printing +sortdir = 1 ; enable sort dir function by using the key_sort +} + +; - layout/cosmetic/etc +joyrepeat = 15 ; joystick repeat delay +rastercmp = 1 ; raster line to wait for in mainwait + +; list location + +!if printbars = 1 { + +listtopy = 2 ; 0 <= x < listbottomy +listbottomy = 21 ; listtopy < x <= 25 + +} else { + +listtopy = 1 ; 0 <= x < listbottomy +listbottomy = 23 ; listtopy < x <= 25 + +} + +listx = 1 ; 0 <= x <= 24 +listbackgnd = 32 ; char to display in list background + +; disk name location +disknamey = 0 +disknamex = 1 + +; status text location +statusy = listtopy +statusx = listx+namelen+2 + +!if colorenable = 0 { + +backcolor = 255 +bordercolor = 255 +forecolor2 = 255 +forecolor = 0 +arrowcolor = 6 ;REQUIRED OTHERWHISE THE LEFT ARROW IS NOT PROPERLY PRINTED +buttoncolor = 0 + +} else { + +; back & border & fore2 color: +; 0 = black, 1 = white, 2 = red, 3 = cyan, 4 = purple +; 5 = green, 6 = blue, 7 = yellow, 8 = orange, 9 = brown +; 10 = lred, 10 = gray1, 12 = gray2, 13 = lgreen, +; 14 = lblue, 15 = gray3 + +backcolor = 0 ; 0..15, if >15 -> no change +bordercolor = 6 ; Vic20 0...7, if >7 -> no change also for backcolor +forecolor2 = 1 ; Vic20 0...7, if >7 -> no change (must be the relative forecolor code, Example (Red: 2 and 28) + + +; foreground & arrow color: + +; 5 = white, 28 = red, 30 = green, 31 = blue, 129 = orange +; 144 = black, 149 = brown, 150 = lred, 151 = grey1, 152 = grey2 +; 153 = lgreen, 154 = lblue, 155 = grey3, 156 = purple +; 158 = yellow, 159 = black + +forecolor = 5 ; (see table) if <5 -> no change +arrowcolor = 28 ; (see table) if <5 -> forecolor2 +buttoncolor = 28 ; (see table) if <5 -> no change + +} + +; - key settings +key_nexte = 17 ; next entry (cursor down) +key_preve = 145 ; prev entry (cursor up) +key_nextp = 29 ; next page (cursor right) +key_prevp = 157 ; prev page (cursor left) +key_nextp2 = 136 ; next page alt (F7) (255 = none) +key_prevp2 = 135 ; prev page alt (F5) (255 = none) + +key_fire = 13 ; select (enter) +key_top = 139 ; to top (F6) +key_bottom = 140 ; to bottom (F8) +key_exit = 20 ; exit dir (backspc) +key_quit = 81 ; quit to basic (Q) + +key_sort = 83 ; sort dir (S) + +key_drive = 68 ; change drive (D) + +key_reset = 95 ; reset or restart Mega-Cart (<- ESC key) + +key_startmode = 77 ; Start Mode (M) (Vic-20 Only) + +; - load&run code positions +loadrunpos = $33C ;cassette buffer