From ac0f4d232e1542315d606cda87828248db24c7bc Mon Sep 17 00:00:00 2001 From: drmortalwombat <90205530+drmortalwombat@users.noreply.github.com> Date: Tue, 13 Dec 2022 08:49:05 +0100 Subject: [PATCH] Fix .d64 layout --- .gitignore | 2 ++ oscar64/DiskImage.cpp | 9 +++++---- samples/memmap/charsetload.d64 | Bin 174848 -> 174848 bytes 3 files changed, 7 insertions(+), 4 deletions(-) diff --git a/.gitignore b/.gitignore index f3941e5..2f7ac85 100644 --- a/.gitignore +++ b/.gitignore @@ -349,3 +349,5 @@ make/oscar64 *.res *.recipe *.exe +*.d64 +*.d64 diff --git a/oscar64/DiskImage.cpp b/oscar64/DiskImage.cpp index 9164a27..bd03560 100644 --- a/oscar64/DiskImage.cpp +++ b/oscar64/DiskImage.cpp @@ -80,6 +80,7 @@ DiskImage::DiskImage(const char* fname) MarkBAMSector(18, 1); + dir[1] = 0xff; } @@ -187,8 +188,9 @@ bool DiskImage::OpenFile(const char* fname) { int ni = AllocBAMSector(18, si); mSectors[18][si][0] = 18; - mSectors[18][si][0] = ni; + mSectors[18][si][1] = ni; si = ni; + mSectors[18][si][1] = 0xff; } } } @@ -324,9 +326,6 @@ int DiskImage::WriteBytes(const uint8* data, int size) uint8* dp = mSectors[mTrack][mSector]; for (int i = 0; i < size; i++) { - dp[mBytes] = data[i]; - mBytes++; - if (mBytes >= 256) { mSector = AllocBAMSector(mTrack, mSector); @@ -347,6 +346,8 @@ int DiskImage::WriteBytes(const uint8* data, int size) } dp[1] = mBytes; + dp[mBytes] = data[i]; + mBytes++; } return 0; } diff --git a/samples/memmap/charsetload.d64 b/samples/memmap/charsetload.d64 index 28b45d58d2b2e208e539d87ca98c8402b322d3d8..97907ea47e9389e05d3b4c41d8451f875cf35f9f 100644 GIT binary patch delta 39 tcmZp;#?^3*t6>WxV*ul|?MwlT|G5|!Y-frF(f`|-(ipchr7`_;0RSd}4nqI{ delta 39 tcmZp;#?^3*t6>WxV*umz?MwlT|G5|!ZfA-H(G2ZOX^h*M(wP3a000}h4MqR}