From 8dc535e874f1d0cf4d310c46051bef9296160343 Mon Sep 17 00:00:00 2001 From: "ALIENJACK\\alien" Date: Wed, 31 Jul 2024 17:40:32 +0800 Subject: [PATCH] =?UTF-8?q?=E5=9B=BE=E5=83=8F=E5=87=BA=E7=8E=B0=E4=BA=86?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Assets/Scene/EmuTest.unity | 317 ++++-------------- .../Assets/Script/NesEmulator/NesEmulator.cs | 6 +- .../Script/NesEmulator/NesEmulator.prefab | 264 +++++++++++++++ .../NesEmulator/NesEmulator.prefab.meta | 7 + .../Script/NesEmulator/VideoProvider.cs | 26 +- .../Assets/VirtualNes.Core/CPU.cs | 75 +++-- .../Assets/VirtualNes.Core/Debuger.cs | 3 - .../Assets/VirtualNes.Core/NES.cs | 25 +- .../EmulatorConfig/EmulatorConfig.cs | 10 +- virtuanessrc097-master/NES/CPU.h | Bin 5054 -> 5054 bytes virtuanessrc097-master/NES/Cpu.cpp | Bin 73900 -> 73958 bytes virtuanessrc097-master/NES/Nes.cpp | Bin 204464 -> 202972 bytes virtuanessrc097-master/NES/Nes.h | Bin 18460 -> 18408 bytes 13 files changed, 410 insertions(+), 323 deletions(-) create mode 100644 AxibugEmuOnline.Client/Assets/Script/NesEmulator/NesEmulator.prefab create mode 100644 AxibugEmuOnline.Client/Assets/Script/NesEmulator/NesEmulator.prefab.meta diff --git a/AxibugEmuOnline.Client/Assets/Scene/EmuTest.unity b/AxibugEmuOnline.Client/Assets/Scene/EmuTest.unity index c3cf300..e73c73e 100644 --- a/AxibugEmuOnline.Client/Assets/Scene/EmuTest.unity +++ b/AxibugEmuOnline.Client/Assets/Scene/EmuTest.unity @@ -123,51 +123,6 @@ NavMeshSettings: debug: m_Flags: 0 m_NavMeshData: {fileID: 0} ---- !u!1 &149545946 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 149545948} - - component: {fileID: 149545947} - m_Layer: 0 - m_Name: NesEmulator - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!114 &149545947 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 149545946} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: 39557e19783acee499ace6c68549e8f8, type: 3} - m_Name: - m_EditorClassIdentifier: - VideoProvider: {fileID: 1295252151} ---- !u!4 &149545948 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 149545946} - m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} - m_LocalPosition: {x: 0, y: 0, z: 0} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: - - {fileID: 1295252150} - m_Father: {fileID: 0} - m_RootOrder: 3 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} --- !u!1 &708549044 GameObject: m_ObjectHideFlags: 0 @@ -261,78 +216,6 @@ Transform: m_Father: {fileID: 0} m_RootOrder: 0 m_LocalEulerAnglesHint: {x: 50, y: -30, z: 0} ---- !u!1 &861747459 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 861747460} - - component: {fileID: 861747462} - - component: {fileID: 861747461} - m_Layer: 5 - m_Name: RawImage - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!224 &861747460 -RectTransform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 861747459} - m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} - m_LocalPosition: {x: 0, y: 0, z: 0} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: [] - m_Father: {fileID: 1727033528} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} - m_AnchorMin: {x: 0.5, y: 0.5} - m_AnchorMax: {x: 0.5, y: 0.5} - m_AnchoredPosition: {x: 0, y: 0} - m_SizeDelta: {x: 100, y: 100} - m_Pivot: {x: 0.5, y: 0.5} ---- !u!114 &861747461 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 861747459} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: 1344c3c82d62a2a41a3576d8abb8e3ea, type: 3} - m_Name: - m_EditorClassIdentifier: - m_Material: {fileID: 0} - m_Color: {r: 1, g: 1, b: 1, a: 1} - m_RaycastTarget: 1 - m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} - m_Maskable: 1 - m_OnCullStateChanged: - m_PersistentCalls: - m_Calls: [] - m_Texture: {fileID: 8400000, guid: ffe34aaf87e4b9942b4c2ac05943d444, type: 2} - m_UVRect: - serializedVersion: 2 - x: 0 - y: 0 - width: 1 - height: 1 ---- !u!222 &861747462 -CanvasRenderer: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 861747459} - m_CullTransparentMesh: 1 --- !u!1 &1232273651 GameObject: m_ObjectHideFlags: 0 @@ -416,51 +299,6 @@ Transform: m_Father: {fileID: 0} m_RootOrder: 2 m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &1295252149 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 1295252150} - - component: {fileID: 1295252151} - m_Layer: 0 - m_Name: VideoProvider - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &1295252150 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 1295252149} - m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} - m_LocalPosition: {x: 0, y: 0, z: 0} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: - - {fileID: 1727033528} - m_Father: {fileID: 149545948} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!114 &1295252151 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 1295252149} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: 83fbe375412d1af4482ae76e81c1dda2, type: 3} - m_Name: - m_EditorClassIdentifier: - Image: {fileID: 861747461} --- !u!1 &1359344831 GameObject: m_ObjectHideFlags: 0 @@ -527,103 +365,60 @@ Transform: m_Father: {fileID: 0} m_RootOrder: 1 m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &1727033527 -GameObject: +--- !u!1001 &4232056520998800727 +PrefabInstance: m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 1727033528} - - component: {fileID: 1727033531} - - component: {fileID: 1727033530} - - component: {fileID: 1727033529} - m_Layer: 5 - m_Name: Canvas - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!224 &1727033528 -RectTransform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 1727033527} - m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} - m_LocalPosition: {x: 0, y: 0, z: 0} - m_LocalScale: {x: 0, y: 0, z: 0} - m_Children: - - {fileID: 861747460} - m_Father: {fileID: 1295252150} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} - m_AnchorMin: {x: 0, y: 0} - m_AnchorMax: {x: 0, y: 0} - m_AnchoredPosition: {x: 0, y: 0} - m_SizeDelta: {x: 0, y: 0} - m_Pivot: {x: 0, y: 0} ---- !u!114 &1727033529 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 1727033527} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: dc42784cf147c0c48a680349fa168899, type: 3} - m_Name: - m_EditorClassIdentifier: - m_IgnoreReversedGraphics: 1 - m_BlockingObjects: 0 - m_BlockingMask: - serializedVersion: 2 - m_Bits: 4294967295 ---- !u!114 &1727033530 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 1727033527} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: 0cd44c1031e13a943bb63640046fad76, type: 3} - m_Name: - m_EditorClassIdentifier: - m_UiScaleMode: 0 - m_ReferencePixelsPerUnit: 100 - m_ScaleFactor: 1 - m_ReferenceResolution: {x: 800, y: 600} - m_ScreenMatchMode: 0 - m_MatchWidthOrHeight: 0 - m_PhysicalUnit: 3 - m_FallbackScreenDPI: 96 - m_DefaultSpriteDPI: 96 - m_DynamicPixelsPerUnit: 1 - m_PresetInfoIsWorld: 0 ---- !u!223 &1727033531 -Canvas: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 1727033527} - m_Enabled: 1 - serializedVersion: 3 - m_RenderMode: 0 - m_Camera: {fileID: 0} - m_PlaneDistance: 100 - m_PixelPerfect: 0 - m_ReceivesEvents: 1 - m_OverrideSorting: 0 - m_OverridePixelPerfect: 0 - m_SortingBucketNormalizedSize: 0 - m_AdditionalShaderChannelsFlag: 0 - m_SortingLayerID: 0 - m_SortingOrder: 0 - m_TargetDisplay: 0 + serializedVersion: 2 + m_Modification: + m_TransformParent: {fileID: 0} + m_Modifications: + - target: {fileID: 4232056521131536011, guid: f8bea3f8aa351bb46ada33b2274729ea, type: 3} + propertyPath: m_RootOrder + value: 3 + objectReference: {fileID: 0} + - target: {fileID: 4232056521131536011, guid: f8bea3f8aa351bb46ada33b2274729ea, type: 3} + propertyPath: m_LocalPosition.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 4232056521131536011, guid: f8bea3f8aa351bb46ada33b2274729ea, type: 3} + propertyPath: m_LocalPosition.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 4232056521131536011, guid: f8bea3f8aa351bb46ada33b2274729ea, type: 3} + propertyPath: m_LocalPosition.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 4232056521131536011, guid: f8bea3f8aa351bb46ada33b2274729ea, type: 3} + propertyPath: m_LocalRotation.w + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 4232056521131536011, guid: f8bea3f8aa351bb46ada33b2274729ea, type: 3} + propertyPath: m_LocalRotation.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 4232056521131536011, guid: f8bea3f8aa351bb46ada33b2274729ea, type: 3} + propertyPath: m_LocalRotation.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 4232056521131536011, guid: f8bea3f8aa351bb46ada33b2274729ea, type: 3} + propertyPath: m_LocalRotation.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 4232056521131536011, guid: f8bea3f8aa351bb46ada33b2274729ea, type: 3} + propertyPath: m_LocalEulerAnglesHint.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 4232056521131536011, guid: f8bea3f8aa351bb46ada33b2274729ea, type: 3} + propertyPath: m_LocalEulerAnglesHint.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 4232056521131536011, guid: f8bea3f8aa351bb46ada33b2274729ea, type: 3} + propertyPath: m_LocalEulerAnglesHint.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 4232056521131536013, guid: f8bea3f8aa351bb46ada33b2274729ea, type: 3} + propertyPath: m_Name + value: NesEmulator + objectReference: {fileID: 0} + m_RemovedComponents: [] + m_SourcePrefab: {fileID: 100100000, guid: f8bea3f8aa351bb46ada33b2274729ea, type: 3} diff --git a/AxibugEmuOnline.Client/Assets/Script/NesEmulator/NesEmulator.cs b/AxibugEmuOnline.Client/Assets/Script/NesEmulator/NesEmulator.cs index a7c7010..308cd88 100644 --- a/AxibugEmuOnline.Client/Assets/Script/NesEmulator/NesEmulator.cs +++ b/AxibugEmuOnline.Client/Assets/Script/NesEmulator/NesEmulator.cs @@ -41,6 +41,7 @@ namespace AxibugEmuOnline.Client m_nesIns = null; } + private void Update() { if (m_nesIns != null) @@ -53,10 +54,5 @@ namespace AxibugEmuOnline.Client VideoProvider.SetDrawData(screenBuffer, lineColorMode, 256, 240); } } - - private void OnDestroy() - { - File.WriteAllLines("E:/log.txt", Debuger.logRecords); - } } } diff --git a/AxibugEmuOnline.Client/Assets/Script/NesEmulator/NesEmulator.prefab b/AxibugEmuOnline.Client/Assets/Script/NesEmulator/NesEmulator.prefab new file mode 100644 index 0000000..d695d77 --- /dev/null +++ b/AxibugEmuOnline.Client/Assets/Script/NesEmulator/NesEmulator.prefab @@ -0,0 +1,264 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!1 &4232056520112715746 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 4232056520112715745} + - component: {fileID: 4232056520112715744} + m_Layer: 0 + m_Name: VideoProvider + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &4232056520112715745 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 4232056520112715746} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: + - {fileID: 4232056520494431727} + m_Father: {fileID: 4232056521131536011} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!114 &4232056520112715744 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 4232056520112715746} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 83fbe375412d1af4482ae76e81c1dda2, type: 3} + m_Name: + m_EditorClassIdentifier: + Image: {fileID: 4232056521759880274} +--- !u!1 &4232056520494431712 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 4232056520494431727} + - component: {fileID: 4232056520494431724} + - component: {fileID: 4232056520494431725} + - component: {fileID: 4232056520494431726} + m_Layer: 5 + m_Name: Canvas + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &4232056520494431727 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 4232056520494431712} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 0, y: 0, z: 0} + m_Children: + - {fileID: 4232056521759880275} + m_Father: {fileID: 4232056520112715745} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 0} + m_AnchorMax: {x: 0, y: 0} + m_AnchoredPosition: {x: 0, y: 0} + m_SizeDelta: {x: 0, y: 0} + m_Pivot: {x: 0, y: 0} +--- !u!223 &4232056520494431724 +Canvas: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 4232056520494431712} + m_Enabled: 1 + serializedVersion: 3 + m_RenderMode: 0 + m_Camera: {fileID: 0} + m_PlaneDistance: 100 + m_PixelPerfect: 0 + m_ReceivesEvents: 1 + m_OverrideSorting: 0 + m_OverridePixelPerfect: 0 + m_SortingBucketNormalizedSize: 0 + m_AdditionalShaderChannelsFlag: 0 + m_SortingLayerID: 0 + m_SortingOrder: 0 + m_TargetDisplay: 0 +--- !u!114 &4232056520494431725 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 4232056520494431712} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 0cd44c1031e13a943bb63640046fad76, type: 3} + m_Name: + m_EditorClassIdentifier: + m_UiScaleMode: 0 + m_ReferencePixelsPerUnit: 100 + m_ScaleFactor: 1 + m_ReferenceResolution: {x: 800, y: 600} + m_ScreenMatchMode: 0 + m_MatchWidthOrHeight: 0 + m_PhysicalUnit: 3 + m_FallbackScreenDPI: 96 + m_DefaultSpriteDPI: 96 + m_DynamicPixelsPerUnit: 1 + m_PresetInfoIsWorld: 0 +--- !u!114 &4232056520494431726 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 4232056520494431712} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: dc42784cf147c0c48a680349fa168899, type: 3} + m_Name: + m_EditorClassIdentifier: + m_IgnoreReversedGraphics: 1 + m_BlockingObjects: 0 + m_BlockingMask: + serializedVersion: 2 + m_Bits: 4294967295 +--- !u!1 &4232056521131536013 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 4232056521131536011} + - component: {fileID: 4232056521131536012} + m_Layer: 0 + m_Name: NesEmulator + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &4232056521131536011 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 4232056521131536013} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: + - {fileID: 4232056520112715745} + m_Father: {fileID: 0} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!114 &4232056521131536012 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 4232056521131536013} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 39557e19783acee499ace6c68549e8f8, type: 3} + m_Name: + m_EditorClassIdentifier: + VideoProvider: {fileID: 4232056520112715744} +--- !u!1 &4232056521759880276 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 4232056521759880275} + - component: {fileID: 4232056521759880273} + - component: {fileID: 4232056521759880274} + m_Layer: 5 + m_Name: RawImage + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &4232056521759880275 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 4232056521759880276} + m_LocalRotation: {x: 1, y: 0, z: 0, w: 0} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 4232056520494431727} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 180, y: 0, z: 0} + m_AnchorMin: {x: 0.5, y: 0.5} + m_AnchorMax: {x: 0.5, y: 0.5} + m_AnchoredPosition: {x: 0, y: 0} + m_SizeDelta: {x: 272, y: 240} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!222 &4232056521759880273 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 4232056521759880276} + m_CullTransparentMesh: 1 +--- !u!114 &4232056521759880274 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 4232056521759880276} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 1344c3c82d62a2a41a3576d8abb8e3ea, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_RaycastTarget: 1 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_Texture: {fileID: 8400000, guid: ffe34aaf87e4b9942b4c2ac05943d444, type: 2} + m_UVRect: + serializedVersion: 2 + x: 0 + y: 0 + width: 1 + height: 1 diff --git a/AxibugEmuOnline.Client/Assets/Script/NesEmulator/NesEmulator.prefab.meta b/AxibugEmuOnline.Client/Assets/Script/NesEmulator/NesEmulator.prefab.meta new file mode 100644 index 0000000..6e48698 --- /dev/null +++ b/AxibugEmuOnline.Client/Assets/Script/NesEmulator/NesEmulator.prefab.meta @@ -0,0 +1,7 @@ +fileFormatVersion: 2 +guid: f8bea3f8aa351bb46ada33b2274729ea +PrefabImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/AxibugEmuOnline.Client/Assets/Script/NesEmulator/VideoProvider.cs b/AxibugEmuOnline.Client/Assets/Script/NesEmulator/VideoProvider.cs index 662bac7..b4372e3 100644 --- a/AxibugEmuOnline.Client/Assets/Script/NesEmulator/VideoProvider.cs +++ b/AxibugEmuOnline.Client/Assets/Script/NesEmulator/VideoProvider.cs @@ -4,8 +4,10 @@ using System; using System.Collections; using System.Collections.Generic; using System.Linq; +using System.Runtime.InteropServices; using System.Text; using UnityEngine; +using UnityEngine.Playables; using UnityEngine.UI; using VirtualNes.Core; @@ -15,24 +17,32 @@ namespace AxibugEmuOnline.Client { public RawImage Image; + private Color32[] wrapTexBuffer; + private IntPtr wrapTexBufferPointer; private Texture2D wrapTex; public void SetDrawData(byte[] screenData, byte[] lineColorMode, int screenWidth, int screenHeight) { - if (wrapTex == null) wrapTex = new Texture2D(screenWidth, screenHeight); - - var str = Encoding.ASCII.GetString(screenData, 0, screenData.Length); + if (wrapTex == null) + { + wrapTex = new Texture2D(screenWidth, screenHeight, TextureFormat.BGRA32, false); + wrapTexBuffer = new Color32[screenWidth * screenHeight]; + // 固定数组,防止垃圾回收器移动它 + GCHandle handle = GCHandle.Alloc(wrapTexBuffer, GCHandleType.Pinned); + // 获取数组的指针 + wrapTexBufferPointer = handle.AddrOfPinnedObject(); + } uint[] pPal; int pScn = 0; int width; - var Dst = wrapTex.GetPixels32(); + var Dst = wrapTexBuffer; var pDst = 0; for (int line = 0; line < screenHeight; line++) { - if ((lineColorMode[line] & 0x80) != 0) + if ((lineColorMode[line] & 0x80) == 0) { pPal = PaletteDefine.m_cnPalette[lineColorMode[line] & 0x07]; } @@ -45,8 +55,7 @@ namespace AxibugEmuOnline.Client while (width > 0) { - Color32 temp = new Color32(255, 255, 255, 255); - var edx = screenData[pScn]; + var edx = screenData[pScn + 8]; byte index = (byte)(edx & 0xFF); var colorData = pPal[index]; @@ -61,7 +70,8 @@ namespace AxibugEmuOnline.Client pScn += PPU.SCREEN_WIDTH - screenWidth; } - wrapTex.SetPixels32(Dst); + //wrapTex.SetPixels32(wrapTexBuffer); + wrapTex.LoadRawTextureData(wrapTexBufferPointer, screenWidth * screenHeight * 4); wrapTex.Apply(); Graphics.Blit(wrapTex, Image.mainTexture as RenderTexture); diff --git a/AxibugEmuOnline.Client/Assets/VirtualNes.Core/CPU.cs b/AxibugEmuOnline.Client/Assets/VirtualNes.Core/CPU.cs index 4594c8b..5203e1a 100644 --- a/AxibugEmuOnline.Client/Assets/VirtualNes.Core/CPU.cs +++ b/AxibugEmuOnline.Client/Assets/VirtualNes.Core/CPU.cs @@ -1,6 +1,7 @@ 锘#undef DPCM_SYNCCLOCK using System; +using VirtualNes.Core.Debug; namespace VirtualNes.Core { @@ -42,7 +43,7 @@ namespace VirtualNes.Core private int DMA_cycles; private Mapper mapper; private APU apu; - private R6502 R = new R6502(); + internal R6502 R = new R6502(); private byte[] ZN_Table = new byte[256]; private Memory STACK; @@ -132,75 +133,77 @@ namespace VirtualNes.Core switch (opcode) { - case 0x69: + case 0x69: // ADC #$?? MR_IM(); ADC(); ADD_CYCLE(2); break; - case 0x65: + case 0x65: // ADC $?? MR_ZP(); ADC(); ADD_CYCLE(3); break; - case 0x75: + case 0x75: // ADC $??,X MR_ZX(); ADC(); ADD_CYCLE(4); break; - case 0x6D: + case 0x6D: // ADC $???? MR_AB(); ADC(); ADD_CYCLE(4); break; - case 0x7D: + case 0x7D: // ADC $????,X MR_AX(); ADC(); CHECK_EA(); ADD_CYCLE(4); break; - case 0x79: + case 0x79: // ADC $????,Y MR_AY(); ADC(); CHECK_EA(); ADD_CYCLE(4); break; - case 0x61: + case 0x61: // ADC ($??,X) MR_IX(); ADC(); ADD_CYCLE(6); break; - case 0x71: + case 0x71: // ADC ($??),Y MR_IY(); ADC(); CHECK_EA(); ADD_CYCLE(4); break; - case 0xE9: + + case 0xE9: // SBC #$?? MR_IM(); SBC(); ADD_CYCLE(2); break; - case 0xE5: + case 0xE5: // SBC $?? MR_ZP(); SBC(); ADD_CYCLE(3); break; - case 0xF5: + case 0xF5: // SBC $??,X MR_ZX(); SBC(); ADD_CYCLE(4); break; - case 0xED: + case 0xED: // SBC $???? MR_AB(); SBC(); ADD_CYCLE(4); break; - case 0xFD: + case 0xFD: // SBC $????,X MR_AX(); SBC(); CHECK_EA(); ADD_CYCLE(4); break; - case 0xF9: // SBC $????Y + case 0xF9: // SBC $????,Y MR_AY(); SBC(); CHECK_EA(); ADD_CYCLE(4); break; - case 0xE1: // SBC ($??X) + case 0xE1: // SBC ($??,X) MR_IX(); SBC(); ADD_CYCLE(6); break; - case 0xF1: // SBC ($??)Y + case 0xF1: // SBC ($??),Y MR_IY(); SBC(); CHECK_EA(); ADD_CYCLE(5); break; + case 0xC6: // DEC $?? MR_ZP(); DEC(); MW_ZP(); ADD_CYCLE(5); break; - case 0xD6: // DEC $??X + case 0xD6: // DEC $??,X MR_ZX(); DEC(); MW_ZP(); ADD_CYCLE(6); break; @@ -208,10 +211,11 @@ namespace VirtualNes.Core MR_AB(); DEC(); MW_EA(); ADD_CYCLE(6); break; - case 0xDE: // DEC $????X + case 0xDE: // DEC $????,X MR_AX(); DEC(); MW_EA(); ADD_CYCLE(7); break; + case 0xCA: // DEX DEX(); ADD_CYCLE(2); @@ -220,11 +224,12 @@ namespace VirtualNes.Core DEY(); ADD_CYCLE(2); break; + case 0xE6: // INC $?? MR_ZP(); INC(); MW_ZP(); ADD_CYCLE(5); break; - case 0xF6: // INC $??X + case 0xF6: // INC $??,X MR_ZX(); INC(); MW_ZP(); ADD_CYCLE(6); break; @@ -232,10 +237,11 @@ namespace VirtualNes.Core MR_AB(); INC(); MW_EA(); ADD_CYCLE(6); break; - case 0xFE: // INC $????X + case 0xFE: // INC $????,X MR_AX(); INC(); MW_EA(); ADD_CYCLE(7); break; + case 0xE8: // INX INX(); ADD_CYCLE(2); @@ -244,6 +250,7 @@ namespace VirtualNes.Core INY(); ADD_CYCLE(2); break; + case 0x29: // AND #$?? MR_IM(); AND(); ADD_CYCLE(2); @@ -252,7 +259,7 @@ namespace VirtualNes.Core MR_ZP(); AND(); ADD_CYCLE(3); break; - case 0x35: // AND $??X + case 0x35: // AND $??,X MR_ZX(); AND(); ADD_CYCLE(4); break; @@ -260,22 +267,23 @@ namespace VirtualNes.Core MR_AB(); AND(); ADD_CYCLE(4); break; - case 0x3D: // AND $????X + case 0x3D: // AND $????,X MR_AX(); AND(); CHECK_EA(); ADD_CYCLE(4); break; - case 0x39: // AND $????Y + case 0x39: // AND $????,Y MR_AY(); AND(); CHECK_EA(); ADD_CYCLE(4); break; - case 0x21: // AND ($??X) + case 0x21: // AND ($??,X) MR_IX(); AND(); ADD_CYCLE(6); break; - case 0x31: // AND ($??)Y + case 0x31: // AND ($??),Y MR_IY(); AND(); CHECK_EA(); ADD_CYCLE(5); break; + case 0x0A: // ASL A ASL_A(); ADD_CYCLE(2); @@ -705,7 +713,7 @@ namespace VirtualNes.Core ADD_CYCLE(6); break; - // 鍍煎剶鍍屾儌灞煎 + // 銉曘儵銈板埗寰$郴 case 0x18: // CLC CLC(); ADD_CYCLE(2); @@ -736,7 +744,7 @@ namespace VirtualNes.Core ADD_CYCLE(2); break; - // 鍍楀優鍍㈠儖瀹 + // 銈广偪銉冦偗绯 case 0x48: // PHA PUSH(R.A); ADD_CYCLE(3); @@ -755,7 +763,7 @@ namespace VirtualNes.Core ADD_CYCLE(4); break; - // 鍋﹀伜鎳 + // 銇濄伄浠 case 0x00: // BRK BRK(); ADD_CYCLE(7); @@ -765,7 +773,7 @@ namespace VirtualNes.Core ADD_CYCLE(2); break; - // 鏋瑰矠濂愭煢妞峰 + // 鏈叕闁嬪懡浠ょ兢 case 0x0B: // ANC #$?? case 0x2B: // ANC #$?? MR_IM(); ANC(); @@ -1105,7 +1113,7 @@ namespace VirtualNes.Core default: if (!Supporter.Config.emulator.bIllegalOp) { - throw new Exception("Illegal Opcode"); + throw new Exception("IllegalOp"); } else { @@ -1113,6 +1121,8 @@ namespace VirtualNes.Core ADD_CYCLE(4); } break; + // default: + // __assume(0); } if (nmi_request != 0) @@ -1143,7 +1153,6 @@ namespace VirtualNes.Core #endif return TOTAL_cycles - OLD_cycles; } - private void _IRQ() { PUSH((byte)(R.PC >> 8)); @@ -1836,7 +1845,7 @@ namespace VirtualNes.Core { ET = OP6502W(R.PC); R.PC += 2; - EA = (byte)(ET + R.X); + EA = (ushort)(ET + R.X); DT = RD6502(EA); } diff --git a/AxibugEmuOnline.Client/Assets/VirtualNes.Core/Debuger.cs b/AxibugEmuOnline.Client/Assets/VirtualNes.Core/Debuger.cs index 526ef75..21ab49a 100644 --- a/AxibugEmuOnline.Client/Assets/VirtualNes.Core/Debuger.cs +++ b/AxibugEmuOnline.Client/Assets/VirtualNes.Core/Debuger.cs @@ -4,8 +4,6 @@ namespace VirtualNes.Core.Debug { public static class Debuger { - public static List logRecords = new List(); - private static IDebugerImpl s_debuger; public static void Setup(IDebugerImpl debuger) { @@ -14,7 +12,6 @@ namespace VirtualNes.Core.Debug public static void Log(string message) { s_debuger.Log(message); - logRecords.Add(message); } public static void LogError(string message) diff --git a/AxibugEmuOnline.Client/Assets/VirtualNes.Core/NES.cs b/AxibugEmuOnline.Client/Assets/VirtualNes.Core/NES.cs index aad3066..39c67ce 100644 --- a/AxibugEmuOnline.Client/Assets/VirtualNes.Core/NES.cs +++ b/AxibugEmuOnline.Client/Assets/VirtualNes.Core/NES.cs @@ -486,8 +486,11 @@ namespace VirtualNes.Core m_CheatCode.Clear(); } + private int FrameCount = 0; public void EmulateFrame(bool bDraw) { + FrameCount++; + int scanline = 0; if (rom.IsNSF()) { @@ -498,6 +501,7 @@ namespace VirtualNes.Core CheatCodeProcess(); NES_scanline = scanline; + bool NotTile = RenderMethod != EnumRenderMethod.TILE_RENDER; if (RenderMethod != EnumRenderMethod.TILE_RENDER) { @@ -917,6 +921,7 @@ namespace VirtualNes.Core } } + int CPU_CALL_COUNT = 0; internal void EmulationCPU(int basecycles) { int cycles; @@ -926,8 +931,11 @@ namespace VirtualNes.Core if (cycles > 0) { - emul_cycles += cpu.EXEC(cycles); + var cycleAdd = cpu.EXEC(cycles); + emul_cycles += cycleAdd; } + + CPU_CALL_COUNT++; } internal void Reset() @@ -1041,10 +1049,7 @@ namespace VirtualNes.Core apu.SoundSetup(); } - public void SetRenderMethod(EnumRenderMethod type) - { - RenderMethod = type; - } + internal void SoftReset() { @@ -1514,14 +1519,12 @@ namespace VirtualNes.Core return ret; } - - static int NESWRITECOUNT = 0; + public void SetRenderMethod(EnumRenderMethod type) + { + RenderMethod = type; + } internal void Write(ushort addr, byte data) { - NESWRITECOUNT++; - - Debuger.Log($"[{NESWRITECOUNT}] addr:{addr},data:{data}"); - switch (addr >> 13) { case 0x00: // $0000-$1FFF diff --git a/AxibugEmuOnline.Client/Assets/VirtualNes.Core/Supporter/EmulatorConfig/EmulatorConfig.cs b/AxibugEmuOnline.Client/Assets/VirtualNes.Core/Supporter/EmulatorConfig/EmulatorConfig.cs index 77f78a8..b24afe0 100644 --- a/AxibugEmuOnline.Client/Assets/VirtualNes.Core/Supporter/EmulatorConfig/EmulatorConfig.cs +++ b/AxibugEmuOnline.Client/Assets/VirtualNes.Core/Supporter/EmulatorConfig/EmulatorConfig.cs @@ -34,12 +34,18 @@ public static void Load(uint crc) { - + nRenderMethod = defRenderMethod; + nIRQtype = defIRQtype; + bFrameIRQ = defFrameIRQ; + bVideoMode = defVideoMode; } public static void Load(uint gid, uint mid) { - + nRenderMethod = defRenderMethod; + nIRQtype = defIRQtype; + bFrameIRQ = defFrameIRQ; + bVideoMode = defVideoMode; } } } diff --git a/virtuanessrc097-master/NES/CPU.h b/virtuanessrc097-master/NES/CPU.h index 81864335b0227951ceb71a1fd7e83a860c990e2e..52971de2528fdf795b083e049fe919a548b3626e 100644 GIT binary patch delta 20 ccmdm|zE6Eag5cx}f?|^s1PeAl6THC)09suLZ2$lO delta 20 ccmdm|zE6Eag5cyb!Gg&Nf?}JW3Ep4?09TC&6951J diff --git a/virtuanessrc097-master/NES/Cpu.cpp b/virtuanessrc097-master/NES/Cpu.cpp index 7fdbd33503bf958bc6c68bc72c3d4c4f00b808a6..2c598ef0b41a4bf3cfe941d630311a993308bc7e 100644 GIT binary patch delta 242 zcmZ2;kmcDymJJ%Llhas*1Z^0K8A=#Z7&0018T1%380;n|vPy1tU@eL@=46OsaAgQ$ z@MrJ^(!M}Ch#`_egFy{Q>o6z)HD)qYF{A=DrU6BR7&I9)H?L0e6`O2V!Z!I{A;;u@ z6-(;F!P;CHIDtku0yWtJu>pfM11|#?1F~EQPPuRfbU7!WGeUsoaWc4I$brn|WGDyv PB$FYBA$7B7Rs1plWV$P6 delta 187 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%0AOSy4%ICI-jLIUFiyu9d0c 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 OJl6b(irCbzoqqsQ1-*&@ diff --git a/virtuanessrc097-master/NES/Nes.h b/virtuanessrc097-master/NES/Nes.h index a5501ce1ab3b3b9baa3889f201a8b4583d815338..90acdbdd5e38987be6d287f3dc95f1bad86cd8b1 100644 GIT binary patch delta 32 ocmbO;f$>E@te!cfUjz>vyd N4P@7DKC39L1_0oA4tf9p