Skip to content

Commit

Permalink
Release 0.5.5.7
Browse files Browse the repository at this point in the history
---------------
Added Zero button in Memory window to reset a page to zero.
Fixed Asset Loading - when LUT data already exists, we often ended up in an infinite loop, for 8bpp image.  We now exit the LUT loop when the mask equals $C0 (only 2 bits).
Added an "Overwrite LUT" checkbox in the Asset Loader.
Updated the Game Generator to use the new VICKY "GENERAL" file.
Added specialized checkboxes to display which interrupt was triggered, in the CPU window.
  • Loading branch information
dtremblay committed Jul 10, 2021
1 parent d495b95 commit 25b6cec
Show file tree
Hide file tree
Showing 19 changed files with 477 additions and 187 deletions.
24 changes: 12 additions & 12 deletions FoenixIDESetup/FoenixIDESetup.vdproj
Original file line number Diff line number Diff line change
Expand Up @@ -135,19 +135,19 @@
}
"Entry"
{
"MsmKey" = "8:_944C207290DD4465B1DEC1E24DE2B090"
"MsmKey" = "8:_97ED8AC2650A4AF1AE552E30015BD9EF"
"OwnerKey" = "8:_UNDEFINED"
"MsmSig" = "8:_UNDEFINED"
}
"Entry"
{
"MsmKey" = "8:_97ED8AC2650A4AF1AE552E30015BD9EF"
"MsmKey" = "8:_997CD1FAF6CF4BC390F7E9018B0C0B14"
"OwnerKey" = "8:_UNDEFINED"
"MsmSig" = "8:_UNDEFINED"
}
"Entry"
{
"MsmKey" = "8:_997CD1FAF6CF4BC390F7E9018B0C0B14"
"MsmKey" = "8:_9C1708C0257F4DAFB3C32023098E2F72"
"OwnerKey" = "8:_UNDEFINED"
"MsmSig" = "8:_UNDEFINED"
}
Expand Down Expand Up @@ -737,10 +737,10 @@
"IsDependency" = "11:FALSE"
"IsolateTo" = "8:"
}
"{1FB2D0AE-D3B9-43D4-B9DD-F88EC61E35DE}:_944C207290DD4465B1DEC1E24DE2B090"
"{1FB2D0AE-D3B9-43D4-B9DD-F88EC61E35DE}:_97ED8AC2650A4AF1AE552E30015BD9EF"
{
"SourcePath" = "8:..\\Main\\Resources\\base_asm\\vicky_ii_def.asm"
"TargetName" = "8:vicky_ii_def.asm"
"SourcePath" = "8:..\\Main\\Resources\\base_asm\\interrupt_def.asm"
"TargetName" = "8:interrupt_def.asm"
"Tag" = "8:"
"Folder" = "8:_2CED8A43FBFA44579E2CA91207C3D167"
"Condition" = "8:"
Expand All @@ -757,10 +757,10 @@
"IsDependency" = "11:FALSE"
"IsolateTo" = "8:"
}
"{1FB2D0AE-D3B9-43D4-B9DD-F88EC61E35DE}:_97ED8AC2650A4AF1AE552E30015BD9EF"
"{1FB2D0AE-D3B9-43D4-B9DD-F88EC61E35DE}:_997CD1FAF6CF4BC390F7E9018B0C0B14"
{
"SourcePath" = "8:..\\Main\\Resources\\base_asm\\interrupt_def.asm"
"TargetName" = "8:interrupt_def.asm"
"SourcePath" = "8:..\\Main\\Resources\\base_asm\\VKYII_CFP9553_SDMA_def.asm"
"TargetName" = "8:VKYII_CFP9553_SDMA_def.asm"
"Tag" = "8:"
"Folder" = "8:_2CED8A43FBFA44579E2CA91207C3D167"
"Condition" = "8:"
Expand All @@ -777,10 +777,10 @@
"IsDependency" = "11:FALSE"
"IsolateTo" = "8:"
}
"{1FB2D0AE-D3B9-43D4-B9DD-F88EC61E35DE}:_997CD1FAF6CF4BC390F7E9018B0C0B14"
"{1FB2D0AE-D3B9-43D4-B9DD-F88EC61E35DE}:_9C1708C0257F4DAFB3C32023098E2F72"
{
"SourcePath" = "8:..\\Main\\Resources\\base_asm\\VKYII_CFP9553_SDMA_def.asm"
"TargetName" = "8:VKYII_CFP9553_SDMA_def.asm"
"SourcePath" = "8:..\\Main\\Resources\\base_asm\\VKYII_CFP9553_GENERAL_def.asm"
"TargetName" = "8:VKYII_CFP9553_GENERAL_def.asm"
"Tag" = "8:"
"Folder" = "8:_2CED8A43FBFA44579E2CA91207C3D167"
"Condition" = "8:"
Expand Down
71 changes: 71 additions & 0 deletions Main/Controls/ColorCheckBox.cs
Original file line number Diff line number Diff line change
@@ -0,0 +1,71 @@
using System;
using System.Collections.Generic;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;

namespace FoenixIDE.Simulator.Controls
{
class ColorCheckBox: CheckBox
{
private bool active;
public bool IsActive
{
get
{
return active;
}
set
{
active = value;
Invalidate();
}
}

public ColorCheckBox()
{
Appearance = System.Windows.Forms.Appearance.Normal;
FlatStyle = System.Windows.Forms.FlatStyle.Flat;
TextAlign = ContentAlignment.MiddleRight;
FlatAppearance.BorderSize = 0;
AutoSize = false;
Height = 16;
}

protected override void OnPaint(PaintEventArgs pevent)
{
pevent.Graphics.Clear(BackColor);
Size box = new Size(Size.Width - 2, Size.Height - 2);
SolidBrush foreBrush = new SolidBrush(ForeColor);
if (Text.Length > 0)
{

pevent.Graphics.DrawString(Text, Font, foreBrush, 27, 0);
}

Rectangle rect = new Rectangle(new Point(0,0), box);

pevent.Graphics.FillRectangle(active ? Brushes.Crimson : Brushes.White, rect);

if (Checked)
{
using (Font wing = new Font("Wingdings", 10f))
pevent.Graphics.DrawString("ü", wing, foreBrush, -1, 0);
}
pevent.Graphics.DrawRectangle(Pens.DarkSlateBlue, rect);

Rectangle fRect = ClientRectangle;

//if (Focused)
//{
// fRect.Inflate(-1, -1);
// using (Pen pen = new Pen(Brushes.Gray) { DashStyle = System.Drawing.Drawing2D.DashStyle.Dot })
// pevent.Graphics.DrawRectangle(pen, fRect);
//}
}
}


}
4 changes: 2 additions & 2 deletions Main/FileFormat/HexFile.cs
Original file line number Diff line number Diff line change
Expand Up @@ -51,7 +51,7 @@ static public String Load(MemoryRAM ram, string Filename, int gabeAddressBank, o
// data row. The next n bytes are data to be loaded into memory
case "00":
address = GetByte(offset, 0, 2);
if (startAddress == -1)
if (startAddress == -1 && ((address & 0xFF00) != 0xFF00))
{
startAddress = bank + address;
}
Expand All @@ -74,7 +74,7 @@ static public String Load(MemoryRAM ram, string Filename, int gabeAddressBank, o

// end of file - just ignore
case "01":
length = bank + address - startAddress;
length = address;
break;

case "02":
Expand Down
10 changes: 7 additions & 3 deletions Main/FoenixIDE.csproj
Original file line number Diff line number Diff line change
Expand Up @@ -81,6 +81,9 @@
</ItemGroup>
<ItemGroup>
<Compile Include="Basic\ScanCodes.cs" />
<Compile Include="Controls\ColorCheckBox.cs">
<SubType>Component</SubType>
</Compile>
<Compile Include="Devices\BoardVersion.cs" />
<Compile Include="Devices\GabeRAM.cs" />
<Compile Include="Devices\InterruptController.cs" />
Expand Down Expand Up @@ -356,9 +359,13 @@
</ItemGroup>
<ItemGroup>
<Content Include="icon.ico" />
<Content Include="Resources\base_asm\VKYII_CFP9553_GENERAL_def.asm">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</Content>
<Content Include="Resources\foenix-game-generator-syntax.xml">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</Content>
<None Include="Resources\zero.bmp" />
<Content Include="roms\kernel.lst" />
<Content Include="roms\kernel.hex" />
<None Include="roms\kernel_U_Plus.hex" />
Expand Down Expand Up @@ -416,9 +423,6 @@
<Content Include="Resources\base_asm\timer_def.asm">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</Content>
<Content Include="Resources\base_asm\vicky_ii_def.asm">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</Content>
<Content Include="Resources\base_asm\VKYII_CFP9553_BITMAP_def.asm">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</Content>
Expand Down
4 changes: 2 additions & 2 deletions Main/Properties/AssemblyInfo.cs
Original file line number Diff line number Diff line change
Expand Up @@ -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.5.5.6")]
[assembly: AssemblyFileVersion("0.5.5.6")]
[assembly: AssemblyVersion("0.5.5.7")]
[assembly: AssemblyFileVersion("0.5.5.7")]
10 changes: 10 additions & 0 deletions Main/Properties/Resources.Designer.cs

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

3 changes: 3 additions & 0 deletions Main/Properties/Resources.resx
Original file line number Diff line number Diff line change
Expand Up @@ -127,4 +127,7 @@
<data name="save_btn" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\Resources\save_btn.bmp;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
</data>
<data name="zero" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\Resources\zero.bmp;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
</data>
</root>
Original file line number Diff line number Diff line change
@@ -1,7 +1,4 @@
;
; Internal VICKY Registers and Internal Memory Locations (LUTs)
;

;Internal VICKY Registers and Internal Memory Locations (LUTs)
MASTER_CTRL_REG_L = $AF0000
;Control Bits Fields
Mstr_Ctrl_Text_Mode_En = $01 ; Enable the Text Mode
Expand All @@ -17,9 +14,18 @@ MASTER_CTRL_REG_H = $AF0001
Mstr_Ctrl_Video_Mode0 = $01 ; 0 - 640x480 (Clock @ 25.175Mhz), 1 - 800x600 (Clock @ 40Mhz)
Mstr_Ctrl_Video_Mode1 = $02 ; 0 - No Pixel Doubling, 1- Pixel Doubling (Reduce the Pixel Resolution by 2)

; Reserved - TBD
VKY_RESERVED_00 = $AF0002
; New - GAMMA Control/HI-Res DipSwitch Value;
GAMMA_CTRL_REG = $AF0002
GAMMA_Ctrl_Input = $01 ; 0 = DipSwitch Chooses GAMMA on/off , 1- Software Control
GAMMA_Ctrl_Soft = $02 ; 0 = GAMMA Table is not Applied, 1 = GAMMA Table is Applied
SYNC_Turn_Off = $04 ; 0 = Normal Operation, 1 = Turn Off Sync to get sleep mode from Monitor
GAMMA_DP_SW_VAL = $08 ; READ ONLY - Actual DIP Switch Value
HIRES_DP_SW_VAL = $10 ; READ ONLY - 0 = Hi-Res on BOOT ON, 1 = Hi-Res on BOOT OFF



VKY_RESERVED_01 = $AF0003

Border_Ctrl_Enable = $01
BORDER_CTRL_REG = $AF0004 ; Bit[0] - Enable (1 by default) Bit[4..6]: X Scroll Offset ( Will scroll Left) (Acceptable Value: 0..7)
BORDER_COLOR_B = $AF0005
Expand All @@ -28,13 +34,17 @@ BORDER_COLOR_R = $AF0007
BORDER_X_SIZE = $AF0008; X- Values: 0 - 32 (Default: 32)
BORDER_Y_SIZE = $AF0009; Y- Values 0 -32 (Default: 32)

; AF000A
; AF000B
; AF000C

BACKGROUND_COLOR_B = $AF000D ; When in Graphic Mode, if a pixel is "0" then the Background pixel is chosen
BACKGROUND_COLOR_G = $AF000E
BACKGROUND_COLOR_R = $AF000F ;

VKY_TXT_CURSOR_CTRL_REG = $AF0010 ;[0] Enable Text Mode
Vky_Cursor_Enable = $01
Vky_Cursor_Flash_Rate0 = $02
Vky_Cursor_Flash_Rate0 = $02 ; 00 - 1/Sec, 01 - 2/Sec, 10 - 4/Sec, 11 - 5/Sec
Vky_Cursor_Flash_Rate1 = $04
Vky_Cursor_FONT_Page0 = $08 ; Pick Font Page 0 or Font Page 1
Vky_Cursor_FONT_Page1 = $10 ; Pick Font Page 0 or Font Page 1
Expand All @@ -47,6 +57,9 @@ VKY_TXT_CURSOR_X_REG_H = $AF0015
VKY_TXT_CURSOR_Y_REG_L = $AF0016
VKY_TXT_CURSOR_Y_REG_H = $AF0017

; AF0018
; AF0019
; AF001A

; Line Interrupt Registers
VKY_LINE_IRQ_CTRL_REG = $AF001B ;[0] - Enable Line 0, [1] -Enable Line 1
Expand All @@ -56,10 +69,10 @@ VKY_LINE1_CMP_VALUE_LO = $AF001E ;Write Only [7:0]
VKY_LINE1_CMP_VALUE_HI = $AF001F ;Write Only [3:0]

; When you Read the Register
VKY_INFO_CHIP_NUM_L = $AF001C
VKY_INFO_CHIP_NUM_H = $AF001D
VKY_INFO_CHIP_VER_L = $AF001E
VKY_INFO_CHIP_VER_H = $AF001F
VKY_INFO_CHIP_NUM_L = $AF001C ; Version
VKY_INFO_CHIP_NUM_H = $AF001D ; Version
VKY_INFO_CHIP_VER_L = $AF001E ; Sub-Version
VKY_INFO_CHIP_VER_H = $AF001F ; Sub-Version

; Mouse Pointer Graphic Memory
MOUSE_PTR_GRAP0_START = $AF0500 ; 16 x 16 = 256 Pixels (Grey Scale) 0 = Transparent, 1 = Black , 255 = White
Expand All @@ -82,8 +95,20 @@ C256F_MODEL_MINOR = $AF070C ;
FPGA_DOR = $AF070D ;
FPGA_MOR = $AF070E ;
FPGA_YOR = $AF070F ;

; = $AF0800 ; the RTC is Here

; VMEM 2 CPU Read Registers
VMEM2CPU_CTRL_REG = $AF0900 ;
VMEM2CPU_Clear_FIFO = $01 ; Setting this to 1 will flush (Reset) the FIFO, clear it after to return to normal function
; Probably a good idea to reset this before starting to fetch data from VMEM in your application
VMEM2CPU_Intterupt = $02 ; This is not implemented because there is not enough Interrupt line on the FMX
; It could be implemented in the U... Right now it is not plugged anywere.
VMEM2CPU_Data_Port = $AF0901 ; This is a Byte Port of the data that you have requested. (Output of the FIFO)
VMEM2CPU_Fifo_Count_LO = $AF0902 ; FIFO Count Lo (number of byte in the FIFO) FIFO Count is 10bits, Count_Bit0 to Count_Bit7 of Count
VMEM2CPU_Fifo_Count_HI = $AF0903 ; FIFO Count Hi, Bit 0 = Count_Bit8, Bit 1 = Count_Bit9
VMEM2CPU_Fifo_Empty = $80 ; Bit 7 of VMEM2CPU_Fifo_Count_HI, when 1, the FIFO is empty.


; = $AF1000 ; The SuperIO Start is Here
; = $AF13FF ; The SuperIO Start is Here

Expand All @@ -104,16 +129,5 @@ GAMMA_G_LUT_PTR = $AF4100
GAMMA_R_LUT_PTR = $AF4200

FONT_MEMORY_BANK0 = $AF8000 ;$AF8000 - $AF87FF
FONT_MEMORY_BANK1 = $AF8800 ;$AF8800 - $AF8FFF
CS_TEXT_MEM_PTR = $AFA000
CS_COLOR_MEM_PTR = $AFC000


BTX_START = $AFE000 ; BEATRIX Registers
BTX_END = $AFFFFF

.include "VKYII_CFP9553_BITMAP_def.asm"
.include "VKYII_CFP9553_TILEMAP_def.asm"
.include "VKYII_CFP9553_VDMA_def.asm"
.include "VKYII_CFP9553_SDMA_def.asm"
.include "VKYII_CFP9553_SPRITE_def.asm"
Loading

0 comments on commit 25b6cec

Please sign in to comment.