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 28b45d5..97907ea 100644 Binary files a/samples/memmap/charsetload.d64 and b/samples/memmap/charsetload.d64 differ