diff --git a/bin/buildproboot.js b/bin/changebootloader.js similarity index 85% rename from bin/buildproboot.js rename to bin/changebootloader.js index 8a1f1e6f3..57fd956aa 100644 --- a/bin/buildproboot.js +++ b/bin/changebootloader.js @@ -4,4 +4,4 @@ c = b.read(0x40) b.skip(0x200) d = b.read(0x1fff600) b.close() -b=a.createtextfile(WScript.Arguments(0), 1).write(c+a.opentextfile("res\\proboothd").read(512)+d) +b=a.createtextfile(WScript.Arguments(0), 1).write(c+a.opentextfile(WScript.Arguments(1)).read(512)+d) diff --git a/src/glue.prorwts2.a b/src/glue.prorwts2.a index e3e216f42..92d1cc6d2 100644 --- a/src/glue.prorwts2.a +++ b/src/glue.prorwts2.a @@ -73,6 +73,7 @@ LoadDHRFile lda #$20 ; read next $2000 bytes sta sizehi dec auxreq ; 0 = read into main memory + clc ; not a subdirectory jmp hddrdwrpart ; call ProRWTS2 traverse @@ -194,8 +195,6 @@ traverse ; stack set to next instruction after parameters ; ; to do: preserve non-$4x zpage locations for titles that open files after start -; enable seek -; enable < 512 bytes reads ;------------------------------------------------------------------------------ packet = $40 ;word buffer = $42 ;word @@ -230,8 +229,8 @@ ProDOS_enter beq @do_write cmp #$cc beq @do_close -;; cmp #$ce -;; beq @do_seek + cmp #$ce + beq @do_seek ;;any others?? jmp ProDOS_fatal @do_prefix @@ -249,9 +248,9 @@ ProDOS_enter @do_close jsr @imp_close jmp ProDOS_exit -;;@do_seek -;; jsr @imp_seek -;; jmp ProDOS_exit +@do_seek + jsr @imp_seek + jmp ProDOS_exit PREV_BLOCK_LO = $0 ;ProDOS constant @@ -306,11 +305,25 @@ PREV_BLOCK_HI = $1 ;ProDOS constant iny lda (packet), y sta @handle-1, x + tax + jsr @patch_buffer iny - txa + lda #1 sta (packet), y - rts + lda #0 + sta reqcmd + sta sizehi + sta sizelo + jsr hddopendir + ldx encbufpatch1+1 + inx + stx @block_index2+2 + lda #0 + beq @block_index2 ;always +@imp_seek + lda #cmdseek + !byte $2c @imp_read lda #cmdread !byte $2c @@ -318,34 +331,42 @@ PREV_BLOCK_HI = $1 ;ProDOS constant lda #cmdwrite sta reqcmd jsr @set_rdwrbuff - jmp hddopendir + ldx encbufpatch1+1 + inx + stx @block_index1+2 + stx @block_index2+2 +@block_index1 + lda $d1ff + sta blkidx + clc ;not a subdirectory + jsr hddrdwrpart + lda blkidx +@block_index2 + sta $d1ff + rts @imp_close dec @handles+1 bne @close_ret - lda #$b1 - sta overridepatch1 - sta overridepatch2 - lda #bloklo - sta overridepatch1+1 - sta overridepatch2+1 - lda #>hdddirbuf + lda #>hddencbuf @patch_buffer - sta bufferpatch2+2 - sta bufferpatch3+2 - sta bufferpatch4+2 - sta bufferpatch6+1 - sta bufferpatch7+2 - sta bufferpatch9+2 - sta bufferpatch10+1 + sta encbufpatch1+1 + sta encbufpatch2+1 tax inx - stx bufferpatch5+2 - stx bufferpatch8+2 - dex - dex - stx bufferpatch1+1 + stx dirbufpatch1+1 + inx + stx dirbufpatch2+2 + stx dirbufpatch3+2 + stx dirbufpatch4+2 + stx dirbufpatch6+1 + stx dirbufpatch7+2 + stx dirbufpatch9+2 + stx dirbufpatch10+1 + inx + stx dirbufpatch5+2 + stx dirbufpatch8+2 @close_ret rts @@ -361,17 +382,12 @@ PREV_BLOCK_HI = $1 ;ProDOS constant ldy #1 lda (packet), y tax - lda @handle-1,x + lda @handle-1, x + tax jsr @patch_buffer - lda #$a9 - sta overridepatch1 - sta overridepatch2 + ldx #ldrlo iny - lda (packet), y - sta overridepatch1+1 - iny - lda (packet), y - sta overridepatch2+1 + jsr @setbuffer ldx #sizelo iny !byte $2c diff --git a/src/prorwts2.a b/src/prorwts2.a index 5ed62a33e..85fb1e517 100644 --- a/src/prorwts2.a +++ b/src/prorwts2.a @@ -16,12 +16,15 @@ ver_02 = 1 verbose_info = 0 ;set to 1 to enable display of memory usage enable_floppy = 0 ;set to 1 to enable floppy drive support poll_drive = 0 ;set to 1 to check if disk is in drive, recommended if allow_multi is enabled + allow_extend = 0 ;enable support for more than four partitions (note: it has overhead) override_adr = 0 ;set to 1 to require an explicit load address - aligned_read = 1 ;set to 1 if all reads can be a multiple of block size + aligned_read = 0 ;set to 1 if all reads can be a multiple of block size + enable_readseq=0 ;set to 1 to enable reading multiple sequential times from the same file without seek + ;(exposes a fixed address that can be called for either floppy or hard disk support) enable_write = 1 ;set to 1 to enable write support ;file must exist already and its size cannot be altered ;writes occur in multiples of block size - enable_seek = 0 ;set to 1 to enable seek support + enable_seek = 1 ;set to 1 to enable seek support ;seeking with aligned_read=1 requires non-zero offset allow_multi = 0 ;set to 1 to allow multiple floppies check_chksum = 0 ;set to 1 to enforce checksum verification for floppies @@ -55,14 +58,14 @@ ver_02 = 1 load_aux = 0 ;load to aux memory load_banked = 1 ;set to 1 to load into banked RAM instead of main RAM (can be combined with load_aux for aux banked) lc_bank = 1 ;load into specified bank (1 or 2) if load_banked=1 - one_page = 1 ;set to 1 if verbose mode says that you should (smaller code) + one_page = 0 ;set to 1 if verbose mode says that you should (smaller code) ;user-defined driver load address !if load_banked = 1 { !if load_high = 1 { !ifdef PASS2 { } else { ;PASS2 not defined - reloc = $ff00 ;page-aligned, as high as possible, the ideal value will be shown on mismatch + reloc = $fe00 ;page-aligned, as high as possible, the ideal value will be shown on mismatch } ;PASS2 } else { ;load_high = 0 reloc = $d000 ;page-aligned, but otherwise wherever you want @@ -202,7 +205,7 @@ init jsr SETKBD jsr SETVID lda DEVNUM sta x80_parms + 1 - sta unrunit + 1 + sta unrunit1 + 1 and #$70 !if (enable_floppy + enable_write) > 1 { sta unrslot1 + 1 @@ -221,14 +224,19 @@ init jsr SETKBD !if (might_exist + poll_drive) > 0 { sta unrdrvoff2 + 1 } ;might_exist or poll_drive + !if (aligned_read + allow_aux) = 0 { sta unrdrvoff3 + 1 + } ;not aligned_read and not allow_aux + sta unrdrvoff4 + 1 tax inx ;MOTORON !if allow_multi = 1 { stx unrdrvon1 + 1 } ;allow_multi stx unrdrvon2 + 1 + !if aligned_read = 0 { stx unrdrvon3 + 1 + } ;aligned_read stx unrdrvon4 + 1 inx ;DRV0EN !if allow_multi = 1 { @@ -395,7 +403,63 @@ adjpath tya beq - set_slot stx slot + 2 - stx unrentry + 2 +!if allow_extend = 1 { + stx unrentry1 + 2 +} ;allow_extend + stx unrentry2 + 2 +!if allow_extend = 1 { + stx unrentry3 + 2 +} ;allow_extend +slot ldx $cfff +!if enable_floppy = 1 { + php + beq bankram +} ;enable_floppy + stx unrentry2 + 1 +!if allow_extend = 1 { + ;use ProDOS entrypoint instead + + inx + inx + inx + stx unrentry1 + 1 + stx unrentry3 + 1 + + ;detect extended remapping and update unit accordingly + + lda #<(readbuff + $200) + sta adrlo + ldy #>(readbuff + $200) + ldx #2 + stx x80_parms + 4 + lda #0 + sta x80_parms + 5 + jsr unrhddrd + jsr MLI + !byte $80 + !word x80_parms + bcc + ;always +iterunit inc iterunit + 1 + + ;enable use of ProDOS SmartPort entrypoint + + lda #$2c + sta unrentry2 + +unrentry1 jsr $d1d1 + !byte cmdread + !word unrpacket + bcs iterunit + ++ ldy #$0f +- lda readbuff + 4, y + cmp readbuff + $204, y + bne iterunit + dey + bpl - +} ;allow_extend + +bankram !if load_banked = 1 { lda LCBANK2 - ((lc_bank - 1) * 8) lda LCBANK2 - ((lc_bank - 1) * 8) @@ -406,8 +470,7 @@ set_slot stx slot + 2 !if enable_floppy = 1 { ldx #>unrelocdsk ldy #unrelochdd @@ -476,8 +539,6 @@ unrdrvsel1 lda DRV0EN + 1 unrdrvoff1 lda MOTOROFF ++ } else { ;enable_floppy = 0 -slot lda $cfff - sta unrentry + 1 ldy #0 - lda unrelochdd, y sta reloc, y @@ -608,11 +669,9 @@ x80_parms !byte 3, $d1 unrelocdsk !pseudopc reloc { rdwrpart - !if (override_adr + allow_subdir) > 0 { - ;only available when load address is specified - + !if (enable_readseq + allow_subdir) > 0 { jmp rdwrfile - } ;override_adr or allow_subdir + } ;enable_readseq or allow_subdir opendir !if no_interrupts = 1 { !if detect_err = 1 { @@ -902,7 +961,7 @@ unrdrvon2 = unrelocdsk + (* - reloc) } ;no_interrupts rdwrfilei - !if (allow_subdir + allow_saplings + allow_trees + (aligned_read xor 1)) > 0 { + !if (override_adr + allow_subdir + allow_saplings + allow_trees + (aligned_read xor 1)) > 0 { ;restore load offset ldx ldrhi @@ -922,12 +981,12 @@ rdwrfilei } ;allow_subdir sta adrlo stx adrhi - } else { ;allow_subdir = 0 and allow_saplings = 0 and allow_trees = 0 and aligned_read = 1 + } else { ;override_adr = 0 and allow_subdir = 0 and allow_saplings = 0 and allow_trees = 0 and aligned_read = 1 pla sta adrhi pla sta adrlo - } ;allow_subdir or allow_saplings or allow_trees + } ;override_adr or allow_subdir or allow_saplings or allow_trees and not aligned_read ;set requested size to min(length, requested size) @@ -1012,9 +1071,11 @@ unrdrvon3 = unrelocdsk + (* - reloc) ora sizelo bne rdwrfilei !if allow_aux = 0 { +unrdrvoff3 = unrelocdsk + (* - reloc) + lda MOTOROFF rts } else { ;allow_aux = 1 - beq rdwrdone + beq rdwrdonedrv } ;allow_aux } else { ;aligned_read = 1 !if bounds_check = 1 { @@ -1074,10 +1135,10 @@ rdwrloop ldy blkidx bne + - !if always_trees = 0 { + !if always_trees = 0 { lda istree beq + - } ;always_trees + } ;always_trees lda adrhi pha lda adrlo @@ -1177,7 +1238,8 @@ resparse dec sizehi bne rdwrloop -unrdrvoff3 = unrelocdsk + (* - reloc) +rdwrdonedrv +unrdrvoff4 = unrelocdsk + (* - reloc) lda MOTOROFF !if aligned_read = 0 { bcc + @@ -1405,7 +1467,6 @@ readdirsel pha phx } ;ver_02 -;;; jsr poll unrdrvon4 = unrelocdsk + (* - reloc) lda MOTORON @@ -1517,7 +1578,7 @@ cmpsecrd jsr readadr jsr readd5aa eor #$ad ;zero A if match -;; bne * ;lock if read failure + bne cmdsecrd unrread4 = unrelocdsk + (* - reloc) - ldx Q6L bpl - @@ -1577,8 +1638,9 @@ cmpsecwr jsr readadr ;skip tail #$DE #$AA #$EB some #$FFs ... - ldy #$24 -- dey + ldy #6 +- jsr readnib + dey bpl - ;write sector data @@ -1590,12 +1652,17 @@ unrslot1 = unrelocdsk + (* - reloc) tya sta Q7H, x ora Q6L, x + pha ;3 cycles + pla ;4 cycles + nop ;2 cycles ;40 cycles ldy #4 ;2 cycles - cmp $ea ;3 cycles - cmp ($ea, x) ;6 cycles + pha ;3 cycles + pla ;4 cycles + nop ;2 cycles +loopchk1 - jsr writenib1 ;(29 cycles) ;+6 cycles @@ -1606,8 +1673,15 @@ unrslot1 = unrelocdsk + (* - reloc) ;+10 cycles ldy #(prolog_e - prolog) ;2 cycles + !if >loopchk1 != >* { + !serious "loop1 crosses a page" + } cmp $ea ;3 cycles +loopchk2 - lda prolog - 1, y ;4 cycles + !if >(prolog - 1) != >prolog_e { + !serious "prologue crosses a page" + } jsr writenib2 ;(17 cycles) ;32 cycles if branch taken @@ -1618,7 +1692,11 @@ unrslot1 = unrelocdsk + (* - reloc) ;36 cycles on first pass ;+10 cycles tya ;2 cycles + !if >loopchk2 != >* { + !serious "loop2 crosses a page" + } ldy #$56 ;2 cycles +loopchk3 - eor bit2tbl - 1, y ;5 cycles tax ;2 cycles lda xlattbl, x ;4 cycles @@ -1636,7 +1714,12 @@ unrslot2 = unrelocdsk + (* - reloc) ;32 cycles ;+9 cycles clc ;2 cycles + !if >loopchk3 != >* { + !serious "loop3 crosses a page" + } +loopchk4 -- eor encbuf, y ;4 cycles +loopchk5 - tax ;2 cycles lda xlattbl, x ;4 cycles unrslot3 = unrelocdsk + (* - reloc) @@ -1648,20 +1731,36 @@ unrslot3 = unrelocdsk + (* - reloc) ;32 cycles if branch taken lda encbuf, y ;4 cycles +loopchk6 ;belongs to the "bcs +" above iny ;2 cycles bne -- ;3 cycles if taken, 2 if not ;32 cycles ;+10 cycles sec ;2 cycles + !if >loopchk4 != >* { + !serious "loop4 crosses a page" + } bcs - ;3 cycles ;32 cycles ;+3 cycles + !if >loopchk6 != >* { + !serious "loop6 crosses a page" + } + ldy #(epilog_e - epilog) ;2 cycles - cmp ($ea, x) ;6 cycles + !if >loopchk5 != >* { + !serious "loop5 crosses a page" + } + nop ;2 cycles + nop ;2 cycles + nop ;2 cycles +loopchk7 - lda epilog - 1, y ;4 cycles + !if >(epilog - 1) != >epilog_e { + !serious "epilogue crosses a page" + } jsr writenib2 ;(17 cycles) ;32 cycles if branch taken @@ -1670,6 +1769,9 @@ unrslot3 = unrelocdsk + (* - reloc) bne - ;3 cycles if branch taken, 2 if not lda Q7L, x + !if >loopchk7 != >* { + !serious "loop7 crosses a page" + } lda Q6L, x ;flush final value inc adrhi rts @@ -1688,8 +1790,8 @@ epilog !byte $ff, $eb, $aa, $de epilog_e } ;enable_write codeend -trackd1 !byte 0 -trackd2 !byte 0 +trackd1 !byte 0 +trackd2 !byte 0 bit2tbl = (* + 255) & -256 nibtbl = bit2tbl + 86 @@ -1885,9 +1987,9 @@ seek1 sta blkidx lda #1 sta sizehi } else { ;rwts_mode - !if (override_adr + allow_subdir) > 0 { + !if (enable_readseq + allow_subdir) > 0 { hddrdwrpart jmp hddrdwrfile - } ;override_adr or allow_subdir + } ;enable_readseq or allow_subdir hddopendir !if no_interrupts = 1 { !if detect_err = 1 { @@ -1925,7 +2027,7 @@ unrhddblockhi = unrelochdd + (* - reloc) hddreaddir ;note that calling this location directly limits subdirectories to 14 entries! lda #NAME_LENGTH + ENTRY_SIZE hddfirstent sta bloklo -bufferpatch1 +dirbufpatch1 lda #>(hdddirbuf - 1) sta blokhi @@ -2000,9 +2102,9 @@ hddnextent ldy #0 ;read next directory block when we reach the end of this block -bufferpatch2 +dirbufpatch2 ldx hdddirbuf + NEXT_BLOCK_LO -bufferpatch3 +dirbufpatch3 lda hdddirbuf + NEXT_BLOCK_HI jsr hddreaddirsec lda #NAME_LENGTH @@ -2091,13 +2193,11 @@ hddfoundname iny !if override_adr = 0 { ldy #AUX_TYPE -overridepatch1 lda (bloklo), y !if (allow_subdir + allow_saplings + allow_trees + (aligned_read xor 1)) > 0 { sta ldrlo sta ldrlo2 iny -overridepatch2 lda (bloklo), y sta ldrhi sta ldrhi2 @@ -2115,14 +2215,14 @@ overridepatch2 lda (bloklo), y tax !if (allow_subdir + allow_saplings + allow_trees) > 0 { -bufferpatch4 +dirbufpatch4 sta hdddirbuf !if (allow_trees + (fast_trees xor 1)) > 1 { sta treeblklo } ;allow_trees = 1 and fast_trees = 0 iny lda (bloklo), y -bufferpatch5 +dirbufpatch5 sta hdddirbuf + 256 !if (allow_trees + (fast_trees xor 1)) > 1 { sta treeblkhi @@ -2183,7 +2283,7 @@ hddrdwrfile hddrdwrfilei !if rwts_mode = 0 { - !if (allow_subdir + allow_saplings + allow_trees + (aligned_read xor 1)) > 0 { + !if (override_adr + allow_subdir + allow_saplings + allow_trees + (aligned_read xor 1)) > 0 { ;restore load offset ldx ldrhi @@ -2194,7 +2294,7 @@ hddrdwrfilei bcc + ldy #2 sty sizehi -bufferpatch6 +dirbufpatch6 ldx #>hdddirbuf lda #0 !if aligned_read = 0 { @@ -2204,12 +2304,12 @@ bufferpatch6 } ;allow_subdir sta adrlo stx adrhi - } else { ;allow_subdir = 0 and allow_saplings = 0 and allow_trees = 0 and aligned_read = 1 + } else { ;override_adr = 0 and allow_subdir = 0 and allow_saplings = 0 and allow_trees = 0 and aligned_read = 1 pla sta adrhi pla sta adrlo - } ;allow_subdir or allow_saplings or allow_trees + } ;override_adr or allow_subdir or allow_saplings or allow_trees and not aligned_read ;set requested size to min(length, requested size) @@ -2240,7 +2340,7 @@ hddcopyblock lda blkofflo tax - ora blkofflo + ora blkoffhi beq hddrdwrloop lda sizehi pha @@ -2251,6 +2351,7 @@ hddcopyblock lda adrlo sta bloklo stx adrlo +encbufpatch1 lda #>hddencbuf clc adc blkoffhi @@ -2340,6 +2441,7 @@ hddrdwrloop lda #2 sta sizehi } ;rwts_mode +encbufpatch2 lda #>hddencbuf sta adrhi !if ver_02 = 1 { @@ -2364,12 +2466,12 @@ hddrdwrloop !if rwts_mode = 0 { ldy blkidx bne + - !if always_trees = 0 { + !if always_trees = 0 { lda istree beq + } ;always_trees } else { ;rwts_mode = 1 - ldy istree + ldy #>hddtreebuf } ;rwts_mode lda adrhi pha @@ -2486,9 +2588,9 @@ skiptree sty lastblk } ;rwts_mode -bufferpatch7 +dirbufpatch7 ldx hdddirbuf, y -bufferpatch8 +dirbufpatch8 lda hdddirbuf + 256, y !if detect_treof = 1 { bne noteof2 @@ -2502,7 +2604,7 @@ noteof2 } ;detect_treof !if allow_sparse = 1 { pha -bufferpatch9 +dirbufpatch9 ora hdddirbuf, y tay pla @@ -2546,7 +2648,7 @@ hddresparse dec sizehi bne hddrdwrloop !if aligned_read = 0 { - !if bounds_check = 0 { + !if bounds_check = 1 { bcc + } ;bounds_check lda sizelo @@ -2649,7 +2751,7 @@ hddcopycache sta blkoffhi bcc hddrdwrdone ;always } else { ;rwts_mode = 1 - rts +hddrdwrdone rts } ;rwts_mode } ;aligned_read @@ -2674,12 +2776,13 @@ hddreaddirsel hddreaddirsec !if allow_trees = 0 { -bufferpatch10 +dirbufpatch10 hddreaddirsect ldy #>hdddirbuf } else { ;allow_trees = 1 ldy #>hdddirbuf hddreaddirsect } ;allow_trees +unrhddrd = unrelochdd + (* - reloc) sty adrhi hddseekrd ldy #cmdread !if (aligned_read + enable_write) > 1 { @@ -2692,12 +2795,35 @@ hddseekrdwr stx bloklo sta blokhi -unrunit=unrelochdd+(*-reloc) +unrunit1 = unrelochdd + (* - reloc) lda #$d1 sta unit -unrentry=unrelochdd+(*-reloc) +unrentry2 = unrelochdd + (* - reloc) jmp $d1d1 +!if allow_extend = 1 { + ldx #4 +- lda command + 1, x + sta packet + 1, x + dex + bne - + lda command + sta pcommand + +unrentry3 = unrelochdd + (* - reloc) + jsr $d1d1 +pcommand !byte 0 + !word packet + rts + +unrpacket = unrelochdd + (* - reloc) +packet !byte 3 +unrunit2 = unrelochdd + (* - reloc) + !byte 0 + !word readbuff + $200 + !word 2 +} ;allow_extend + !if rwts_mode = 1 { vollist_b !byte D1S1 @@ -2733,7 +2859,7 @@ hdddataend !pseudopc ((dataend + $ff) & -256) { dirbuf = * } - encbuf=dirbuf + $200 + encbuf = dirbuf + $200 !if allow_trees = 1 { treebuf = encbuf + $200 } ;allow_trees @@ -2801,7 +2927,7 @@ hdddataend } !if aligned_read = 0 { hddencbuf = hdddirbuf + $200 - !if hddencbuf >= $c000 { + !if (hddencbuf + $200) > $c000 { !if hddencbuf < $d000 { !set hddencbuf = reloc - $200 } @@ -2813,10 +2939,20 @@ hdddataend !if hddtreebuf >= reloc { !if hddencbuf < hddcodeend { !set hddtreebuf = hddencbuf - $200 + !if (hddtreebuf + $200) > $c000 { + !if hddtreebuf < $d000 { + !set hddtreebuf = reloc - $200 + } + } } } } else { ;aligned_read = 1 hddtreebuf = hdddirbuf + $200 + !if (hddtreebuf + $200) > $c000 { + !if hddtreebuf < $d000 { + !set hddtreebuf = reloc - $200 + } + } } ;aligned_read } ;allow_trees } ;load_high diff --git a/winmake.bat b/winmake.bat index a2c988895..d6350e18e 100644 --- a/winmake.bat +++ b/winmake.bat @@ -38,6 +38,7 @@ if "%1" equ "asm" ( %ACME% src\fx\fx.hgr.block.fizzle.a %ACME% src\fx\fx.hgr.block.mosaic.a %ACME% src\fx\fx.hgr.2pass.lr.a +%ACME% src\fx\fx.hgr.crystal.a goto :EOF ) @@ -53,15 +54,11 @@ call :asm 2>nul del build\log %CADIUS% CREATEVOLUME "build\%DISK%" "%VOLUME%" 32766KB >>build\log 1>nul copy /y res\_FileInformation.txt build\ >>build\log -cscript /nologo bin/buildproboot.js "build\%DISK%" -%CADIUS% ADDFILE "build\%DISK%" "/%VOLUME%/" "res\PRODOS" >>build\log %CADIUS% ADDFILE "build\%DISK%" "/%VOLUME%/" "build\LAUNCHER.SYSTEM" >>build\log %CADIUS% CREATEFOLDER "build\%DISK%" "/%VOLUME%/X/" >>build\log %CADIUS% ADDFILE "build\%DISK%" "/%VOLUME%/" "res\GAMES.CONF" >>build\log %CADIUS% ADDFILE "build\%DISK%" "/%VOLUME%/" "res\ATTRACT.CONF" >>build\log %CADIUS% ADDFILE "build\%DISK%" "/%VOLUME%/" "res\FX.CONF" >>build\log -%CADIUS% ADDFILE "build\%DISK%" "/%VOLUME%/" "res\COVER" >>build\log -%CADIUS% ADDFILE "build\%DISK%" "/%VOLUME%/" "res\COVER.A2FC" >>build\log 1>nul copy /y res\hgr\* build\HGR >>build\log cscript /nologo bin/buildfileinfo.js build\HGR >>build\log %CADIUS% ADDFOLDER "build\%DISK%" "/%VOLUME%/HGR" "build/HGR" >>build/log @@ -75,6 +72,8 @@ cscript /nologo bin/buildfileinfo.js build\DHGR >>build\log 1>nul copy /y res\fx\* build\FX >>build\log %CADIUS% ADDFOLDER "build\%DISK%" "/%VOLUME%/FX" "build/FX" >>build\log cscript /nologo bin/do2po.js res\dsk\ build\po\ +%CADIUS% ADDFOLDER "build\%DISK%" "/%VOLUME%/X" "build/X" >>build\log +cscript /nologo bin/changebootloader.js "build\%DISK%" res\proboothd goto :EOF )