New build system
This commit is contained in:
parent
627b879755
commit
5568fe98b1
|
@ -3,3 +3,7 @@ obj/
|
||||||
RDiskCP/RDiskCP.rsrc
|
RDiskCP/RDiskCP.rsrc
|
||||||
RDiskCP/GW ROM Disk
|
RDiskCP/GW ROM Disk
|
||||||
RDiskCP/RDiskCP
|
RDiskCP/RDiskCP
|
||||||
|
bin/IIsi/
|
||||||
|
bin/IIci/
|
||||||
|
bin/IIfx/
|
||||||
|
bin/IIxIIcxSE30/
|
||||||
|
|
166
Makefile
166
Makefile
|
@ -5,13 +5,22 @@ LD=$(PREFIX)-ld
|
||||||
OBJCOPY=$(PREFIX)-objcopy
|
OBJCOPY=$(PREFIX)-objcopy
|
||||||
OBJDUMP=$(PREFIX)-objdump
|
OBJDUMP=$(PREFIX)-objdump
|
||||||
|
|
||||||
all: bin/rom16M_swap.bin obj/rdisk7M5.s obj/driver7M5.s obj/entry_rel.sym obj/driver_abs.sym
|
all: bin/IIxIIcxSE30/IIxIIcxSE30_8M.bin bin/IIci/IIci_8M.bin bin/IIfx/IIfx_8M.bin bin/IIsi/IIsi_8M.bin bin/GWSys71_8M.bin bin/GWSys6_8M.bin bin/GWSys6T_2M.bin obj/rdisk.s obj/driver.s obj/driver_abs.sym
|
||||||
|
|
||||||
obj:
|
obj:
|
||||||
mkdir obj
|
mkdir $@
|
||||||
|
|
||||||
bin:
|
bin:
|
||||||
mkdir bin
|
mkdir $@
|
||||||
|
bin/IIsi: bin
|
||||||
|
mkdir $@
|
||||||
|
bin/IIxIIcxSE30: bin
|
||||||
|
mkdir $@
|
||||||
|
bin/IIci: bin
|
||||||
|
mkdir $@
|
||||||
|
bin/IIfx: bin
|
||||||
|
mkdir $@
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
obj/entry.o: entry.s obj
|
obj/entry.o: entry.s obj
|
||||||
|
@ -21,37 +30,146 @@ obj/entry_rel.sym: obj obj/entry.o
|
||||||
$(OBJDUMP) -t obj/entry.o > $@
|
$(OBJDUMP) -t obj/entry.o > $@
|
||||||
|
|
||||||
|
|
||||||
obj/rdisk7M5.o: rdisk.c obj
|
obj/rdisk.o: rdisk.c obj
|
||||||
$(CC) -Wall -DRDiskSize=7864320 -march=68030 -c -Os $< -o $@
|
$(CC) -Wall -march=68030 -c -Os $< -o $@
|
||||||
|
|
||||||
obj/rdisk7M5.s: obj obj/rdisk7M5.o
|
obj/rdisk.s: obj obj/rdisk.o
|
||||||
$(OBJDUMP) -d obj/rdisk7M5.o > $@
|
$(OBJDUMP) -d obj/rdisk.o > $@
|
||||||
|
|
||||||
obj/driver7M5.o: obj obj/entry.o obj/rdisk7M5.o
|
obj/driver.o: obj obj/entry.o obj/rdisk.o
|
||||||
$(LD) -Ttext=40851D70 -o $@ obj/entry.o obj/rdisk7M5.o
|
$(LD) -Ttext=40851D70 -o $@ obj/entry.o obj/rdisk.o
|
||||||
|
|
||||||
obj/driver7M5.s: obj obj/driver7M5.o
|
obj/driver.s: obj obj/driver.o
|
||||||
$(OBJDUMP) -d obj/driver7M5.o > $@
|
$(OBJDUMP) -d obj/driver.o > $@
|
||||||
|
|
||||||
obj/driver_abs.sym: obj obj/driver7M5.o
|
obj/driver_abs.sym: obj obj/driver.o
|
||||||
$(OBJDUMP) -t obj/driver7M5.o > $@
|
$(OBJDUMP) -t obj/driver.o > $@
|
||||||
|
|
||||||
|
|
||||||
bin/driver7M5.bin: bin obj/driver7M5.o
|
bin/driver.bin: bin obj/driver.o
|
||||||
$(OBJCOPY) -O binary obj/driver7M5.o $@
|
$(OBJCOPY) -O binary obj/driver.o $@
|
||||||
|
|
||||||
bin/rom8M.bin: bin baserom.bin RDisk7M5.dsk bin bin/driver7M5.bin obj/driver_abs.sym obj/entry_rel.sym
|
bin/baserom_romdisk_ramtest.bin: bin roms/baserom.bin bin/driver.bin obj/driver_abs.sym obj/entry_rel.sym
|
||||||
cp baserom.bin $@ # Copy base rom
|
cp roms/baserom.bin $@ # Copy base rom
|
||||||
# Patch driver
|
# Patch driver
|
||||||
dd if=bin/driver7M5.bin of=$@ bs=1 seek=335248 skip=32 conv=notrunc # Copy driver code
|
dd if=bin/driver.bin of=$@ bs=1 seek=335248 skip=32 conv=notrunc # Copy driver code
|
||||||
printf '\x78' | dd of=$@ bs=1 seek=335168 count=1 conv=notrunc # Set resource flags
|
printf '\x78' | dd of=$@ bs=1 seek=335168 count=1 conv=notrunc # Set resource flags
|
||||||
printf '\x4F' | dd of=$@ bs=1 seek=335216 count=1 conv=notrunc # Set driver flags
|
printf '\x4F' | dd of=$@ bs=1 seek=335216 count=1 conv=notrunc # Set driver flags
|
||||||
cat obj/entry_rel.sym | grep "DOpen" | cut -c5-8 | xxd -r -p - | dd of=$@ bs=1 seek=335224 count=2 conv=notrunc
|
cat obj/entry_rel.sym | grep "[0-9]\s*DOpen" | cut -c5-8 | xxd -r -p - | dd of=$@ bs=1 seek=335224 count=2 conv=notrunc
|
||||||
cat obj/entry_rel.sym | grep "DPrime" | cut -c5-8 | xxd -r -p - | dd of=$@ bs=1 seek=335226 count=2 conv=notrunc
|
cat obj/entry_rel.sym | grep "[0-9]\s*DPrime" | cut -c5-8 | xxd -r -p - | dd of=$@ bs=1 seek=335226 count=2 conv=notrunc
|
||||||
cat obj/entry_rel.sym | grep "DControl" | cut -c5-8 | xxd -r -p - | dd of=$@ bs=1 seek=335228 count=2 conv=notrunc
|
cat obj/entry_rel.sym | grep "[0-9]\s*DControl" | cut -c5-8 | xxd -r -p - | dd of=$@ bs=1 seek=335228 count=2 conv=notrunc
|
||||||
cat obj/entry_rel.sym | grep "DStatus" | cut -c5-8 | xxd -r -p - | dd of=$@ bs=1 seek=335230 count=2 conv=notrunc
|
cat obj/entry_rel.sym | grep "[0-9]\s*DStatus" | cut -c5-8 | xxd -r -p - | dd of=$@ bs=1 seek=335230 count=2 conv=notrunc
|
||||||
cat obj/entry_rel.sym | grep "DClose" | cut -c5-8 | xxd -r -p - | dd of=$@ bs=1 seek=335232 count=2 conv=notrunc
|
cat obj/entry_rel.sym | grep "[0-9]\s*DClose" | cut -c5-8 | xxd -r -p - | dd of=$@ bs=1 seek=335232 count=2 conv=notrunc
|
||||||
dd if=RDisk7M5.dsk of=$@ bs=1024 seek=512 count=7680 conv=notrunc # copy disk image
|
|
||||||
|
bin/baserom_romdisk_noramtest.bin: bin bin/baserom_romdisk_ramtest.bin
|
||||||
|
cp bin/baserom_romdisk_ramtest.bin $@ # Copy base rom
|
||||||
|
# Disable RAM test
|
||||||
|
printf '\x4E\xD6' | dd of=$@ bs=1 seek=288736 count=2 conv=notrunc
|
||||||
|
printf '\x4E\xD6' | dd of=$@ bs=1 seek=289016 count=2 conv=notrunc
|
||||||
|
|
||||||
|
|
||||||
|
bin/GWSys71_8M.bin: bin bin/baserom_romdisk_noramtest.bin disks/RDisk7M5.dsk
|
||||||
|
# Copy base rom with ROM disk driver
|
||||||
|
cp bin/baserom_romdisk_noramtest.bin $@
|
||||||
|
# Patch ROM disk driver parameter table
|
||||||
|
printf '\x00\x01\x2A\x29' | dd of=$@ bs=1 seek=335260 count=4 conv=notrunc # Patch CDR patch offset
|
||||||
|
printf '\x40\x89\x2A\x14' | dd of=$@ bs=1 seek=335268 count=4 conv=notrunc # Patch CDR name address
|
||||||
|
printf '\x44' | dd of=$@ bs=1 seek=335273 count=1 conv=notrunc # Patch CDR disable byte
|
||||||
|
printf '\x00\x78\x00\x00' | dd of=$@ bs=1 seek=335276 count=4 conv=notrunc # Patch ROM disk size
|
||||||
|
# Copy ROM disk image
|
||||||
|
dd if=disks/RDisk7M5.dsk of=$@ bs=1024 seek=512 conv=notrunc
|
||||||
|
# Compute checksum
|
||||||
|
#python checksum.py $@ | cut -c3-10 | xxd -r -p - | dd of=$@ bs=1 seek=0 count=4 conv=notrunc
|
||||||
|
printf '\x36\x9D\x3E\x51' | dd of=$@ bs=1 seek=0 count=4 conv=notrunc # Insert fake checksum (BMoW)
|
||||||
|
|
||||||
|
|
||||||
|
bin/GWSys6_4M.bin: bin bin/baserom_romdisk_noramtest.bin disks/RDisk3M5.dsk
|
||||||
|
# Copy base rom with ROM disk driver
|
||||||
|
cp bin/baserom_romdisk_noramtest.bin $@
|
||||||
|
# Patch ROM disk driver parameter table
|
||||||
|
printf '\xFF\xFF\xFF\xFF' | dd of=$@ bs=1 seek=335260 count=4 conv=notrunc # Patch CDR patch offset
|
||||||
|
printf '\x00\x00\x00\x00' | dd of=$@ bs=1 seek=335268 count=4 conv=notrunc # Patch CDR name address
|
||||||
|
printf '\x44' | dd of=$@ bs=1 seek=335273 count=1 conv=notrunc # Patch CDR disable byte
|
||||||
|
printf '\x00\x38\x00\x00' | dd of=$@ bs=1 seek=335276 count=4 conv=notrunc # Patch ROM disk size
|
||||||
|
# Copy ROM disk image
|
||||||
|
dd if=disks/RDisk3M5.dsk of=$@ bs=1024 seek=512 conv=notrunc
|
||||||
|
# Compute checksum
|
||||||
|
#python checksum.py $@ | cut -c3-10 | xxd -r -p - | dd of=$@ bs=1 seek=0 count=4 conv=notrunc
|
||||||
|
printf '\x36\x9D\x3E\x51' | dd of=$@ bs=1 seek=0 count=4 conv=notrunc # Insert fake checksum (BMoW)
|
||||||
|
|
||||||
|
bin/GWSys6_8M.bin: bin/GWSys6_4M.bin
|
||||||
|
cat bin/GWSys6_4M.bin > $@
|
||||||
|
cat bin/GWSys6_4M.bin >> $@
|
||||||
|
|
||||||
|
|
||||||
|
bin/GWSys6T_2M.bin: bin bin/baserom_romdisk_ramtest.bin disks/RDisk1M5.dsk
|
||||||
|
# Copy base rom with ROM disk driver
|
||||||
|
cp bin/baserom_romdisk_ramtest.bin $@
|
||||||
|
# Patch ROM disk driver parameter table
|
||||||
|
printf '\xFF\xFF\xFF\xFF' | dd of=$@ bs=1 seek=335260 count=4 conv=notrunc # Patch CDR patch offset
|
||||||
|
printf '\x00\x00\x00\x00' | dd of=$@ bs=1 seek=335268 count=4 conv=notrunc # Patch CDR name address
|
||||||
|
printf '\x44' | dd of=$@ bs=1 seek=335273 count=1 conv=notrunc # Patch CDR disable byte
|
||||||
|
printf '\x00\x18\x00\x00' | dd of=$@ bs=1 seek=335276 count=4 conv=notrunc # Patch ROM disk size
|
||||||
|
# Copy ROM disk image
|
||||||
|
dd if=disks/RDisk1M5.dsk of=$@ bs=1024 seek=512 conv=notrunc
|
||||||
|
# Compute checksum
|
||||||
|
#python checksum.py $@ | cut -c3-10 | xxd -r -p - | dd of=$@ bs=1 seek=0 count=4 conv=notrunc
|
||||||
|
printf '\x36\x9D\x3E\x51' | dd of=$@ bs=1 seek=0 count=4 conv=notrunc # Insert fake checksum (BMoW)
|
||||||
|
|
||||||
|
|
||||||
|
bin/IIxIIcxSE30/IIxIIcxSE30_512k.bin: bin/IIxIIcxSE30 roms/IIxIIcxSE30.bin
|
||||||
|
cat roms/IIxIIcxSE30.bin > $@; cat roms/IIxIIcxSE30.bin >> $@
|
||||||
|
|
||||||
|
bin/IIxIIcxSE30/IIxIIcxSE30_1M.bin: bin/IIxIIcxSE30 bin/IIxIIcxSE30/IIxIIcxSE30_512k.bin
|
||||||
|
cat bin/IIxIIcxSE30/IIxIIcxSE30_512k.bin > $@; cat bin/IIxIIcxSE30/IIxIIcxSE30_512k.bin >> $@
|
||||||
|
|
||||||
|
bin/IIxIIcxSE30/IIxIIcxSE30_2M.bin: bin/IIxIIcxSE30 bin/IIxIIcxSE30/IIxIIcxSE30_1M.bin
|
||||||
|
cat bin/IIxIIcxSE30/IIxIIcxSE30_1M.bin > $@; cat bin/IIxIIcxSE30/IIxIIcxSE30_1M.bin >> $@
|
||||||
|
|
||||||
|
bin/IIxIIcxSE30/IIxIIcxSE30_4M.bin: bin/IIxIIcxSE30 bin/IIxIIcxSE30/IIxIIcxSE30_2M.bin
|
||||||
|
cat bin/IIxIIcxSE30/IIxIIcxSE30_2M.bin > $@; cat bin/IIxIIcxSE30/IIxIIcxSE30_2M.bin >> $@
|
||||||
|
|
||||||
|
bin/IIxIIcxSE30/IIxIIcxSE30_8M.bin: bin/IIxIIcxSE30 bin/IIxIIcxSE30/IIxIIcxSE30_4M.bin
|
||||||
|
cat bin/IIxIIcxSE30/IIxIIcxSE30_4M.bin > $@; cat bin/IIxIIcxSE30/IIxIIcxSE30_4M.bin >> $@
|
||||||
|
|
||||||
|
|
||||||
|
bin/IIci/IIci_1M.bin: bin/IIci roms/IIci.bin
|
||||||
|
cat roms/IIci.bin > $@; cat roms/IIci.bin >> $@
|
||||||
|
|
||||||
|
bin/IIci/IIci_2M.bin: bin/IIci bin/IIci/IIci_1M.bin
|
||||||
|
cat bin/IIci/IIci_1M.bin > $@; cat bin/IIci/IIci_1M.bin >> $@
|
||||||
|
|
||||||
|
bin/IIci/IIci_4M.bin: bin/IIci bin/IIci/IIci_2M.bin
|
||||||
|
cat bin/IIci/IIci_2M.bin > $@; cat bin/IIci/IIci_2M.bin >> $@
|
||||||
|
|
||||||
|
bin/IIci/IIci_8M.bin: bin/IIci bin/IIci/IIci_4M.bin
|
||||||
|
cat bin/IIci/IIci_4M.bin > $@; cat bin/IIci/IIci_4M.bin >> $@
|
||||||
|
|
||||||
|
|
||||||
|
bin/IIfx/IIfx_1M.bin: bin/IIfx roms/IIfx.bin
|
||||||
|
cat roms/IIfx.bin > $@; cat roms/IIfx.bin >> $@
|
||||||
|
|
||||||
|
bin/IIfx/IIfx_2M.bin: bin/IIfx bin/IIfx/IIfx_1M.bin
|
||||||
|
cat bin/IIfx/IIfx_1M.bin > $@; cat bin/IIfx/IIfx_1M.bin >> $@
|
||||||
|
|
||||||
|
bin/IIfx/IIfx_4M.bin: bin/IIfx bin/IIfx/IIfx_2M.bin
|
||||||
|
cat bin/IIfx/IIfx_2M.bin > $@; cat bin/IIfx/IIfx_2M.bin >> $@
|
||||||
|
|
||||||
|
bin/IIfx/IIfx_8M.bin: bin/IIfx bin/IIfx/IIfx_4M.bin
|
||||||
|
cat bin/IIfx/IIfx_4M.bin > $@; cat bin/IIfx/IIfx_4M.bin >> $@
|
||||||
|
|
||||||
|
|
||||||
|
bin/IIsi/IIsi_1M.bin: bin/IIsi roms/IIsi.bin
|
||||||
|
cat roms/IIsi.bin > $@; cat roms/IIsi.bin >> $@
|
||||||
|
|
||||||
|
bin/IIsi/IIsi_2M.bin: bin/IIsi bin/IIsi/IIsi_1M.bin
|
||||||
|
cat bin/IIsi/IIsi_1M.bin > $@; cat bin/IIsi/IIsi_1M.bin >> $@
|
||||||
|
|
||||||
|
bin/IIsi/IIsi_4M.bin: bin/IIsi bin/IIsi/IIsi_2M.bin
|
||||||
|
cat bin/IIsi/IIsi_2M.bin > $@; cat bin/IIsi/IIsi_2M.bin >> $@
|
||||||
|
|
||||||
|
bin/IIsi/IIsi_8M.bin: bin/IIsi bin/IIsi/IIsi_4M.bin
|
||||||
|
cat bin/IIsi/IIsi_4M.bin > $@; cat bin/IIsi/IIsi_4M.bin >> $@
|
||||||
|
|
||||||
|
|
||||||
.PHONY: clean
|
.PHONY: clean
|
||||||
|
|
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
|
@ -0,0 +1,11 @@
|
||||||
|
import sys
|
||||||
|
import struct
|
||||||
|
|
||||||
|
with open(sys.argv[1], mode='rb') as file:
|
||||||
|
file.read(4) # discard first four bytes
|
||||||
|
rombin = file.read() # read rest of file
|
||||||
|
cksum = 0
|
||||||
|
for i in struct.unpack('>' + str(len(rombin)/2) + 'H', rombin):
|
||||||
|
cksum += i;
|
||||||
|
cksum &= 0xFFFFFFFF
|
||||||
|
print(hex(cksum))
|
Binary file not shown.
Binary file not shown.
7
entry.s
7
entry.s
|
@ -21,11 +21,11 @@ RDiskSig:
|
||||||
RDiskDBGDisPos:
|
RDiskDBGDisPos:
|
||||||
dc.l 0x00000031
|
dc.l 0x00000031
|
||||||
RDiskCDRDisPos:
|
RDiskCDRDisPos:
|
||||||
dc.l 0x00012A29
|
dc.l 0xFFFFFFFF
|
||||||
RDiskDBGNameAddr:
|
RDiskDBGNameAddr:
|
||||||
dc.l 0x4088002A
|
dc.l 0x4088002A
|
||||||
RDiskCDRNameAddr:
|
RDiskCDRNameAddr:
|
||||||
dc.l 0x40892A14
|
dc.l 0x00000000
|
||||||
RDiskDBGDisByte:
|
RDiskDBGDisByte:
|
||||||
dc.b 0x44
|
dc.b 0x44
|
||||||
RDiskCDRDisByte:
|
RDiskCDRDisByte:
|
||||||
|
@ -34,6 +34,9 @@ RDiskRAMRequired:
|
||||||
.ascii "16"
|
.ascii "16"
|
||||||
|
|
||||||
.align 4
|
.align 4
|
||||||
|
RDiskSize:
|
||||||
|
dc.l 0x00780000
|
||||||
|
|
||||||
DOpen:
|
DOpen:
|
||||||
movem.l %A0-%A1, -(%SP)
|
movem.l %A0-%A1, -(%SP)
|
||||||
bsr RDOpen
|
bsr RDOpen
|
||||||
|
|
33
rdisk.c
33
rdisk.c
|
@ -118,6 +118,10 @@ OSErr RDOpen(IOParamPtr p, DCtlPtr d) {
|
||||||
// Find first available drive number
|
// Find first available drive number
|
||||||
drvNum = RDFindDrvNum();
|
drvNum = RDFindDrvNum();
|
||||||
|
|
||||||
|
// Get debug and CD-ROM disable settings from ROM table
|
||||||
|
c->dbgDisByte = RDiskDBGDisByte;
|
||||||
|
c->cdrDisByte = RDiskCDRDisByte;
|
||||||
|
|
||||||
// Set drive status
|
// Set drive status
|
||||||
//c->status.track = 0;
|
//c->status.track = 0;
|
||||||
c->status.writeProt = -1; // nonzero is write protected
|
c->status.writeProt = -1; // nonzero is write protected
|
||||||
|
@ -182,24 +186,19 @@ static void RDInit(IOParamPtr p, DCtlPtr d, RDiskStorage_t *c) {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
// Get debug and CD-ROM disable settings from ROM table
|
|
||||||
c->dbgDisPos = *(long*)0x40851D98;
|
|
||||||
c->cdrDisPos = *(long*)0x40851D9C;
|
|
||||||
c->dbgDisByte = *(char*)0x40851DA8;
|
|
||||||
c->cdrDisByte = *(char*)0x40851DA9;
|
|
||||||
// Patch
|
// Patch
|
||||||
if (c->dbgDisPos < RDiskSize) {
|
if (RDiskDBGDisPos < RDiskSize) {
|
||||||
if (c->ramdisk && !dbgEN) {
|
if (c->ramdisk && !dbgEN) {
|
||||||
poke24(c->ramdisk + c->dbgDisPos, c->dbgDisByte);
|
poke24(c->ramdisk + RDiskDBGDisPos, c->dbgDisByte);
|
||||||
} else if (dbgEN) {
|
} else if (dbgEN) {
|
||||||
peek24(RDiskBuf + c->dbgDisPos, c->dbgDisByte);
|
peek24(RDiskBuf + RDiskDBGDisPos, c->dbgDisByte);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
if (c->cdrDisPos < RDiskSize) {
|
if (RDiskCDRDisPos < RDiskSize) {
|
||||||
if (c->ramdisk && !cdrEN) {
|
if (c->ramdisk && !cdrEN) {
|
||||||
poke24(c->ramdisk + c->cdrDisPos, c->cdrDisByte);
|
poke24(c->ramdisk + RDiskCDRDisPos, c->cdrDisByte);
|
||||||
} else if (cdrEN) {
|
} else if (cdrEN) {
|
||||||
peek24(RDiskBuf + c->cdrDisPos, c->cdrDisByte);
|
peek24(RDiskBuf + RDiskCDRDisPos, c->cdrDisByte);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -242,13 +241,13 @@ OSErr RDPrime(IOParamPtr p, DCtlPtr d) {
|
||||||
// Read from disk into buffer.
|
// Read from disk into buffer.
|
||||||
if (*MMU32bit) { BlockMove(disk, p->ioBuffer, p->ioReqCount); }
|
if (*MMU32bit) { BlockMove(disk, p->ioBuffer, p->ioReqCount); }
|
||||||
else { copy24(disk, StripAddress(p->ioBuffer), p->ioReqCount); }
|
else { copy24(disk, StripAddress(p->ioBuffer), p->ioReqCount); }
|
||||||
if (!c->ramdisk && c->dbgDisPos >= d->dCtlPosition &&
|
if (!c->ramdisk && RDiskDBGDisPos >= d->dCtlPosition &&
|
||||||
c->dbgDisPos < d->dCtlPosition + p->ioReqCount) {
|
RDiskDBGDisPos < d->dCtlPosition + p->ioReqCount) {
|
||||||
p->ioBuffer[c->dbgDisPos - d->dCtlPosition] = c->dbgDisByte;
|
p->ioBuffer[RDiskDBGDisPos - d->dCtlPosition] = c->dbgDisByte;
|
||||||
}
|
}
|
||||||
if (!c->ramdisk && c->cdrDisPos >= d->dCtlPosition &&
|
if (!c->ramdisk && RDiskCDRDisPos >= d->dCtlPosition &&
|
||||||
c->cdrDisPos < d->dCtlPosition + p->ioReqCount) {
|
RDiskCDRDisPos < d->dCtlPosition + p->ioReqCount) {
|
||||||
p->ioBuffer[c->cdrDisPos - d->dCtlPosition] = c->cdrDisByte;
|
p->ioBuffer[RDiskCDRDisPos - d->dCtlPosition] = c->cdrDisByte;
|
||||||
}
|
}
|
||||||
} else if (cmd == aWrCmd) { // Write
|
} else if (cmd == aWrCmd) { // Write
|
||||||
// Fail if write protected or RAM disk buffer not set up
|
// Fail if write protected or RAM disk buffer not set up
|
||||||
|
|
8
rdisk.h
8
rdisk.h
|
@ -6,6 +6,12 @@
|
||||||
#define MemTop ((Ptr*)0x108)
|
#define MemTop ((Ptr*)0x108)
|
||||||
#define MMU32bit ((char*)0xCB2)
|
#define MMU32bit ((char*)0xCB2)
|
||||||
|
|
||||||
|
#define RDiskDBGDisPos (*(const unsigned long*)0x40851D98)
|
||||||
|
#define RDiskCDRDisPos (*(const unsigned long*)0x40851D9C)
|
||||||
|
#define RDiskDBGDisByte (*(const char*)0x40851DA8)
|
||||||
|
#define RDiskCDRDisByte (*(const char*)0x40851DA9)
|
||||||
|
#define RDiskSize (*(const unsigned long*)0x40851DAC)
|
||||||
|
|
||||||
#define RDISK_COMPRESS_ICON_ENABLE
|
#define RDISK_COMPRESS_ICON_ENABLE
|
||||||
|
|
||||||
#pragma parameter __D0 RDiskReadXPRAM(__D0, __D1, __A0)
|
#pragma parameter __D0 RDiskReadXPRAM(__D0, __D1, __A0)
|
||||||
|
@ -22,8 +28,6 @@ typedef struct RDiskStorage_s {
|
||||||
DrvSts2 status;
|
DrvSts2 status;
|
||||||
char initialized;
|
char initialized;
|
||||||
Ptr ramdisk;
|
Ptr ramdisk;
|
||||||
long dbgDisPos;
|
|
||||||
long cdrDisPos;
|
|
||||||
char dbgDisByte;
|
char dbgDisByte;
|
||||||
char cdrDisByte;
|
char cdrDisByte;
|
||||||
#ifdef RDISK_COMPRESS_ICON_ENABLE
|
#ifdef RDISK_COMPRESS_ICON_ENABLE
|
||||||
|
|
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Loading…
Reference in New Issue