From af38f95378c8cc067e32859dc09908eee2db94b4 Mon Sep 17 00:00:00 2001 From: Daniel Tremblay Date: Wed, 26 Oct 2022 00:09:28 +0200 Subject: [PATCH] Release 0.6.0.1 --------------- Implemented tiles for F256Jr. Fixed the issue when resetting the CPU, also reset the MMU and VICKY Layer Manager Registers. Fixed RTC issue in F256Jr where the time was written in RAM. --- FoenixIDESetup/FoenixIDESetup.vdproj | 56 +++++++++++++- Main/Devices/MMU_JR.cs | 15 ++-- Main/Display/GPU_Common.cs | 94 +++++++++++++++++----- Main/Display/Gpu.cs | 112 +++++++++++++++++++++++++-- Main/FoenixSystem.cs | 8 +- Main/Properties/AssemblyInfo.cs | 4 +- Main/UI/MainWindow.Designer.cs | 40 +++++----- Main/UI/MainWindow.cs | 72 ++++++++++++----- Release Notes.txt | 6 ++ bin/Release/FoenixIDE.exe | Bin 491520 -> 493568 bytes 10 files changed, 331 insertions(+), 76 deletions(-) diff --git a/FoenixIDESetup/FoenixIDESetup.vdproj b/FoenixIDESetup/FoenixIDESetup.vdproj index b9b01be..798ce11 100644 --- a/FoenixIDESetup/FoenixIDESetup.vdproj +++ b/FoenixIDESetup/FoenixIDESetup.vdproj @@ -135,6 +135,12 @@ } "Entry" { + "MsmKey" = "8:_7BD2B3A7DD6E4E0E81969BEC234D508C" + "OwnerKey" = "8:_UNDEFINED" + "MsmSig" = "8:_UNDEFINED" + } + "Entry" + { "MsmKey" = "8:_81547FC2AD874EF680C5282428D55CD4" "OwnerKey" = "8:_UNDEFINED" "MsmSig" = "8:_UNDEFINED" @@ -243,6 +249,12 @@ } "Entry" { + "MsmKey" = "8:_F1A01B2DDF0E458FB4CC621697DB5ED5" + "OwnerKey" = "8:_UNDEFINED" + "MsmSig" = "8:_UNDEFINED" + } + "Entry" + { "MsmKey" = "8:_F5E33CFE52604F89ADF26B5E264648BA" "OwnerKey" = "8:_UNDEFINED" "MsmSig" = "8:_UNDEFINED" @@ -762,6 +774,26 @@ "IsDependency" = "11:FALSE" "IsolateTo" = "8:" } + "{1FB2D0AE-D3B9-43D4-B9DD-F88EC61E35DE}:_7BD2B3A7DD6E4E0E81969BEC234D508C" + { + "SourcePath" = "8:..\\Main\\roms\\kernel_F256jr.lst" + "TargetName" = "8:kernel_F256jr.lst" + "Tag" = "8:" + "Folder" = "8:_046CAC32C99040D4B711E42EEBA2C9FA" + "Condition" = "8:" + "Transitive" = "11:FALSE" + "Vital" = "11:TRUE" + "ReadOnly" = "11:FALSE" + "Hidden" = "11:FALSE" + "System" = "11:FALSE" + "Permanent" = "11:FALSE" + "SharedLegacy" = "11:FALSE" + "PackageAs" = "3:1" + "Register" = "3:1" + "Exclude" = "11:FALSE" + "IsDependency" = "11:FALSE" + "IsolateTo" = "8:" + } "{1FB2D0AE-D3B9-43D4-B9DD-F88EC61E35DE}:_81547FC2AD874EF680C5282428D55CD4" { "SourcePath" = "8:..\\Main\\roms\\kernel_FMX.lst" @@ -1133,6 +1165,26 @@ "IsDependency" = "11:FALSE" "IsolateTo" = "8:" } + "{1FB2D0AE-D3B9-43D4-B9DD-F88EC61E35DE}:_F1A01B2DDF0E458FB4CC621697DB5ED5" + { + "SourcePath" = "8:..\\Main\\roms\\kernel_F256jr.hex" + "TargetName" = "8:kernel_F256jr.hex" + "Tag" = "8:" + "Folder" = "8:_046CAC32C99040D4B711E42EEBA2C9FA" + "Condition" = "8:" + "Transitive" = "11:FALSE" + "Vital" = "11:TRUE" + "ReadOnly" = "11:FALSE" + "Hidden" = "11:FALSE" + "System" = "11:FALSE" + "Permanent" = "11:FALSE" + "SharedLegacy" = "11:FALSE" + "PackageAs" = "3:1" + "Register" = "3:1" + "Exclude" = "11:FALSE" + "IsDependency" = "11:FALSE" + "IsolateTo" = "8:" + } "{1FB2D0AE-D3B9-43D4-B9DD-F88EC61E35DE}:_F5E33CFE52604F89ADF26B5E264648BA" { "SourcePath" = "8:..\\Main\\roms\\kernel_FMX.hex" @@ -1263,7 +1315,7 @@ "Name" = "8:Microsoft Visual Studio" "ProductName" = "8:FoenixIDE Setup" "ProductCode" = "8:{0F09CD7A-6292-4AD4-B99E-D088A15D65C9}" - "PackageCode" = "8:{F4927D30-91A5-4E32-B1DC-4D213B55B18D}" + "PackageCode" = "8:{1C77F710-270E-4289-9C4C-FFA9E9979B1C}" "UpgradeCode" = "8:{A91983FA-7F1D-495E-8BFB-CB92EECA466F}" "AspNetVersion" = "8:4.0.30319.0" "RestartWWWService" = "11:FALSE" @@ -1812,7 +1864,7 @@ { "{5259A561-127C-4D43-A0A1-72F10C7B3BF8}:_05BB69B027C149C699B0E2980589B4DF" { - "SourcePath" = "8:..\\Main\\obj\\Debug\\FoenixIDE.exe" + "SourcePath" = "8:..\\Main\\obj\\Release\\FoenixIDE.exe" "TargetName" = "8:" "Tag" = "8:" "Folder" = "8:_E6F0D81DDC2A4228B28F5AF3B10C767F" diff --git a/Main/Devices/MMU_JR.cs b/Main/Devices/MMU_JR.cs index 61a2de1..b0d2a91 100644 --- a/Main/Devices/MMU_JR.cs +++ b/Main/Devices/MMU_JR.cs @@ -17,11 +17,6 @@ public class MMU_JR : MemoryLocations.MemoryRAM public MMU_JR(int StartAddress, int Length) : base(StartAddress, Length) { - // At boot time, the last page of FLASH - LUTs[7] = 0x7F; - LUTs[15] = 0x7F; - LUTs[23] = 0x7F; - LUTs[31] = 0x7F; } public override byte ReadByte(int Address) @@ -62,5 +57,15 @@ public void SetActiveLUT(byte LUT) { activeLUT = LUT; } + + public void Reset() + { + data[0] = 0; + data[1] = 0; + LUTs = new byte[]{ 0, 1, 2, 3, 4, 5, 6, 0x7F, + 0, 1, 2, 3, 4, 5, 6, 0x7F, + 0, 1, 2, 3, 4, 5, 6, 0x7F, + 0, 1, 2, 3, 4, 5, 6, 0x7F }; + } } } diff --git a/Main/Display/GPU_Common.cs b/Main/Display/GPU_Common.cs index 5dbb6bb..e900614 100644 --- a/Main/Display/GPU_Common.cs +++ b/Main/Display/GPU_Common.cs @@ -147,6 +147,16 @@ public void SetCursorXAddress(int val) { CursorXAddress = val; } + int TileMapBaseAddress; + public void SetTileMapBaseAddress(int val) + { + TileMapBaseAddress = val; + } + int TilesetBaseAddress; + public void SetTilesetBaseAddress(int val) + { + TilesetBaseAddress = val; + } private int[] GetTextLUT(byte fg, byte bg, bool gamma) { @@ -296,11 +306,21 @@ private unsafe void DrawBitmapText(int* p, int MCR, bool gammaCorrection, byte T } } - private unsafe void DrawBitmap(int* p, bool gammaCorrection, int layer, bool bkgrnd, int bgndColor, int borderXSize, int borderYSize, int line, int width, int height) + int BitmapControlRegister; + public void SetBitmapControlRegister(int val) + { + BitmapControlRegister = val; + } + /** + * + * dX => double the horizontal pixels + * dY => double the vertical pixels + */ + private unsafe void DrawBitmap(int* p, bool gammaCorrection, int layer, bool bkgrnd, int bgndColor, int borderXSize, int borderYSize, int line, int width, bool dX, bool dY) { // Bitmap Controller is located at $AF:0100 and $AF:0108 - int regAddr = MemoryMap.BITMAP_CONTROL_REGISTER_ADDR - VICKY.StartAddress + layer * 8; + int regAddr = BitmapControlRegister + layer * 8; byte reg = VICKY.ReadByte(regAddr); if ((reg & 0x01) == 00) { @@ -309,18 +329,41 @@ private unsafe void DrawBitmap(int* p, bool gammaCorrection, int layer, bool bkg byte lutIndex = (byte)((reg >> 1) & 7); // 8 possible LUTs int bitmapAddress = VICKY.ReadLong(regAddr + 1) & 0x3F_FFFF; - int xOffset = VICKY.ReadWord(regAddr + 4); - int yOffset = VICKY.ReadWord(regAddr + 6); + int xOffset = 0; + int yOffset = 0; + if (mode == 0) + { + xOffset = VICKY.ReadWord(regAddr + 4); + yOffset = VICKY.ReadWord(regAddr + 6); + } int clrVal = 0; - int offsetAddress = bitmapAddress + line * width; + int offsetAddress; + if (!dY) + { + offsetAddress = bitmapAddress + line * width; + } + else + { + offsetAddress = bitmapAddress + (line/2) * (dX ? width/2 : width); + } + int pixelOffset = line * STRIDE; int* ptr = p + pixelOffset; //int col = borderXSize; byte pixVal = 0; - VRAM.CopyIntoBuffer(offsetAddress, width, pixVals); - - int lutAddress = MemoryMap.GRP_LUT_BASE_ADDR - VICKY.StartAddress + lutIndex * 1024; + if (!dX) + { + VRAM.CopyIntoBuffer(offsetAddress, width, pixVals); + } + else + { + for (int i=0;i < width/2; i++) + { + pixVals[i*2] = VRAM.ReadByte(offsetAddress + i); + pixVals[i*2+1] = pixVals[i * 2]; + } + } //while (col < width - borderXSize) for (int col = borderXSize; col < width - borderXSize; col++) @@ -335,10 +378,10 @@ private unsafe void DrawBitmap(int* p, bool gammaCorrection, int layer, bool bkg } } - private unsafe void DrawTiles(int* p, bool gammaCorrection, byte TextColumns, int layer, bool bkgrnd, in int borderXSize, in int line, in int width) + private unsafe void DrawTiles(int* p, bool gammaCorrection, byte TextColumns, int layer, bool bkgrnd, in int borderXSize, in int line, in int width, bool dX, bool dY) { // There are four possible tilemaps to choose from - int addrTileCtrlReg = MemoryMap.TILE_CONTROL_REGISTER_ADDR - VICKY.StartAddress + layer * 12; + int addrTileCtrlReg = TileMapBaseAddress + layer * 12; int reg = VICKY.ReadByte(addrTileCtrlReg); // if the set is not enabled, we're done. if ((reg & 0x01) == 00) @@ -381,15 +424,15 @@ private unsafe void DrawTiles(int* p, bool gammaCorrection, byte TextColumns, in } else { - tilemapWindowY = tilemapWindowY & 0x3FF0 + scrollY; + tilemapWindowY = (tilemapWindowY & 0x3FF0) + scrollY; } - int tileRow = (line + tilemapWindowY) / tileSize; - int tileYOffset = (line + tilemapWindowY) % tileSize; + int tileRow = ((dY ? line / 2: line) + tilemapWindowY) / tileSize; + int tileYOffset = ((dY ? line / 2 : line) + tilemapWindowY) % tileSize; int maxX = width - borderXSize; // we always read tiles 0 to width/TILE_SIZE + 1 - this is to ensure we can display partial tiles, with X,Y offsets - int tilemapItemCount = width / tileSize + 1; + int tilemapItemCount = (dX ? width / 2 : width) / tileSize + 1; byte[] tiles = new byte[tilemapItemCount * 2]; int[] tilesetOffsets = new int[tilemapItemCount]; VRAM.CopyIntoBuffer(tilemapAddress + (1 + tilemapWindowX / tileSize) * 2 + (tileRow + 0) * tilemapWidth * 2, tilemapItemCount * 2, tiles); @@ -399,9 +442,16 @@ private unsafe void DrawTiles(int* p, bool gammaCorrection, byte TextColumns, in int[] strides = new int[8]; for (int i = 0; i < 8; i++) { - tilesetPointers[i] = VICKY.ReadLong(MemoryMap.TILESET_BASE_ADDR - VICKY.StartAddress + i * 4) & 0x3F_FFFF; - byte tilesetConfig = VICKY.ReadByte(MemoryMap.TILESET_BASE_ADDR - VICKY.StartAddress + i * 4 + 3); - strides[i] = (tilesetConfig & 8) != 0 ? strideLine : tileSize; + tilesetPointers[i] = VICKY.ReadLong(TilesetBaseAddress + i * 4) & 0x3F_FFFF; + byte tilesetConfig = VICKY.ReadByte(TilesetBaseAddress + i * 4 + 3); + if (mode == 0) + { + strides[i] = (tilesetConfig & 8) != 0 ? strideLine : tileSize; + } + else + { + strides[i] = strideLine; + } } for (int i = 0; i < tilemapItemCount; i++) { @@ -443,7 +493,7 @@ private unsafe void DrawTiles(int* p, bool gammaCorrection, byte TextColumns, in //} // alternate display style - avoids repeating the loop so often int startTileX = (borderXSize + tileXOffset) / tileSize; - int endTileX = (width - borderXSize + tileXOffset) / tileSize + 1; + int endTileX = ((dX ? width/2 : width) - borderXSize + tileXOffset) / tileSize + 1; int startOffset = (borderXSize + tilemapWindowX) % tileSize; int x = borderXSize; byte[] tilepix = new byte[tileSize]; @@ -467,6 +517,14 @@ private unsafe void DrawTiles(int* p, bool gammaCorrection, byte TextColumns, in x++; startOffset++; tilesetOffsetAddress++; + if (dX) + { + if (pixVal >0) + { + ptr[x] = clrVal; + } + x++; + } } while (startOffset != tileSize && x < maxX); startOffset = 0; if (x == maxX) diff --git a/Main/Display/Gpu.cs b/Main/Display/Gpu.cs index 7179e8b..e4b7ce6 100644 --- a/Main/Display/Gpu.cs +++ b/Main/Display/Gpu.cs @@ -148,7 +148,7 @@ unsafe void Gpu_Paint(object sender, PaintEventArgs e) // Read the Master Control Register Point res; - if (VRAM != null) + if (mode == 0) { res = GetScreenSize(); } @@ -322,7 +322,7 @@ unsafe void Gpu_Paint(object sender, PaintEventArgs e) // Layer 11 - bitmap 1 if ((MCRegister & 0x8) == 0x8) { - DrawBitmap(bitmapPointer, gammaCorrection, 1, displayBorder, backgroundColor, borderXSize, borderYSize, line, res.X, res.Y); + DrawBitmap(bitmapPointer, gammaCorrection, 1, displayBorder, backgroundColor, borderXSize, borderYSize, line, res.X, false, false); } // Layer 10 - sprite layer 5 if ((MCRegister & 0x20) != 0) @@ -332,7 +332,7 @@ unsafe void Gpu_Paint(object sender, PaintEventArgs e) // Layer 9 - tilemap layer 3 if ((MCRegister & 0x10) == 0x10) { - DrawTiles(bitmapPointer, gammaCorrection, ColumnsVisible, 3, displayBorder, borderXSize, line, res.X); + DrawTiles(bitmapPointer, gammaCorrection, ColumnsVisible, 3, displayBorder, borderXSize, line, res.X, false, false); } // Layer 8 - sprite layer 4 if ((MCRegister & 0x20) != 0) @@ -342,7 +342,7 @@ unsafe void Gpu_Paint(object sender, PaintEventArgs e) // Layer 7 - tilemap layer 2 if ((MCRegister & 0x10) == 0x10) { - DrawTiles(bitmapPointer, gammaCorrection, ColumnsVisible, 2, displayBorder, borderXSize, line, res.X); + DrawTiles(bitmapPointer, gammaCorrection, ColumnsVisible, 2, displayBorder, borderXSize, line, res.X, false, false); } // Layer 6 - sprite layer 3 if ((MCRegister & 0x20) != 0) @@ -352,7 +352,7 @@ unsafe void Gpu_Paint(object sender, PaintEventArgs e) // Layer 5 - tilemap layer 1 if ((MCRegister & 0x10) == 0x10) { - DrawTiles(bitmapPointer, gammaCorrection, ColumnsVisible, 1, displayBorder, borderXSize, line, res.X); + DrawTiles(bitmapPointer, gammaCorrection, ColumnsVisible, 1, displayBorder, borderXSize, line, res.X, false, false); } // Layer 4 - sprite layer 2 if ((MCRegister & 0x20) != 0) @@ -362,7 +362,7 @@ unsafe void Gpu_Paint(object sender, PaintEventArgs e) // Layer 3 - tilemap layer 0 if ((MCRegister & 0x10) == 0x10) { - DrawTiles(bitmapPointer, gammaCorrection, ColumnsVisible, 0, displayBorder, borderXSize, line, res.X); + DrawTiles(bitmapPointer, gammaCorrection, ColumnsVisible, 0, displayBorder, borderXSize, line, res.X, false, false); } // Layer 2 - sprite layer 1 if ((MCRegister & 0x20) != 0) @@ -372,7 +372,7 @@ unsafe void Gpu_Paint(object sender, PaintEventArgs e) // Layer 1 - bitmap layer 0 if ((MCRegister & 0x8) == 0x8) { - DrawBitmap(bitmapPointer, gammaCorrection, 0, displayBorder, backgroundColor, borderXSize, borderYSize, line, res.X, res.Y); + DrawBitmap(bitmapPointer, gammaCorrection, 0, displayBorder, backgroundColor, borderXSize, borderYSize, line, res.X, false, false); } // Layer 0 - sprite layer 0 if ((MCRegister & 0x20) != 0) @@ -383,6 +383,104 @@ unsafe void Gpu_Paint(object sender, PaintEventArgs e) else { // Tiny Vicky Layers for Bitmaps, Tilemaps and sprites + byte LayerMgr0 = (byte)(VICKY.ReadByte(0xD002 - 0xC000) & 0x7); + byte LayerMgr1 = (byte)(VICKY.ReadByte(0xD002 - 0xC000) >> 4); + byte LayerMgr2 = (byte)(VICKY.ReadByte(0xD003 - 0xC000) & 0x7); + bool doubleY = (MCRHigh & 4) == 0; + bool doubleX = (MCRHigh & 2) == 0; + int BitmapY = (MCRHigh & 4) != 0 ? res.Y : res.Y >> 1; + + if ((MCRegister & 0x20) != 0) + { + DrawSprites(bitmapPointer, gammaCorrection, 0, displayBorder, borderXSize, borderYSize, line, 320, BitmapY); + } + if ((MCRegister & 0x8) != 0 || (MCRegister & 0x10) != 0) + { + switch (LayerMgr0) + { + case 0: + DrawBitmap(bitmapPointer, gammaCorrection, 0, displayBorder, backgroundColor, borderXSize, borderYSize, line, res.X, doubleX, doubleY); + break; + case 1: + DrawBitmap(bitmapPointer, gammaCorrection, 1, displayBorder, backgroundColor, borderXSize, borderYSize, line, res.X, doubleX, doubleY); + break; + case 2: + DrawBitmap(bitmapPointer, gammaCorrection, 1, displayBorder, backgroundColor, borderXSize, borderYSize, line, res.X, doubleX, doubleY); + break; + case 4: + DrawTiles(bitmapPointer, gammaCorrection, ColumnsVisible, 0, displayBorder, borderXSize, line, res.X, doubleX, doubleY); + break; + case 5: + DrawTiles(bitmapPointer, gammaCorrection, ColumnsVisible, 1, displayBorder, borderXSize, line, res.X, doubleX, doubleY); + break; + case 6: + DrawTiles(bitmapPointer, gammaCorrection, ColumnsVisible, 2, displayBorder, borderXSize, line, res.X, doubleX, doubleY); + break; + } + + } + if ((MCRegister & 0x20) != 0) + { + DrawSprites(bitmapPointer, gammaCorrection, 1, displayBorder, borderXSize, borderYSize, line, res.X, BitmapY); + } + if ((MCRegister & 0x8) != 0 || (MCRegister & 0x10) != 0) + { + switch (LayerMgr1) + { + case 0: + DrawBitmap(bitmapPointer, gammaCorrection, 0, displayBorder, backgroundColor, borderXSize, borderYSize, line, res.X, doubleX, doubleY); + break; + case 1: + DrawBitmap(bitmapPointer, gammaCorrection, 1, displayBorder, backgroundColor, borderXSize, borderYSize, line, res.X, doubleX, doubleY); + break; + case 2: + DrawBitmap(bitmapPointer, gammaCorrection, 1, displayBorder, backgroundColor, borderXSize, borderYSize, line, res.X, doubleX, doubleY); + break; + case 4: + DrawTiles(bitmapPointer, gammaCorrection, ColumnsVisible, 0, displayBorder, borderXSize, line, res.X, doubleX, doubleY); + break; + case 5: + DrawTiles(bitmapPointer, gammaCorrection, ColumnsVisible, 1, displayBorder, borderXSize, line, res.X, doubleX, doubleY); + break; + case 6: + DrawTiles(bitmapPointer, gammaCorrection, ColumnsVisible, 2, displayBorder, borderXSize, line, res.X, doubleX, doubleY); + break; + } + + } + if ((MCRegister & 0x20) != 0) + { + DrawSprites(bitmapPointer, gammaCorrection, 2, displayBorder, borderXSize, borderYSize, line, res.X, BitmapY); + } + if ((MCRegister & 0x8) != 0 || (MCRegister & 0x10) != 0) + { + switch (LayerMgr2) + { + case 0: + DrawBitmap(bitmapPointer, gammaCorrection, 0, displayBorder, backgroundColor, borderXSize, borderYSize, line, res.X, doubleX, doubleY); + break; + case 1: + DrawBitmap(bitmapPointer, gammaCorrection, 1, displayBorder, backgroundColor, borderXSize, borderYSize, line, res.X, doubleX, doubleY); + break; + case 2: + DrawBitmap(bitmapPointer, gammaCorrection, 1, displayBorder, backgroundColor, borderXSize, borderYSize, line, res.X, doubleX, doubleY); + break; + case 4: + DrawTiles(bitmapPointer, gammaCorrection, ColumnsVisible, 0, displayBorder, borderXSize, line, res.X, doubleX, doubleY); + break; + case 5: + DrawTiles(bitmapPointer, gammaCorrection, ColumnsVisible, 1, displayBorder, borderXSize, line, res.X, doubleX, doubleY); + break; + case 6: + DrawTiles(bitmapPointer, gammaCorrection, ColumnsVisible, 2, displayBorder, borderXSize, line, res.X, doubleX, doubleY); + break; + } + + } + if ((MCRegister & 0x20) != 0) + { + DrawSprites(bitmapPointer, gammaCorrection, 3, displayBorder, borderXSize, borderYSize, line, res.X, BitmapY); + } } } // Draw the text diff --git a/Main/FoenixSystem.cs b/Main/FoenixSystem.cs index a8f2274..ad6f2a2 100644 --- a/Main/FoenixSystem.cs +++ b/Main/FoenixSystem.cs @@ -178,6 +178,8 @@ public FoenixSystem(BoardVersion version, string DefaultKernel) else { MemMgr.WriteByte(MemoryMap.REVOFJR, 0x2); + MemMgr.VICKY.WriteWord(0xD000 - 0xC000, 1); + MemMgr.VICKY.WriteWord(0xD002 - 0xC000, 0x1540); } if (MemMgr.TIMER0.TimerInterruptDelegate == null) @@ -279,10 +281,10 @@ public bool ResetCPU(string filename) } if (boardVersion == BoardVersion.RevJr) { - byte[] tempBuffer = new byte[0xFFFF]; - MemMgr.RAM.CopyIntoBuffer(0, 0xFFFF, tempBuffer); + byte[] tempBuffer = new byte[0x1_0000]; + MemMgr.RAM.CopyIntoBuffer(0, 0x1_0000, tempBuffer); //MemMgr.RAM.Zero(); - MemMgr.RAM.CopyBuffer(tempBuffer, 0, 0xF_0000, 0xFFFF); + MemMgr.RAM.CopyBuffer(tempBuffer, 0, 0xF_0000, 0x1_0000); } } else if (extension.Equals(".PGX")) diff --git a/Main/Properties/AssemblyInfo.cs b/Main/Properties/AssemblyInfo.cs index 8faff45..684eb5e 100644 --- a/Main/Properties/AssemblyInfo.cs +++ b/Main/Properties/AssemblyInfo.cs @@ -32,5 +32,5 @@ // You can specify all the values or you can default the Build and Revision Numbers // by using the '*' as shown below: // [assembly: AssemblyVersion("1.0.*")] -[assembly: AssemblyVersion("0.6.0.0")] -[assembly: AssemblyFileVersion("0.6.0.0")] +[assembly: AssemblyVersion("0.6.0.1")] +[assembly: AssemblyFileVersion("0.6.0.1")] diff --git a/Main/UI/MainWindow.Designer.cs b/Main/UI/MainWindow.Designer.cs index 1d010a4..9fe94e4 100644 --- a/Main/UI/MainWindow.Designer.cs +++ b/Main/UI/MainWindow.Designer.cs @@ -42,9 +42,9 @@ private void InitializeComponent() this.SDCardPath = new System.Windows.Forms.ToolStripStatusLabel(); this.menuStrip1 = new System.Windows.Forms.MenuStrip(); this.fileToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); - this.menuOpenHexFile = new System.Windows.Forms.ToolStripMenuItem(); this.loadFNXMLFileToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); this.saveProjectToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); + this.menuOpenHexFile = new System.Windows.Forms.ToolStripMenuItem(); this.loadWatchListToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); this.saveWatchListToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); this.exitToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); @@ -92,10 +92,10 @@ private void InitializeComponent() this.cpsPerf, this.fpsPerf, this.SDCardPath}); - this.statusStrip1.Location = new System.Drawing.Point(0, 543); + this.statusStrip1.Location = new System.Drawing.Point(0, 519); this.statusStrip1.Name = "statusStrip1"; this.statusStrip1.ShowItemToolTips = true; - this.statusStrip1.Size = new System.Drawing.Size(670, 28); + this.statusStrip1.Size = new System.Drawing.Size(669, 22); this.statusStrip1.Stretch = false; this.statusStrip1.TabIndex = 1; this.statusStrip1.Text = "statusStrip1"; @@ -109,7 +109,7 @@ private void InitializeComponent() this.toolStripRevision.BorderStyle = System.Windows.Forms.Border3DStyle.Sunken; this.toolStripRevision.Font = new System.Drawing.Font("Segoe UI", 9F, System.Drawing.FontStyle.Bold); this.toolStripRevision.Name = "toolStripRevision"; - this.toolStripRevision.Size = new System.Drawing.Size(64, 23); + this.toolStripRevision.Size = new System.Drawing.Size(64, 17); this.toolStripRevision.Text = "Rev B"; this.toolStripRevision.ToolTipText = "Board Version"; this.toolStripRevision.Click += new System.EventHandler(this.ToolStripRevision_Click); @@ -120,7 +120,7 @@ private void InitializeComponent() this.dipSwitch.BackColor = System.Drawing.SystemColors.ActiveCaption; this.dipSwitch.DisplayStyle = System.Windows.Forms.ToolStripItemDisplayStyle.None; this.dipSwitch.Name = "dipSwitch"; - this.dipSwitch.Size = new System.Drawing.Size(129, 23); + this.dipSwitch.Size = new System.Drawing.Size(129, 17); this.dipSwitch.Text = "toolStripStatusLabel1"; this.dipSwitch.ToolTipText = "DIP Switches"; this.dipSwitch.MouseDown += new System.Windows.Forms.MouseEventHandler(this.DipSwitch_MouseDown); @@ -129,14 +129,14 @@ private void InitializeComponent() // ModeText // this.ModeText.Name = "ModeText"; - this.ModeText.Size = new System.Drawing.Size(26, 23); + this.ModeText.Size = new System.Drawing.Size(26, 17); this.ModeText.Text = "Key"; // // lastKeyPressed // this.lastKeyPressed.AutoSize = false; this.lastKeyPressed.Name = "lastKeyPressed"; - this.lastKeyPressed.Size = new System.Drawing.Size(30, 23); + this.lastKeyPressed.Size = new System.Drawing.Size(30, 17); this.lastKeyPressed.Text = "$00"; // // cpsPerf @@ -150,7 +150,7 @@ private void InitializeComponent() this.cpsPerf.Font = new System.Drawing.Font("Segoe UI", 9F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(0))); this.cpsPerf.Name = "cpsPerf"; this.cpsPerf.Padding = new System.Windows.Forms.Padding(2); - this.cpsPerf.Size = new System.Drawing.Size(110, 23); + this.cpsPerf.Size = new System.Drawing.Size(110, 17); this.cpsPerf.Text = "CPS: 0"; this.cpsPerf.TextAlign = System.Drawing.ContentAlignment.MiddleLeft; this.cpsPerf.ToolTipText = "Cycles Per Second"; @@ -165,7 +165,7 @@ private void InitializeComponent() this.fpsPerf.Font = new System.Drawing.Font("Segoe UI", 9F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(0))); this.fpsPerf.Name = "fpsPerf"; this.fpsPerf.Padding = new System.Windows.Forms.Padding(2); - this.fpsPerf.Size = new System.Drawing.Size(55, 23); + this.fpsPerf.Size = new System.Drawing.Size(55, 17); this.fpsPerf.Text = "FPS: 0"; this.fpsPerf.TextAlign = System.Drawing.ContentAlignment.MiddleLeft; this.fpsPerf.ToolTipText = "Frames Per Second"; @@ -180,7 +180,7 @@ private void InitializeComponent() this.SDCardPath.Font = new System.Drawing.Font("Segoe UI", 9F, System.Drawing.FontStyle.Bold); this.SDCardPath.Name = "SDCardPath"; this.SDCardPath.Overflow = System.Windows.Forms.ToolStripItemOverflow.Always; - this.SDCardPath.Size = new System.Drawing.Size(241, 23); + this.SDCardPath.Size = new System.Drawing.Size(240, 17); this.SDCardPath.Spring = true; this.SDCardPath.Text = "SD Card Disabled"; this.SDCardPath.TextAlign = System.Drawing.ContentAlignment.MiddleLeft; @@ -199,7 +199,7 @@ private void InitializeComponent() this.helpToolStripMenuItem}); this.menuStrip1.Location = new System.Drawing.Point(0, 0); this.menuStrip1.Name = "menuStrip1"; - this.menuStrip1.Size = new System.Drawing.Size(670, 24); + this.menuStrip1.Size = new System.Drawing.Size(669, 24); this.menuStrip1.TabIndex = 2; this.menuStrip1.Text = "menuStrip1"; // @@ -216,13 +216,6 @@ private void InitializeComponent() this.fileToolStripMenuItem.Size = new System.Drawing.Size(37, 20); this.fileToolStripMenuItem.Text = "&File"; // - // menuOpenHexFile - // - this.menuOpenHexFile.Name = "menuOpenHexFile"; - this.menuOpenHexFile.Size = new System.Drawing.Size(184, 22); - this.menuOpenHexFile.Text = "&Open Executable File"; - this.menuOpenHexFile.Click += new System.EventHandler(this.MenuOpenExecutableFile_Click); - // // loadFNXMLFileToolStripMenuItem // this.loadFNXMLFileToolStripMenuItem.Name = "loadFNXMLFileToolStripMenuItem"; @@ -237,6 +230,13 @@ private void InitializeComponent() this.saveProjectToolStripMenuItem.Text = "&Save Project..."; this.saveProjectToolStripMenuItem.Click += new System.EventHandler(this.SaveProjectToolStripMenuItem_Click); // + // menuOpenHexFile + // + this.menuOpenHexFile.Name = "menuOpenHexFile"; + this.menuOpenHexFile.Size = new System.Drawing.Size(184, 22); + this.menuOpenHexFile.Text = "&Open Executable File"; + this.menuOpenHexFile.Click += new System.EventHandler(this.MenuOpenExecutableFile_Click); + // // loadWatchListToolStripMenuItem // this.loadWatchListToolStripMenuItem.Name = "loadWatchListToolStripMenuItem"; @@ -495,7 +495,7 @@ private void InitializeComponent() this.gpu.Margin = new System.Windows.Forms.Padding(4); this.gpu.MinimumSize = new System.Drawing.Size(640, 480); this.gpu.Name = "gpu"; - this.gpu.Size = new System.Drawing.Size(670, 519); + this.gpu.Size = new System.Drawing.Size(669, 495); this.gpu.TabIndex = 0; this.gpu.TabStop = false; this.gpu.TileEditorMode = false; @@ -510,7 +510,7 @@ private void InitializeComponent() this.AllowDrop = true; this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F); this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font; - this.ClientSize = new System.Drawing.Size(670, 571); + this.ClientSize = new System.Drawing.Size(669, 541); this.Controls.Add(this.gpu); this.Controls.Add(this.menuStrip1); this.Controls.Add(this.statusStrip1); diff --git a/Main/UI/MainWindow.cs b/Main/UI/MainWindow.cs index 5eff5fe..61d1361 100644 --- a/Main/UI/MainWindow.cs +++ b/Main/UI/MainWindow.cs @@ -199,10 +199,16 @@ private void BasicWindow_Load(object sender, EventArgs e) gpu.SetSOL0Address(MemoryMap.VKY_LINE0_CMP_VALUE_LO); gpu.SetSOL1Address(MemoryMap.VKY_LINE1_CMP_VALUE_LO); gpu.SetMousePointerRegister(0x700); + + gpu.SetBitmapControlRegister(MemoryMap.BITMAP_CONTROL_REGISTER_ADDR - gpu.VICKY.StartAddress); + gpu.SetTileMapBaseAddress(MemoryMap.TILE_CONTROL_REGISTER_ADDR - gpu.VICKY.StartAddress); + gpu.SetTilesetBaseAddress(MemoryMap.TILESET_BASE_ADDR - gpu.VICKY.StartAddress); } else { gpu.SetMode(1); + gpu.VRAM = kernel.MemMgr.RAM; + // Addresses for VICKY in Junior are zero-based gpu.SetMCRAddress(0x1000); gpu.SetFGLUTAddress(MemoryMap.FG_CHAR_LUT_PTR_JR - 0xC000); // IO Page 0 @@ -219,6 +225,10 @@ private void BasicWindow_Load(object sender, EventArgs e) gpu.SetLineIRQRegister(MemoryMap.VKY_LINE_IRQ_CTRL_REG_JR - 0xC000); // IO Page 0 gpu.SetSOL0Address(MemoryMap.VKY_LINE_CMP_VALUE_JR - 0xC000); // IO Page 0 gpu.SetMousePointerRegister(0x1000); // IO Page 0 + + gpu.SetBitmapControlRegister(0xD100 - 0xC000); // IO Page 0 + gpu.SetTileMapBaseAddress(0xD200 - 0xC000); + gpu.SetTilesetBaseAddress(0xD280 - 0xC000); } if (disabledIRQs) @@ -401,14 +411,9 @@ public void LoadImageToolStripMenuItem_Click(object sender, EventArgs e) } } - DateTime pSof; public void SOFRoutine() { // Check if the interrupt is enabled - DateTime currentDT = DateTime.Now; - TimeSpan ts = currentDT - pSof; - //System.Console.WriteLine(ts.TotalMilliseconds); - pSof = currentDT; byte mask = kernel.MemMgr.ReadByte(MemoryLocations.MemoryMap.INT_MASK_REG0); if (version == BoardVersion.RevJr) { @@ -459,7 +464,6 @@ public void SOLRoutine() public void setGpuPeriod(uint time) { - gpu.SetRefreshPeriod(time); } @@ -685,6 +689,7 @@ private void Write_CPS_FPS_Safe(string CPS, string FPS) statusStrip1.Update(); } } + int previousCounter = 0; int previousFrame = 0; DateTime previousTime = DateTime.Now; @@ -733,14 +738,14 @@ private void WriteRTCTime(DateTime currentTime) } else { - kernel.MemMgr.RAM.WriteByte(MemoryLocations.MemoryMap.RTC_SEC_JR, BCD(currentTime.Second)); - kernel.MemMgr.RAM.WriteByte(MemoryLocations.MemoryMap.RTC_SEC_JR + 2, BCD(currentTime.Minute)); - kernel.MemMgr.RAM.WriteByte(MemoryLocations.MemoryMap.RTC_SEC_JR + 4, BCD(currentTime.Hour)); - kernel.MemMgr.RAM.WriteByte(MemoryLocations.MemoryMap.RTC_SEC_JR + 6, BCD(currentTime.Day)); - kernel.MemMgr.RAM.WriteByte(MemoryLocations.MemoryMap.RTC_SEC_JR + 8, BCD(currentTime.Month)); - kernel.MemMgr.RAM.WriteByte(MemoryLocations.MemoryMap.RTC_SEC_JR + 10, BCD(currentTime.Year % 100)); - kernel.MemMgr.RAM.WriteByte(MemoryLocations.MemoryMap.RTC_SEC_JR + 12, BCD(currentTime.Year / 100)); - kernel.MemMgr.RAM.WriteByte(MemoryLocations.MemoryMap.RTC_SEC_JR + 14, (byte)(currentTime.DayOfWeek + 1)); + kernel.MemMgr.VICKY.WriteByte(MemoryLocations.MemoryMap.RTC_SEC_JR - 0xC000, BCD(currentTime.Second)); + kernel.MemMgr.VICKY.WriteByte(MemoryLocations.MemoryMap.RTC_SEC_JR + 2 - 0xC000, BCD(currentTime.Minute)); + kernel.MemMgr.VICKY.WriteByte(MemoryLocations.MemoryMap.RTC_SEC_JR + 4 - 0xC000, BCD(currentTime.Hour)); + kernel.MemMgr.VICKY.WriteByte(MemoryLocations.MemoryMap.RTC_SEC_JR + 6 - 0xC000, BCD(currentTime.Day)); + kernel.MemMgr.VICKY.WriteByte(MemoryLocations.MemoryMap.RTC_SEC_JR + 8 - 0xC000, BCD(currentTime.Month)); + kernel.MemMgr.VICKY.WriteByte(MemoryLocations.MemoryMap.RTC_SEC_JR + 10 - 0xC000, BCD(currentTime.Year % 100)); + kernel.MemMgr.VICKY.WriteByte(MemoryLocations.MemoryMap.RTC_SEC_JR + 12 - 0xC000, BCD(currentTime.Year / 100)); + kernel.MemMgr.VICKY.WriteByte(MemoryLocations.MemoryMap.RTC_SEC_JR + 14 - 0xC000, (byte)(currentTime.DayOfWeek + 1)); } } @@ -778,6 +783,13 @@ public void RestartMenuItemClick(object sender, EventArgs e) debugWindow.ClearTrace(); SetDipSwitchMemory(); memoryWindow.Memory = kernel.CPU.MemMgr; + if (version == BoardVersion.RevJr) + { + // Now update other registers + kernel.MemMgr.MMU.Reset(); + kernel.MemMgr.VICKY.WriteWord(0xD000 - 0xC000, 1); + kernel.MemMgr.VICKY.WriteWord(0xD002 - 0xC000, 0x1540); + } memoryWindow.UpdateMCRButtons(); ResetSDCard(); @@ -799,6 +811,13 @@ private void DebugToolStripMenuItem_Click(object sender, EventArgs e) debugWindow.ClearTrace(); SetDipSwitchMemory(); memoryWindow.Memory = kernel.CPU.MemMgr; + if (version == BoardVersion.RevJr) + { + // Now update other registers + kernel.MemMgr.MMU.Reset(); + kernel.MemMgr.VICKY.WriteWord(0xD000 - 0xC000, 1); + kernel.MemMgr.VICKY.WriteWord(0xD002 - 0xC000, 0x1540); + } memoryWindow.UpdateMCRButtons(); ResetSDCard(); @@ -817,6 +836,13 @@ private void DefaultKernelToolStripMenuItem_Click(object sender, EventArgs e) debugWindow.ClearTrace(); SetDipSwitchMemory(); memoryWindow.Memory = kernel.CPU.MemMgr; + if (version == BoardVersion.RevJr) + { + // Now update other registers + kernel.MemMgr.MMU.Reset(); + kernel.MemMgr.VICKY.WriteWord(0xD000 - 0xC000, 1); + kernel.MemMgr.VICKY.WriteWord(0xD002 - 0xC000, 0x1540); + } memoryWindow.UpdateMCRButtons(); ResetSDCard(); @@ -876,6 +902,13 @@ private void LoadFNXMLFileToolStripMenuItem_Click(object sender, EventArgs e) debugWindow.Pause(); SetDipSwitchMemory(); ShowDebugWindow(); + if (version == BoardVersion.RevJr) + { + // Now update other registers + kernel.MemMgr.MMU.Reset(); + kernel.MemMgr.VICKY.WriteWord(0xD000 - 0xC000, 1); + kernel.MemMgr.VICKY.WriteWord(0xD002 - 0xC000, 0x1540); + } ShowMemoryWindow(); EnableMenuItems(); assetWindow.UpdateAssets(); @@ -1395,7 +1428,6 @@ private void SetDipSwitchMemory() byte userMode = (byte)((switches[4] ? 0 : 1) + (switches[5] ? 0 : 2) + (switches[6] ? 0 : 4)); if (kernel.MemMgr != null && kernel.MemMgr.VICKY != null) { - // switch 6 - Gamma byte MCR = kernel.MemMgr.VICKY.ReadByte(MemoryMap.VICKY_START_JR - 0xC000); if (switches[7]) @@ -1406,20 +1438,22 @@ private void SetDipSwitchMemory() { MCR &= 0b1011_1111; } - kernel.MemMgr.VICKY.WriteByte(kernel.MemMgr.VICKY.StartAddress, MCR); + kernel.MemMgr.VICKY.WriteByte(MemoryMap.VICKY_START_JR - 0xC000, MCR); } } } public void WriteMCRBytesToVicky(byte low, byte high) { - kernel.MemMgr.VICKY.WriteByte(0, low); - kernel.MemMgr.VICKY.WriteByte(1, high); + int baseAddr = version == BoardVersion.RevJr ? 0xD000 - 0xC000 : 0; + + kernel.MemMgr.VICKY.WriteByte(baseAddr, low); + kernel.MemMgr.VICKY.WriteByte(baseAddr + 1, high); } public ushort ReadMCRBytesFromVicky() { - return (ushort)kernel.MemMgr.VICKY.ReadWord(0); + return (ushort)kernel.MemMgr.VICKY.ReadWord(version == BoardVersion.RevJr ? 0xD000 - 0xC000 : 0); } public void UpdateGamma(bool gamma) diff --git a/Release Notes.txt b/Release Notes.txt index 7b53a48..734894e 100644 --- a/Release Notes.txt +++ b/Release Notes.txt @@ -1,3 +1,9 @@ +Release 0.6.0.1 +--------------- +Implemented tiles for F256Jr. +Fixed the issue when resetting the CPU, also reset the MMU and VICKY Layer Manager Registers. +Fixed RTC issue in F256Jr where the time was written in RAM. + Release 0.6.0.0 --------------- Fixed an issue where CPS/FPS display was showing zeroes after switching Board type. diff --git a/bin/Release/FoenixIDE.exe b/bin/Release/FoenixIDE.exe index 29a5ef1834ff444e130cfb872e98ec2088366642..246b974b76e5f71d748bbbc97952a3eae0ec275e 100644 GIT binary patch delta 116815 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 delta 114288 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