diff --git a/FoenixIDE.sln b/FoenixIDE.sln index 03a0323..d82dec4 100644 --- a/FoenixIDE.sln +++ b/FoenixIDE.sln @@ -25,7 +25,6 @@ EndProject Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "MIDI-to-VGM-Converter", "MIDI-to-VGM-Converter\MIDI-to-VGM-Converter.csproj", "{9CA195ED-7CC8-444A-98A3-D20F6A382FBB}" EndProject Project("{54435603-DBB4-11D2-8724-00A0C9A8B90C}") = "FoenixIDESetup", "FoenixIDESetup\FoenixIDESetup.vdproj", "{E9478995-9CB5-4121-90DC-FFD67660CDEE}" -Project("{54435603-DBB4-11D2-8724-00A0C9A8B90C}") = "FoenixIDE Setup", "FoenixIDE Setup\FoenixIDE Setup.vdproj", "{43F4AB19-C20E-43B5-A8C4-1111A78E591C}" EndProject Global GlobalSection(SolutionConfigurationPlatforms) = preSolution diff --git a/FoenixIDESetup/FoenixIDESetup.vdproj b/FoenixIDESetup/FoenixIDESetup.vdproj index 7bb1bb3..6f31da7 100644 --- a/FoenixIDESetup/FoenixIDESetup.vdproj +++ b/FoenixIDESetup/FoenixIDESetup.vdproj @@ -21,12 +21,60 @@ } "Entry" { + "MsmKey" = "8:_12B7D8CBF6E540459FE06AE6AE39F9FA" + "OwnerKey" = "8:_UNDEFINED" + "MsmSig" = "8:_UNDEFINED" + } + "Entry" + { "MsmKey" = "8:_12FE5FC46E964761B04C2DAF60E19023" "OwnerKey" = "8:_UNDEFINED" "MsmSig" = "8:_UNDEFINED" } "Entry" { + "MsmKey" = "8:_22E516AE2CBC45F88076B6D578501922" + "OwnerKey" = "8:_UNDEFINED" + "MsmSig" = "8:_UNDEFINED" + } + "Entry" + { + "MsmKey" = "8:_2E69A73F30734920B0F600D6641B83F0" + "OwnerKey" = "8:_UNDEFINED" + "MsmSig" = "8:_UNDEFINED" + } + "Entry" + { + "MsmKey" = "8:_2F19F7CBE22E4572A1048DCE9ED4E0F4" + "OwnerKey" = "8:_UNDEFINED" + "MsmSig" = "8:_UNDEFINED" + } + "Entry" + { + "MsmKey" = "8:_331E1E5F585B4E77A25329310F721004" + "OwnerKey" = "8:_UNDEFINED" + "MsmSig" = "8:_UNDEFINED" + } + "Entry" + { + "MsmKey" = "8:_350C95F025A346EA8BFBD159B5AA250F" + "OwnerKey" = "8:_UNDEFINED" + "MsmSig" = "8:_UNDEFINED" + } + "Entry" + { + "MsmKey" = "8:_3D76D088F8A941F1BF69E82EE5E9A391" + "OwnerKey" = "8:_UNDEFINED" + "MsmSig" = "8:_UNDEFINED" + } + "Entry" + { + "MsmKey" = "8:_56328197DB4C47E1ACAA2A073A07D19F" + "OwnerKey" = "8:_UNDEFINED" + "MsmSig" = "8:_UNDEFINED" + } + "Entry" + { "MsmKey" = "8:_563F86D9D947492CB36C3AA515B42299" "OwnerKey" = "8:_UNDEFINED" "MsmSig" = "8:_UNDEFINED" @@ -39,36 +87,132 @@ } "Entry" { + "MsmKey" = "8:_66310901D8E843A9A42394247C1990FA" + "OwnerKey" = "8:_UNDEFINED" + "MsmSig" = "8:_UNDEFINED" + } + "Entry" + { + "MsmKey" = "8:_6E3A7063A3184C6C95325BC06BD9CC06" + "OwnerKey" = "8:_UNDEFINED" + "MsmSig" = "8:_UNDEFINED" + } + "Entry" + { + "MsmKey" = "8:_6FDDB1F1722B4E5094B4B6E7CF1F55F3" + "OwnerKey" = "8:_UNDEFINED" + "MsmSig" = "8:_UNDEFINED" + } + "Entry" + { "MsmKey" = "8:_7ADEF7EB358C87F0CD07E1208961D3AA" "OwnerKey" = "8:_05BB69B027C149C699B0E2980589B4DF" "MsmSig" = "8:_UNDEFINED" } "Entry" { + "MsmKey" = "8:_84B5614706384430824C81CC98510E62" + "OwnerKey" = "8:_UNDEFINED" + "MsmSig" = "8:_UNDEFINED" + } + "Entry" + { + "MsmKey" = "8:_8AA2CECDF33445D6A5D8BE93067B66A2" + "OwnerKey" = "8:_UNDEFINED" + "MsmSig" = "8:_UNDEFINED" + } + "Entry" + { + "MsmKey" = "8:_944C207290DD4465B1DEC1E24DE2B090" + "OwnerKey" = "8:_UNDEFINED" + "MsmSig" = "8:_UNDEFINED" + } + "Entry" + { + "MsmKey" = "8:_97ED8AC2650A4AF1AE552E30015BD9EF" + "OwnerKey" = "8:_UNDEFINED" + "MsmSig" = "8:_UNDEFINED" + } + "Entry" + { + "MsmKey" = "8:_997CD1FAF6CF4BC390F7E9018B0C0B14" + "OwnerKey" = "8:_UNDEFINED" + "MsmSig" = "8:_UNDEFINED" + } + "Entry" + { + "MsmKey" = "8:_A3BE44E9C8FF48A6846A1C40CD4BB8C4" + "OwnerKey" = "8:_UNDEFINED" + "MsmSig" = "8:_UNDEFINED" + } + "Entry" + { + "MsmKey" = "8:_A3BF586AE3564C08B4961DFC6D7316CF" + "OwnerKey" = "8:_UNDEFINED" + "MsmSig" = "8:_UNDEFINED" + } + "Entry" + { + "MsmKey" = "8:_A5FBBA70FE3E4B54A5850B8CA86B9616" + "OwnerKey" = "8:_UNDEFINED" + "MsmSig" = "8:_UNDEFINED" + } + "Entry" + { "MsmKey" = "8:_AAAE3F478D4F44D58F3736376AD3FD57" "OwnerKey" = "8:_UNDEFINED" "MsmSig" = "8:_UNDEFINED" } "Entry" { + "MsmKey" = "8:_B423A87FCDE404551AD29B717843A708" + "OwnerKey" = "8:_05BB69B027C149C699B0E2980589B4DF" + "MsmSig" = "8:_UNDEFINED" + } + "Entry" + { + "MsmKey" = "8:_B7646B74D1344494AA0483CB2EF5407B" + "OwnerKey" = "8:_UNDEFINED" + "MsmSig" = "8:_UNDEFINED" + } + "Entry" + { "MsmKey" = "8:_BA33F90FF923446195A9FD68BDE2ED45" "OwnerKey" = "8:_UNDEFINED" "MsmSig" = "8:_UNDEFINED" } "Entry" { + "MsmKey" = "8:_C26E9A3C6CFB4ED8A0248AE1F1AD21B0" + "OwnerKey" = "8:_UNDEFINED" + "MsmSig" = "8:_UNDEFINED" + } + "Entry" + { "MsmKey" = "8:_C3BF3CBA62F048DCA70048AFBCDF8CCF" "OwnerKey" = "8:_UNDEFINED" "MsmSig" = "8:_UNDEFINED" } "Entry" { + "MsmKey" = "8:_CEBED54C58404B408D75717BA3FE097E" + "OwnerKey" = "8:_UNDEFINED" + "MsmSig" = "8:_UNDEFINED" + } + "Entry" + { "MsmKey" = "8:_E5B0021E526A45D28B87F5F0706277AA" "OwnerKey" = "8:_UNDEFINED" "MsmSig" = "8:_UNDEFINED" } "Entry" { + "MsmKey" = "8:_FC6533CE3B7E4B0BA17A4E9C1F145471" + "OwnerKey" = "8:_UNDEFINED" + "MsmSig" = "8:_UNDEFINED" + } + "Entry" + { "MsmKey" = "8:_UNDEFINED" "OwnerKey" = "8:_05BB69B027C149C699B0E2980589B4DF" "MsmSig" = "8:_UNDEFINED" @@ -76,6 +220,12 @@ "Entry" { "MsmKey" = "8:_UNDEFINED" + "OwnerKey" = "8:_B423A87FCDE404551AD29B717843A708" + "MsmSig" = "8:_UNDEFINED" + } + "Entry" + { + "MsmKey" = "8:_UNDEFINED" "OwnerKey" = "8:_7ADEF7EB358C87F0CD07E1208961D3AA" "MsmSig" = "8:_UNDEFINED" } @@ -174,6 +324,26 @@ } "File" { + "{1FB2D0AE-D3B9-43D4-B9DD-F88EC61E35DE}:_12B7D8CBF6E540459FE06AE6AE39F9FA" + { + "SourcePath" = "8:..\\Main\\Resources\\base_asm\\interrupt_handler.asm" + "TargetName" = "8:interrupt_handler.asm" + "Tag" = "8:" + "Folder" = "8:_2CED8A43FBFA44579E2CA91207C3D167" + "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}:_12FE5FC46E964761B04C2DAF60E19023" { "SourcePath" = "8:..\\icon.ico" @@ -194,12 +364,12 @@ "IsDependency" = "11:FALSE" "IsolateTo" = "8:" } - "{1FB2D0AE-D3B9-43D4-B9DD-F88EC61E35DE}:_563F86D9D947492CB36C3AA515B42299" + "{1FB2D0AE-D3B9-43D4-B9DD-F88EC61E35DE}:_22E516AE2CBC45F88076B6D578501922" { - "SourcePath" = "8:..\\bin\\Release\\roms\\kernel.hex" - "TargetName" = "8:kernel.hex" + "SourcePath" = "8:..\\Main\\Resources\\base_asm\\base.asm" + "TargetName" = "8:base.asm" "Tag" = "8:" - "Folder" = "8:_046CAC32C99040D4B711E42EEBA2C9FA" + "Folder" = "8:_2CED8A43FBFA44579E2CA91207C3D167" "Condition" = "8:" "Transitive" = "11:FALSE" "Vital" = "11:TRUE" @@ -214,12 +384,12 @@ "IsDependency" = "11:FALSE" "IsolateTo" = "8:" } - "{1FB2D0AE-D3B9-43D4-B9DD-F88EC61E35DE}:_599E8AA642A24769AEF49E5C094E94C3" + "{1FB2D0AE-D3B9-43D4-B9DD-F88EC61E35DE}:_2E69A73F30734920B0F600D6641B83F0" { - "SourcePath" = "8:..\\bin\\Release\\Resources\\CBM-ASCII_8x8.bin" - "TargetName" = "8:CBM-ASCII_8x8.bin" + "SourcePath" = "8:..\\Main\\Resources\\base_asm\\io_def.asm" + "TargetName" = "8:io_def.asm" "Tag" = "8:" - "Folder" = "8:_16053BACFCB84245B80C7CF2A152195E" + "Folder" = "8:_2CED8A43FBFA44579E2CA91207C3D167" "Condition" = "8:" "Transitive" = "11:FALSE" "Vital" = "11:TRUE" @@ -234,23 +404,12 @@ "IsDependency" = "11:FALSE" "IsolateTo" = "8:" } - "{9F6F8455-1EF1-4B85-886A-4223BCC8E7F7}:_7ADEF7EB358C87F0CD07E1208961D3AA" + "{1FB2D0AE-D3B9-43D4-B9DD-F88EC61E35DE}:_2F19F7CBE22E4572A1048DCE9ED4E0F4" { - "AssemblyRegister" = "3:1" - "AssemblyIsInGAC" = "11:FALSE" - "AssemblyAsmDisplayName" = "8:System.Net.Http, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" - "ScatterAssemblies" - { - "_7ADEF7EB358C87F0CD07E1208961D3AA" - { - "Name" = "8:System.Net.Http.dll" - "Attributes" = "3:512" - } - } - "SourcePath" = "8:System.Net.Http.dll" - "TargetName" = "8:" + "SourcePath" = "8:..\\Main\\Resources\\base_asm\\vgm_player.asm" + "TargetName" = "8:vgm_player.asm" "Tag" = "8:" - "Folder" = "8:_E6F0D81DDC2A4228B28F5AF3B10C767F" + "Folder" = "8:_2CED8A43FBFA44579E2CA91207C3D167" "Condition" = "8:" "Transitive" = "11:FALSE" "Vital" = "11:TRUE" @@ -262,15 +421,15 @@ "PackageAs" = "3:1" "Register" = "3:1" "Exclude" = "11:FALSE" - "IsDependency" = "11:TRUE" + "IsDependency" = "11:FALSE" "IsolateTo" = "8:" } - "{1FB2D0AE-D3B9-43D4-B9DD-F88EC61E35DE}:_AAAE3F478D4F44D58F3736376AD3FD57" + "{1FB2D0AE-D3B9-43D4-B9DD-F88EC61E35DE}:_331E1E5F585B4E77A25329310F721004" { - "SourcePath" = "8:..\\bin\\Release\\Resources\\Bm437_PhoenixEGA_8x8.bin" - "TargetName" = "8:Bm437_PhoenixEGA_8x8.bin" + "SourcePath" = "8:..\\Main\\Resources\\base_asm\\bank_00_inc.asm" + "TargetName" = "8:bank_00_inc.asm" "Tag" = "8:" - "Folder" = "8:_16053BACFCB84245B80C7CF2A152195E" + "Folder" = "8:_2CED8A43FBFA44579E2CA91207C3D167" "Condition" = "8:" "Transitive" = "11:FALSE" "Vital" = "11:TRUE" @@ -285,12 +444,12 @@ "IsDependency" = "11:FALSE" "IsolateTo" = "8:" } - "{1FB2D0AE-D3B9-43D4-B9DD-F88EC61E35DE}:_BA33F90FF923446195A9FD68BDE2ED45" + "{1FB2D0AE-D3B9-43D4-B9DD-F88EC61E35DE}:_350C95F025A346EA8BFBD159B5AA250F" { - "SourcePath" = "8:..\\bin\\Release\\roms\\kernel.lst" - "TargetName" = "8:kernel.lst" + "SourcePath" = "8:..\\Main\\Resources\\base_asm\\EXP_C200_EVID_def.asm" + "TargetName" = "8:EXP_C200_EVID_def.asm" "Tag" = "8:" - "Folder" = "8:_046CAC32C99040D4B711E42EEBA2C9FA" + "Folder" = "8:_2CED8A43FBFA44579E2CA91207C3D167" "Condition" = "8:" "Transitive" = "11:FALSE" "Vital" = "11:TRUE" @@ -305,12 +464,12 @@ "IsDependency" = "11:FALSE" "IsolateTo" = "8:" } - "{1FB2D0AE-D3B9-43D4-B9DD-F88EC61E35DE}:_C3BF3CBA62F048DCA70048AFBCDF8CCF" + "{1FB2D0AE-D3B9-43D4-B9DD-F88EC61E35DE}:_3D76D088F8A941F1BF69E82EE5E9A391" { - "SourcePath" = "8:..\\bin\\Release\\Resources\\FOENIX-CHARACTER-ASCII.bin" - "TargetName" = "8:FOENIX-CHARACTER-ASCII.bin" + "SourcePath" = "8:..\\Main\\Resources\\base_asm\\VKYII_CFP9553_COLLISION_def.asm" + "TargetName" = "8:VKYII_CFP9553_COLLISION_def.asm" "Tag" = "8:" - "Folder" = "8:_16053BACFCB84245B80C7CF2A152195E" + "Folder" = "8:_2CED8A43FBFA44579E2CA91207C3D167" "Condition" = "8:" "Transitive" = "11:FALSE" "Vital" = "11:TRUE" @@ -325,12 +484,12 @@ "IsDependency" = "11:FALSE" "IsolateTo" = "8:" } - "{1FB2D0AE-D3B9-43D4-B9DD-F88EC61E35DE}:_E5B0021E526A45D28B87F5F0706277AA" + "{1FB2D0AE-D3B9-43D4-B9DD-F88EC61E35DE}:_56328197DB4C47E1ACAA2A073A07D19F" { - "SourcePath" = "8:..\\bin\\Release\\Resources\\CBM-ASCII_8x16.bin" - "TargetName" = "8:CBM-ASCII_8x16.bin" + "SourcePath" = "8:..\\Main\\Resources\\base_asm\\VKYII_CFP9553_TILEMAP_def.asm" + "TargetName" = "8:VKYII_CFP9553_TILEMAP_def.asm" "Tag" = "8:" - "Folder" = "8:_16053BACFCB84245B80C7CF2A152195E" + "Folder" = "8:_2CED8A43FBFA44579E2CA91207C3D167" "Condition" = "8:" "Transitive" = "11:FALSE" "Vital" = "11:TRUE" @@ -345,64 +504,557 @@ "IsDependency" = "11:FALSE" "IsolateTo" = "8:" } - } - "FileType" - { - } - "Folder" - { - "{1525181F-901A-416C-8A58-119130FE478E}:_0CBD51AF80554C63BE2F41B161B81F65" + "{1FB2D0AE-D3B9-43D4-B9DD-F88EC61E35DE}:_563F86D9D947492CB36C3AA515B42299" { - "Name" = "8:#1919" - "AlwaysCreate" = "11:TRUE" + "SourcePath" = "8:..\\bin\\Release\\roms\\kernel.hex" + "TargetName" = "8:kernel.hex" + "Tag" = "8:" + "Folder" = "8:_046CAC32C99040D4B711E42EEBA2C9FA" "Condition" = "8:" "Transitive" = "11:FALSE" - "Property" = "8:ProgramMenuFolder" - "Folders" - { - } + "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:" } - "{1525181F-901A-416C-8A58-119130FE478E}:_A6234A0C22CA4380AAF762650CF10031" + "{1FB2D0AE-D3B9-43D4-B9DD-F88EC61E35DE}:_599E8AA642A24769AEF49E5C094E94C3" { - "Name" = "8:#1916" - "AlwaysCreate" = "11:TRUE" + "SourcePath" = "8:..\\bin\\Release\\Resources\\CBM-ASCII_8x8.bin" + "TargetName" = "8:CBM-ASCII_8x8.bin" + "Tag" = "8:" + "Folder" = "8:_16053BACFCB84245B80C7CF2A152195E" "Condition" = "8:" "Transitive" = "11:FALSE" - "Property" = "8:DesktopFolder" - "Folders" - { - } + "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:" } - "{3C67513D-01DD-4637-8A68-80971EB9504F}:_E6F0D81DDC2A4228B28F5AF3B10C767F" + "{1FB2D0AE-D3B9-43D4-B9DD-F88EC61E35DE}:_66310901D8E843A9A42394247C1990FA" { - "DefaultLocation" = "8:[ProgramFiles64Folder][Manufacturer]\\[ProductName]" - "Name" = "8:#1925" - "AlwaysCreate" = "11:FALSE" + "SourcePath" = "8:..\\Main\\Resources\\base_asm\\math_def.asm" + "TargetName" = "8:math_def.asm" + "Tag" = "8:" + "Folder" = "8:_2CED8A43FBFA44579E2CA91207C3D167" "Condition" = "8:" "Transitive" = "11:FALSE" - "Property" = "8:TARGETDIR" - "Folders" - { - "{9EF0B969-E518-4E46-987F-47570745A589}:_046CAC32C99040D4B711E42EEBA2C9FA" - { - "Name" = "8:roms" - "AlwaysCreate" = "11:FALSE" - "Condition" = "8:" - "Transitive" = "11:FALSE" - "Property" = "8:_34DEE08850EF4A708E93EBA82E8F1CC5" - "Folders" - { - } - } - "{9EF0B969-E518-4E46-987F-47570745A589}:_16053BACFCB84245B80C7CF2A152195E" - { - "Name" = "8:Resources" + "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}:_6E3A7063A3184C6C95325BC06BD9CC06" + { + "SourcePath" = "8:..\\Main\\Resources\\base_asm\\VKYII_CFP9553_SPRITE_def.asm" + "TargetName" = "8:VKYII_CFP9553_SPRITE_def.asm" + "Tag" = "8:" + "Folder" = "8:_2CED8A43FBFA44579E2CA91207C3D167" + "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}:_6FDDB1F1722B4E5094B4B6E7CF1F55F3" + { + "SourcePath" = "8:..\\Main\\Resources\\base_asm\\timer_def.asm" + "TargetName" = "8:timer_def.asm" + "Tag" = "8:" + "Folder" = "8:_2CED8A43FBFA44579E2CA91207C3D167" + "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:" + } + "{9F6F8455-1EF1-4B85-886A-4223BCC8E7F7}:_7ADEF7EB358C87F0CD07E1208961D3AA" + { + "AssemblyRegister" = "3:1" + "AssemblyIsInGAC" = "11:FALSE" + "AssemblyAsmDisplayName" = "8:System.Net.Http, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" + "ScatterAssemblies" + { + "_7ADEF7EB358C87F0CD07E1208961D3AA" + { + "Name" = "8:System.Net.Http.dll" + "Attributes" = "3:512" + } + } + "SourcePath" = "8:System.Net.Http.dll" + "TargetName" = "8:" + "Tag" = "8:" + "Folder" = "8:_E6F0D81DDC2A4228B28F5AF3B10C767F" + "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:TRUE" + "IsolateTo" = "8:" + } + "{1FB2D0AE-D3B9-43D4-B9DD-F88EC61E35DE}:_84B5614706384430824C81CC98510E62" + { + "SourcePath" = "8:..\\Main\\Resources\\base_asm\\VKYII_CFP9553_BITMAP_def.asm" + "TargetName" = "8:VKYII_CFP9553_BITMAP_def.asm" + "Tag" = "8:" + "Folder" = "8:_2CED8A43FBFA44579E2CA91207C3D167" + "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}:_8AA2CECDF33445D6A5D8BE93067B66A2" + { + "SourcePath" = "8:..\\Main\\Resources\\base_asm\\kernel_inc.asm" + "TargetName" = "8:kernel_inc.asm" + "Tag" = "8:" + "Folder" = "8:_2CED8A43FBFA44579E2CA91207C3D167" + "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}:_944C207290DD4465B1DEC1E24DE2B090" + { + "SourcePath" = "8:..\\Main\\Resources\\base_asm\\vicky_ii_def.asm" + "TargetName" = "8:vicky_ii_def.asm" + "Tag" = "8:" + "Folder" = "8:_2CED8A43FBFA44579E2CA91207C3D167" + "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}:_97ED8AC2650A4AF1AE552E30015BD9EF" + { + "SourcePath" = "8:..\\Main\\Resources\\base_asm\\interrupt_def.asm" + "TargetName" = "8:interrupt_def.asm" + "Tag" = "8:" + "Folder" = "8:_2CED8A43FBFA44579E2CA91207C3D167" + "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}:_997CD1FAF6CF4BC390F7E9018B0C0B14" + { + "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:" + "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}:_A3BE44E9C8FF48A6846A1C40CD4BB8C4" + { + "SourcePath" = "8:..\\Main\\Resources\\base_asm\\keyboard_def.asm" + "TargetName" = "8:keyboard_def.asm" + "Tag" = "8:" + "Folder" = "8:_2CED8A43FBFA44579E2CA91207C3D167" + "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}:_A3BF586AE3564C08B4961DFC6D7316CF" + { + "SourcePath" = "8:..\\Main\\Resources\\base_asm\\VKYII_CFP9553_VDMA_def.asm" + "TargetName" = "8:VKYII_CFP9553_VDMA_def.asm" + "Tag" = "8:" + "Folder" = "8:_2CED8A43FBFA44579E2CA91207C3D167" + "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}:_A5FBBA70FE3E4B54A5850B8CA86B9616" + { + "SourcePath" = "8:..\\Main\\Resources\\base_asm\\helper_functions.asm" + "TargetName" = "8:helper_functions.asm" + "Tag" = "8:" + "Folder" = "8:_2CED8A43FBFA44579E2CA91207C3D167" + "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}:_AAAE3F478D4F44D58F3736376AD3FD57" + { + "SourcePath" = "8:..\\bin\\Release\\Resources\\Bm437_PhoenixEGA_8x8.bin" + "TargetName" = "8:Bm437_PhoenixEGA_8x8.bin" + "Tag" = "8:" + "Folder" = "8:_16053BACFCB84245B80C7CF2A152195E" + "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:" + } + "{9F6F8455-1EF1-4B85-886A-4223BCC8E7F7}:_B423A87FCDE404551AD29B717843A708" + { + "AssemblyRegister" = "3:1" + "AssemblyIsInGAC" = "11:FALSE" + "AssemblyAsmDisplayName" = "8:FastColoredTextBox, Version=2.16.24.0, Culture=neutral, PublicKeyToken=fb8aa12b994ef61b, processorArchitecture=MSIL" + "ScatterAssemblies" + { + "_B423A87FCDE404551AD29B717843A708" + { + "Name" = "8:FastColoredTextBox.dll" + "Attributes" = "3:512" + } + } + "SourcePath" = "8:FastColoredTextBox.dll" + "TargetName" = "8:" + "Tag" = "8:" + "Folder" = "8:_E6F0D81DDC2A4228B28F5AF3B10C767F" + "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:TRUE" + "IsolateTo" = "8:" + } + "{1FB2D0AE-D3B9-43D4-B9DD-F88EC61E35DE}:_B7646B74D1344494AA0483CB2EF5407B" + { + "SourcePath" = "8:..\\Main\\Resources\\GameGeneratorTemplates.txt" + "TargetName" = "8:GameGeneratorTemplates.txt" + "Tag" = "8:" + "Folder" = "8:_16053BACFCB84245B80C7CF2A152195E" + "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}:_BA33F90FF923446195A9FD68BDE2ED45" + { + "SourcePath" = "8:..\\bin\\Release\\roms\\kernel.lst" + "TargetName" = "8:kernel.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}:_C26E9A3C6CFB4ED8A0248AE1F1AD21B0" + { + "SourcePath" = "8:..\\Main\\Resources\\base_asm\\asm.bat" + "TargetName" = "8:asm.bat" + "Tag" = "8:" + "Folder" = "8:_2CED8A43FBFA44579E2CA91207C3D167" + "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}:_C3BF3CBA62F048DCA70048AFBCDF8CCF" + { + "SourcePath" = "8:..\\bin\\Release\\Resources\\FOENIX-CHARACTER-ASCII.bin" + "TargetName" = "8:FOENIX-CHARACTER-ASCII.bin" + "Tag" = "8:" + "Folder" = "8:_16053BACFCB84245B80C7CF2A152195E" + "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}:_CEBED54C58404B408D75717BA3FE097E" + { + "SourcePath" = "8:..\\Main\\Resources\\base_asm\\macros_inc.asm" + "TargetName" = "8:macros_inc.asm" + "Tag" = "8:" + "Folder" = "8:_2CED8A43FBFA44579E2CA91207C3D167" + "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}:_E5B0021E526A45D28B87F5F0706277AA" + { + "SourcePath" = "8:..\\bin\\Release\\Resources\\CBM-ASCII_8x16.bin" + "TargetName" = "8:CBM-ASCII_8x16.bin" + "Tag" = "8:" + "Folder" = "8:_16053BACFCB84245B80C7CF2A152195E" + "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}:_FC6533CE3B7E4B0BA17A4E9C1F145471" + { + "SourcePath" = "8:..\\Main\\Resources\\base_asm\\gabe_control_registers_def.asm" + "TargetName" = "8:gabe_control_registers_def.asm" + "Tag" = "8:" + "Folder" = "8:_2CED8A43FBFA44579E2CA91207C3D167" + "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:" + } + } + "FileType" + { + } + "Folder" + { + "{1525181F-901A-416C-8A58-119130FE478E}:_0CBD51AF80554C63BE2F41B161B81F65" + { + "Name" = "8:#1919" + "AlwaysCreate" = "11:TRUE" + "Condition" = "8:" + "Transitive" = "11:FALSE" + "Property" = "8:ProgramMenuFolder" + "Folders" + { + } + } + "{1525181F-901A-416C-8A58-119130FE478E}:_A6234A0C22CA4380AAF762650CF10031" + { + "Name" = "8:#1916" + "AlwaysCreate" = "11:TRUE" + "Condition" = "8:" + "Transitive" = "11:FALSE" + "Property" = "8:DesktopFolder" + "Folders" + { + } + } + "{3C67513D-01DD-4637-8A68-80971EB9504F}:_E6F0D81DDC2A4228B28F5AF3B10C767F" + { + "DefaultLocation" = "8:[ProgramFiles64Folder][Manufacturer]\\[ProductName]" + "Name" = "8:#1925" + "AlwaysCreate" = "11:FALSE" + "Condition" = "8:" + "Transitive" = "11:FALSE" + "Property" = "8:TARGETDIR" + "Folders" + { + "{9EF0B969-E518-4E46-987F-47570745A589}:_046CAC32C99040D4B711E42EEBA2C9FA" + { + "Name" = "8:roms" + "AlwaysCreate" = "11:FALSE" + "Condition" = "8:" + "Transitive" = "11:FALSE" + "Property" = "8:_34DEE08850EF4A708E93EBA82E8F1CC5" + "Folders" + { + } + } + "{9EF0B969-E518-4E46-987F-47570745A589}:_16053BACFCB84245B80C7CF2A152195E" + { + "Name" = "8:Resources" "AlwaysCreate" = "11:FALSE" "Condition" = "8:" "Transitive" = "11:FALSE" "Property" = "8:_252ACD789A194BC28CD2CA48C583695E" "Folders" { + "{9EF0B969-E518-4E46-987F-47570745A589}:_2CED8A43FBFA44579E2CA91207C3D167" + { + "Name" = "8:base_asm" + "AlwaysCreate" = "11:FALSE" + "Condition" = "8:" + "Transitive" = "11:FALSE" + "Property" = "8:_FFD936D506BA4EC7A2CD084D2B9F5FAD" + "Folders" + { + } + } } } } diff --git a/Main/Devices/VDMA.cs b/Main/Devices/VDMA.cs index 770e178..cc9ef8e 100644 --- a/Main/Devices/VDMA.cs +++ b/Main/Devices/VDMA.cs @@ -44,8 +44,13 @@ public override void WriteByte(int Address, byte Value) MemoryLocations.MemoryRAM destMemory = null; int srcAddr = 0; int destAddr = 0; - bool isSystemSource = (Address == 0 && (Value & 0x10) != 0) || (Address == 0x20 && (Value & 0x10) == 0); - bool isSystemDest = (Address == 0 && (Value & 0x20) != 0) || (Address == 0x20 && (Value & 0x20) == 0); + bool isSystemSource = (Address == 0 && (Value & 0x10) != 0) || (Address == 0x20); + bool isSystemDest = (Address == 0 && (Value & 0x20) != 0) || (Address == 0x20 && (Value & 0x10) == 0); + // RAM to VRAM is initiated by SDMA + if (isSystemSource && !isSystemDest && Address == 0) + { + return; + } bool isIODest = (Value & 0x30) != 0; bool isFillTransfer = (Value & 4) != 0; bool isSrcTransfer2D = false; @@ -84,7 +89,7 @@ public override void WriteByte(int Address, byte Value) if (destMemory == Vicky) { - destAddr -= 0xAF_0000; + destAddr -= Vicky.StartAddress; } isDestTransfer2D = (ReadByte(0x20) & 2) != 0; } diff --git a/Main/Resources/base_asm/EXP_C200_EVID_def.asm b/Main/Resources/base_asm/EXP_C200_EVID_def.asm new file mode 100644 index 0000000..d7aaf7a --- /dev/null +++ b/Main/Resources/base_asm/EXP_C200_EVID_def.asm @@ -0,0 +1,63 @@ +EVID_EXP_CARD_INFO = $AE0000 ; Read Only (32 Bytes Card ID - READ ONLY) +EVID_ID_NAME_ASCII = $AE0000 ; 15 Characters + $00 +EVID_ID_VENDOR_ID_Lo = $AE0010 ; Foenix Project Reserved ID: $F0E1 +EVID_ID_VENDOR_ID_Hi = $AE0011 +EVID_ID_CARD_ID_Lo = $AE0012 ; $9236 - C200-EVID +EVID_ID_CARD_ID_Hi = $AE0013 +EVID_ID_CARD_CLASS_Lo = $AE0014 ; TBD +EVID_ID_CARD_CLASS_Hi = $AE0015 ; TBD +EVID_ID_CARD_SUBCLSS_Lo = $AE0016 ; TBD +EVID_ID_CARD_SUBCLSS_Hi = $AE0017 ; TBD +EVID_ID_CARD_UNDEFINED0 = $AE0018 ; TBD +EVID_ID_CARD_UNDEFINED1 = $AE0019 ; TBD +EVID_ID_CARD_HW_Rev = $AE001A ; 00 - in Hex +EVID_ID_CARD_FPGA_Rev = $AE001B ; 00 - in Hex +EVID_ID_CARD_UNDEFINED2 = $AE001C ; TBD +EVID_ID_CARD_UNDEFINED3 = $AE001D ; TBD +EVID_ID_CARD_CHKSUM0 = $AE001E ; Not Supported Yet +EVID_ID_CARD_CHKSUM1 = $AE001F ; Not Supported Yet + +;EVID_MOUSEPTR_MEM = $AE0400 ; Not Instantiated +;EVID_MOUSEPTR_REG = $AE0600 ; Not Instantiated + +EVID_FONT_MEM = $AE1000 +EVID_FG_LUT = $AE1B00 +EVID_BG_LUT = $AE1B40 +;Internal EVID Registers and Internal Memory Locations (LUTs) +EVID_MSTR_CTRL_REG_L = $AE1E00 +EVID_Ctrl_Text_Mode_En = $01 ; Enable the Text Mode + +EVID_MSTR_CTRL_REG_H = $AE1E01 +EVID_800x600ModeEnable = $01 ; 0 - 640x480 (Clock @ 25.175Mhz), 1 - 800x600 (Clock @ 40Mhz) + +EVID_Border_Ctrl_Enable = $01 +EVID_BORDER_CTRL_REG = $AE1E04 ; Bit[0] - Enable (1 by default) Bit[4..6]: X Scroll Offset ( Will scroll Left) (Acceptable Value: 0..7) +EVID_BORDER_COLOR_B = $AE1E05 +EVID_BORDER_COLOR_G = $AE1E06 +EVID_BORDER_COLOR_R = $AE1E07 +EVID_BORDER_X_SIZE = $AE1E08; X- Values: 0 - 32 (Default: 32) +EVID_BORDER_Y_SIZE = $AE1E09; Y- Values 0 -32 (Default: 32) + +EVID_TXT_CURSOR_CTRL_REG = $AE1E10 ;[0] Enable Text Mode +EVID_Cursor_Enable = $01 +EVID_Cursor_Flash_Rate0 = $02 ; 00 - 1/Sec, 01 - 2/Sec, 10 - 4/Sec, 11 - 5/Sec +EVID_Cursor_Flash_Rate1 = $04 +EVID_Cursor_FONT_Page0 = $08 ; Pick Font Page 0 or Font Page 1 +EVID_Cursor_FONT_Page1 = $10 ; Pick Font Page 0 or Font Page 1 +EVID_TXT_CURSOR_CHAR_REG = $AE1E12 + +EVID_TXT_CURSOR_COLR_REG = $AE1E13 +EVID_TXT_CURSOR_X_REG_L = $AE1E14 +EVID_TXT_CURSOR_X_REG_H = $AE1E15 +EVID_TXT_CURSOR_Y_REG_L = $AE1E16 +EVID_TXT_CURSOR_Y_REG_H = $AE1E17 +; When you Read the Register +EVID_INFO_CHIP_NUM_L = $AE1E1C +EVID_INFO_CHIP_NUM_H = $AE1E1D +EVID_INFO_CHIP_VER_L = $AE1E1E +EVID_INFO_CHIP_VER_H = $AE1E1F + +EVID_TEXT_MEM = $AE2000 +EVID_COLOR_MEM = $AE4000 +EVID_ETHERNET_REG = $AEE000 + diff --git a/Main/Resources/base_asm/VKYII_CFP9553_COLLISION_def.asm b/Main/Resources/base_asm/VKYII_CFP9553_COLLISION_def.asm new file mode 100644 index 0000000..aacbf76 --- /dev/null +++ b/Main/Resources/base_asm/VKYII_CFP9553_COLLISION_def.asm @@ -0,0 +1,75 @@ +; Pixel Layer Collision Detection Status +; This is the registers @ $AF:0300 + +; +COL_STAT_SP0 = $0001 +COL_STAT_SP1 = $0002 +COL_STAT_SP2 = $0004 +COL_STAT_SP3 = $0008 +COL_STAT_SP4 = $0010 +COL_STAT_SP5 = $0020 +COL_STAT_SP6 = $0040 + +COL_STAT_BM0 = $0080 +COL_STAT_BM1 = $0100 +COL_STAT_COL = $0200 + +COL_STAT_TL0 = $0400 +COL_STAT_TL1 = $0800 +COL_STAT_TL2 = $1000 +COL_STAT_TL3 = $2000 +COL_RESERVE0 = $4000 ; Reserved +COL_RESERVE1 = $8000 ; Reserved + +; Sprite Layers +COLLISION_SPRITE_L0_L = $AF0300 +COLLISION_SPRITE_L0_H = $AF0301 +COLLISION_SPRITE_L1_L = $AF0302 +COLLISION_SPRITE_L1_H = $AF0303 +COLLISION_SPRITE_L2_L = $AF0304 +COLLISION_SPRITE_L2_H = $AF0305 +COLLISION_SPRITE_L3_L = $AF0306 +COLLISION_SPRITE_L3_H = $AF0307 +COLLISION_SPRITE_L4_L = $AF0308 +COLLISION_SPRITE_L4_H = $AF0309 +COLLISION_SPRITE_L5_L = $AF030A +COLLISION_SPRITE_L5_H = $AF030B +COLLISION_SPRITE_L6_L = $AF030C +COLLISION_SPRITE_L6_H = $AF030D +; Bitmap Layers +COLLISION_BITMAP_L0_L = $AF030E +COLLISION_BITMAP_L0_H = $AF030F +COLLISION_BITMAP_L1_L = $AF0310 +COLLISION_BITMAP_L1_H = $AF0311 +COLLISION_COLMAP_L0_L = $AF0312 ; Collision Bitmap - Not Implemented yet +COLLISION_COLMAP_L0_H = $AF0313 +; Tile Map Layers +COLLISION_TILEMAP_L0_L = $AF0314 +COLLISION_TILEMAP_L0_H = $AF0315 +COLLISION_TILEMAP_L1_L = $AF0316 +COLLISION_TILEMAP_L1_H = $AF0317 +COLLISION_TILEMAP_L2_L = $AF0318 +COLLISION_TILEMAP_L2_H = $AF0319 +COLLISION_TILEMAP_L3_L = $AF031A +COLLISION_TILEMAP_L3_H = $AF031B + +; When there is a collision the Pixel Value are stored here +COLLISION_PXL_VALUE_SP = $AF031C +COLLISION_SPRITE_NUMBER = $AF031D +COLLISION_PXL_VALUE_BM0 = $AF031E +COLLISION_PXL_VALUE_BM1 = $AF031F +COLLISION_PXL_VALUE_COL = $AF0320 +COLLISION_PXL_VALUE_TL0 = $AF0321 +COLLISION_PXL_VALUE_TL1 = $AF0322 +COLLISION_PXL_VALUE_TL2 = $AF0323 +COLLISION_PXL_VALUE_TL3 = $AF0324 + +COLLISION_SPRITE_COORD_X_LO = $AF0326 +COLLISION_SPRITE_COORD_X_HI = $AF0327 +COLLISION_BITMAP_COORD_X_LO = $AF0328 +COLLISION_BITMAP_COORD_X_HI = $AF0329 +COLLISION_TILES_COORD_X_LO = $AF032A +COLLISION_TILES_COORD_X_HI = $AF032B +COLLISION_COORD_Y_LO = $AF032C +COLLISION_COORD_Y_HI = $AF032D + diff --git a/Main/Resources/base_asm/interrupt_handler.asm b/Main/Resources/base_asm/interrupt_handler.asm index df870a2..090f073 100644 --- a/Main/Resources/base_asm/interrupt_handler.asm +++ b/Main/Resources/base_asm/interrupt_handler.asm @@ -47,6 +47,8 @@ CHECK_PENDING_REG1 BEQ CHECK_PENDING_REG2 ; BEQ EXIT_IRQ_HANDLE ; Keyboard Interrupt check_irq_bit INT_PENDING_REG1, FNX1_INT00_KBD, KEYBOARD_INTERRUPT + check_irq_bit INT_PENDING_REG1, FNX1_INT01_SC0, STS_COLLISION_INTERRUPT + check_irq_bit INT_PENDING_REG1, FNX1_INT02_SC1, STT_COLLISION_INTERRUPT ; Third Block of 8 Interrupts CHECK_PENDING_REG2 @@ -91,3 +93,13 @@ KEYBOARD_INTERRUPT .as .include "../_keyboard_handler.asm" RTS + +STS_COLLISION_INTERRUPT + .as +.include "../_collision0_handler.asm" + RTS + +STT_COLLISION_INTERRUPT + .as +.include "../_collision1_handler.asm" + RTS \ No newline at end of file diff --git a/Main/UI/GameGeneratorForm.cs b/Main/UI/GameGeneratorForm.cs index 16073d2..d452081 100644 --- a/Main/UI/GameGeneratorForm.cs +++ b/Main/UI/GameGeneratorForm.cs @@ -44,8 +44,16 @@ private void LoadButton_Click(object sender, EventArgs e) // Check which checkboxes to check FoenixLexer fl = new FoenixLexer(CodeTextBox.Text); - cbTimer0.Checked = fl.GetSub("TIMER0_IRQ_HANDLER") != null; cbSOF.Checked = fl.GetSub("SOF_IRQ_HANDLER") != null; + cbSOL.Checked = fl.GetSub("SOL_IRQ_HANDLER") != null; + cbTimer0.Checked = fl.GetSub("TIMER0_IRQ_HANDLER") != null; + cbTimer1.Checked = fl.GetSub("TIMER1_IRQ_HANDLER") != null; + cbTimer2.Checked = fl.GetSub("TIMER2_IRQ_HANDLER") != null; + cbMouse.Checked = fl.GetSub("MOUSE_IRQ_HANDLER") != null; + + cbKeyboard.Checked = fl.GetSub("KEYBOARD_IRQ_HANDLER") != null; ; + cbCollision0.Checked = fl.GetSub("STS_COL_IRQ_HANDLER") != null; + cbCollision1.Checked = fl.GetSub("STT_COL_IRQ_HANDLER") != null; } } @@ -147,7 +155,7 @@ private void GenerateASMButton_Click(object sender, EventArgs e) case TokenType.ENABLE_IRQS: tm.groups.Clear(); tm.groups.Add(BuildIrqReg0String(cbSOF.Checked, cbSOL.Checked, cbTimer0.Checked, cbTimer1.Checked, cbTimer2.Checked, false, false, cbMouse.Checked)); - tm.groups.Add("$0"); + tm.groups.Add(BuildIrqReg1String(cbKeyboard.Checked, cbCollision0.Checked, cbCollision1.Checked, false, false, false, false, false)); tm.groups.Add("$0"); tm.groups.Add("$0"); lines.AddRange(GetTemplate(tm)); diff --git a/bin/Release/FoenixIDE.exe b/bin/Release/FoenixIDE.exe index 0e350fc..519ae1c 100644 Binary files a/bin/Release/FoenixIDE.exe and b/bin/Release/FoenixIDE.exe differ