mirror of https://github.com/wwarthen/RomWBW.git
40 changed files with 569 additions and 441 deletions
@ -1,10 +1,29 @@ |
|||
@echo off |
|||
echo Setting PowerShell ExecutionPolicy = RemoteSigned... |
|||
echo By default, PowerShell is configured to block the |
|||
echo execution of unsigned scripts on your local system. |
|||
echo This command file will attempt to modify your |
|||
echo PowerShell ExecutionPolicy to "RemoteSigned" |
|||
echo which means that local scripts can be run without |
|||
echo being signed. This is required to use the RomWBW |
|||
echo build process. |
|||
echo. |
|||
PowerShell -command Write-Host "Your PowerShell ExecutionPolicy is currently (Get-ExecutionPolicy)" |
|||
echo. |
|||
echo In order to modify the ExecutionPolicy, this command |
|||
echo file *MUST* be run with administrator privileges. |
|||
echo Generally, this means you want to right-click the |
|||
echo command file called FixPowerShell.cmd and choose |
|||
echo "Run as Administrator". If you attempt to continue |
|||
echo without administrator privileges, the modification |
|||
echo will fail with an error message, but no harm is done. |
|||
echo. |
|||
choice /m "Do you want to proceed" |
|||
if errorlevel 2 goto :eof |
|||
echo. |
|||
echo Attempting to change Execution Policy... |
|||
echo. |
|||
PowerShell Set-ExecutionPolicy RemoteSigned |
|||
echo PowerShell ExecutionPolicy is now: |
|||
PowerShell Get-ExecutionPolicy |
|||
echo. |
|||
echo The execution policy should be "RemoteSigned" |
|||
PowerShell -command Write-Host "Your new PowerShell ExecutionPolicy is now (Get-ExecutionPolicy)" |
|||
echo. |
|||
pause |
|||
@ -0,0 +1,110 @@ |
|||
; |
|||
;================================================================================================== |
|||
; MD DISK DRIVER (MEMORY DISK) |
|||
;================================================================================================== |
|||
; |
|||
MD_DISPATCH: |
|||
LD A,B ; GET REQUESTED FUNCTION |
|||
AND $0F |
|||
JR Z,MD_READ |
|||
DEC A |
|||
JR Z,MD_WRITE |
|||
DEC A |
|||
JR Z,MD_STATUS |
|||
DEC A |
|||
JR Z,MD_MEDIA |
|||
CALL PANIC |
|||
; |
|||
; |
|||
; |
|||
MD_MEDIA: |
|||
LD A,C ; DEVICE/UNIT IS IN C |
|||
AND $0F ; ISOLATE UNIT NUM |
|||
CP 2 ; CHECK FOR MAX UNIT EXCEEDED |
|||
CALL NC,PANIC ; PANIC IF TOO HIGH |
|||
ADD A,MID_MDROM ; SET CORRECT MEDIA VALUE |
|||
RET |
|||
; |
|||
; |
|||
; |
|||
MD_INIT: |
|||
PRTS("MD: UNITS=2 $") |
|||
PRTS("ROMDISK=$") |
|||
LD HL,ROMSIZE - 64 |
|||
CALL PRTDEC |
|||
PRTS("KB RAMDISK=$") |
|||
LD HL,RAMSIZE - 32 - 64 |
|||
CALL PRTDEC |
|||
PRTS("KB$") |
|||
XOR A ; INIT SUCCEEDED |
|||
RET ; RETURN |
|||
; |
|||
; |
|||
; |
|||
MD_STATUS: |
|||
XOR A ; ALWAYS OK |
|||
RET |
|||
; |
|||
; |
|||
; |
|||
MD_READ: |
|||
CALL MD_IOSETUP ; SETUP FOR MEMORY COPY |
|||
JR MD_BNKCPY ; DO IT AND RETURN |
|||
; |
|||
; |
|||
; |
|||
MD_WRITE: |
|||
LD A,C ; DEVICE/UNIT IS IN C |
|||
AND $0F ; ISOLATE UNIT NUM |
|||
LD A,1 ; PREPARE TO RETURN FALSE |
|||
RET Z ; RETURN ERROR IF ROM UNIT |
|||
|
|||
CALL MD_IOSETUP ; SETUP FOR MEMORY COPY |
|||
EX DE,HL ; SWAP SRC/DEST FOR WRITE |
|||
JR MD_BNKCPY ; DO IT AND RETURN |
|||
; |
|||
; |
|||
; |
|||
MD_BNKCPY: |
|||
; DO THE MEMORY COPY |
|||
CALL HB_BNKCPY ; COPY TO/FROM DMA BUFFER |
|||
XOR A ; SET SUCCESS |
|||
RET |
|||
; |
|||
; SETUP FOR MEMORY COPY |
|||
; A=BANK SELECT |
|||
; BC=COPY SIZE |
|||
; DE=DESTINATION |
|||
; HL=SOURCE |
|||
; |
|||
; ASSUMES A "READ" OPERATION. HL AND DE CAN BE SWAPPED |
|||
; FOR A WRITE OPERATION |
|||
; |
|||
MD_IOSETUP: |
|||
; SETUP A WITH BANK SELECTION VALUE |
|||
; NOTE THAT HIGH ORDER BIT DETERMINES ROM/RAM ACCESS |
|||
; THE OTHER BITS DETERMINE BANK NUMBER |
|||
LD A,(HSTTRK) |
|||
INC A ; OFFSET PAST RESERVED 32KB SYSTEM AREA OF RAM/ROM! |
|||
INC A ; OFFSET ANOTHER 32K PAST DRIVER BANK |
|||
LD C,A ; SAVE IT IN C |
|||
|
|||
LD A,(HSTDSK) ; GET DEVICE/UNIT |
|||
AND $01 ; ISOLATE LOW BIT |
|||
RRCA ; MOVE IT TO HIGH BIT |
|||
OR C ; COMBINE WITH SAVE PAGE NUM |
|||
PUSH AF ; SAVE FOR LATER |
|||
|
|||
; SETUP HL WITH MEMORY BANK OFFSET BASED ON SECTOR INDEX |
|||
; WE NEED TO MULTIPLY THE SECTOR INDEX (HSTSEC) |
|||
; BY 512 TO GET THE MEMORY BANK OFFSET |
|||
LD A,(HSTSEC) ; GET LSB OF SECTOR INTO A |
|||
RLCA ; SHIFT LEFT ONE BIT |
|||
LD H,A ; PUT IN H |
|||
LD L,0 ; SET L TO ZERO |
|||
|
|||
; LOAD DESTINATION AND COUNT |
|||
LD DE,(DIOBUF) ; DMA ADDRESS IS DESTINATION |
|||
LD BC,512 ; ALWAYS COPY ONE SECTOR |
|||
POP AF ; RECOVER PAGE VALUE |
|||
RET |
|||
@ -0,0 +1,35 @@ |
|||
; |
|||
;================================================================================================== |
|||
; HDSK DISK DRIVER - DATA |
|||
;================================================================================================== |
|||
; |
|||
; MEMORY DISK 00: ROM DISK |
|||
; |
|||
ROMBLKS .EQU ((ROMSIZE - 64) / 2) |
|||
; |
|||
.DB DIODEV_MD + 0 |
|||
MDDPH0 .DW 0000,0000 |
|||
.DW 0000,0000 |
|||
.DW DIRBF,DPB_ROM |
|||
.DW MDCSV0,MDALV0 |
|||
; |
|||
CKS_ROM .EQU 0 ; CKS: 0 FOR NON-REMOVABLE MEDIA |
|||
ALS_ROM .EQU ((ROMBLKS + 7) / 8) ; ALS: BLKS / 8 (ROUNDED UP) |
|||
; |
|||
; MEMORY DISK 01: RAM DISK |
|||
; |
|||
RAMBLKS .EQU ((RAMSIZE - 96) / 2) |
|||
; |
|||
.DB DIODEV_MD + 1 |
|||
MDDPH1 .DW 0000,0000 |
|||
.DW 0000,0000 |
|||
.DW DIRBF,DPB_RAM |
|||
.DW MDCSV1,MDALV1 |
|||
; |
|||
CKS_RAM .EQU 0 ; CKS: 0 FOR NON-REMOVABLE MEDIA |
|||
ALS_RAM .EQU ((RAMBLKS + 7) / 8) ; ALS: BLKS / 8 (ROUNDED UP) |
|||
; |
|||
MDCSV0: .FILL 0 ; NO DIRECTORY CHECKSUM, NON-REMOVABLE DRIVE |
|||
MDALV0: .FILL ALS_ROM,00H ; MAX OF 512 DATA BLOCKS |
|||
MDCSV1: .FILL 0 ; NO DIRECTORY CHECKSUM, NON-REMOVABLE DRIVE |
|||
MDALV1: .FILL ALS_RAM,00H ; MAX OF 256 DATA BLOCKS |
|||
@ -1,6 +1,7 @@ |
|||
#DEFINE RMJ 2 |
|||
#DEFINE RMN 5 |
|||
#DEFINE RUP 0 |
|||
#DEFINE RTP 13 |
|||
#DEFINE BIOSVER "2.5 - Beta 13" |
|||
#DEFINE RTP 14 |
|||
#DEFINE BIOSVER "2.5" |
|||
#DEFINE BIOSBLD "Prerelease Build 14" |
|||
#DEFINE REVISION 412 |
|||
|
|||
Loading…
Reference in new issue