Added gfx crate
This commit is contained in:
Generated
+1
@@ -10,6 +10,7 @@
|
|||||||
<sourceFolder url="file://$MODULE_DIR$/vasm_core/src" isTestSource="false" />
|
<sourceFolder url="file://$MODULE_DIR$/vasm_core/src" isTestSource="false" />
|
||||||
<sourceFolder url="file://$MODULE_DIR$/vasm/src" isTestSource="false" />
|
<sourceFolder url="file://$MODULE_DIR$/vasm/src" isTestSource="false" />
|
||||||
<sourceFolder url="file://$MODULE_DIR$/vweb/src" isTestSource="false" />
|
<sourceFolder url="file://$MODULE_DIR$/vweb/src" isTestSource="false" />
|
||||||
|
<sourceFolder url="file://$MODULE_DIR$/vgfx/src" isTestSource="false" />
|
||||||
<excludeFolder url="file://$MODULE_DIR$/target" />
|
<excludeFolder url="file://$MODULE_DIR$/target" />
|
||||||
</content>
|
</content>
|
||||||
<orderEntry type="inheritedJdk" />
|
<orderEntry type="inheritedJdk" />
|
||||||
|
|||||||
Generated
+10
@@ -1463,6 +1463,7 @@ dependencies = [
|
|||||||
"rand",
|
"rand",
|
||||||
"vasm_core",
|
"vasm_core",
|
||||||
"vcore",
|
"vcore",
|
||||||
|
"vgfx",
|
||||||
"winit",
|
"winit",
|
||||||
]
|
]
|
||||||
|
|
||||||
@@ -1472,6 +1473,13 @@ version = "0.9.4"
|
|||||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
checksum = "49874b5167b65d7193b8aba1567f5c7d93d001cafc34600cee003eda787e483f"
|
checksum = "49874b5167b65d7193b8aba1567f5c7d93d001cafc34600cee003eda787e483f"
|
||||||
|
|
||||||
|
[[package]]
|
||||||
|
name = "vgfx"
|
||||||
|
version = "0.1.0"
|
||||||
|
dependencies = [
|
||||||
|
"vcore",
|
||||||
|
]
|
||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "vlua"
|
name = "vlua"
|
||||||
version = "0.1.0"
|
version = "0.1.0"
|
||||||
@@ -1496,7 +1504,9 @@ dependencies = [
|
|||||||
"serde-wasm-bindgen",
|
"serde-wasm-bindgen",
|
||||||
"vasm_core",
|
"vasm_core",
|
||||||
"vcore",
|
"vcore",
|
||||||
|
"vgfx",
|
||||||
"wasm-bindgen",
|
"wasm-bindgen",
|
||||||
|
"web-sys",
|
||||||
]
|
]
|
||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
|
|||||||
+2
-1
@@ -7,5 +7,6 @@ members = [
|
|||||||
"vasm",
|
"vasm",
|
||||||
"vtest",
|
"vtest",
|
||||||
"vlua",
|
"vlua",
|
||||||
"vweb"
|
"vweb",
|
||||||
|
"vgfx"
|
||||||
]
|
]
|
||||||
@@ -7,6 +7,7 @@ edition = "2021"
|
|||||||
|
|
||||||
[dependencies]
|
[dependencies]
|
||||||
vcore = { path = "../vcore" }
|
vcore = { path = "../vcore" }
|
||||||
|
vgfx = { path = "../vgfx" }
|
||||||
vasm_core = { path = "../vasm_core" }
|
vasm_core = { path = "../vasm_core" }
|
||||||
rand = "0.8.0"
|
rand = "0.8.0"
|
||||||
winit = "0.26.1"
|
winit = "0.26.1"
|
||||||
|
|||||||
+2
-2
@@ -1,4 +1,3 @@
|
|||||||
mod display;
|
|
||||||
mod keyboard;
|
mod keyboard;
|
||||||
|
|
||||||
use winit::{
|
use winit::{
|
||||||
@@ -20,6 +19,7 @@ use vcore::memory::{Memory, PeekPoke};
|
|||||||
use vcore::word::Word;
|
use vcore::word::Word;
|
||||||
use winit::event::{DeviceEvent, ElementState};
|
use winit::event::{DeviceEvent, ElementState};
|
||||||
use winit::window::Window;
|
use winit::window::Window;
|
||||||
|
use vgfx::display;
|
||||||
|
|
||||||
fn main() {
|
fn main() {
|
||||||
let event_loop = EventLoop::new();
|
let event_loop = EventLoop::new();
|
||||||
@@ -44,7 +44,7 @@ fn main() {
|
|||||||
|
|
||||||
let memory = Memory::from(rng);
|
let memory = Memory::from(rng);
|
||||||
let mut cpu = CPU::new(memory);
|
let mut cpu = CPU::new(memory);
|
||||||
display::reset(&mut cpu);
|
display::init_gfx(&mut cpu);
|
||||||
let code = assemble_snippet(include_str!("typewriter.asm").lines().map(String::from))
|
let code = assemble_snippet(include_str!("typewriter.asm").lines().map(String::from))
|
||||||
.expect("Assemble error");
|
.expect("Assemble error");
|
||||||
// let code = assemble_file("init.asm").expect("Assemble error");
|
// let code = assemble_file("init.asm").expect("Assemble error");
|
||||||
|
|||||||
@@ -0,0 +1,9 @@
|
|||||||
|
[package]
|
||||||
|
name = "vgfx"
|
||||||
|
version = "0.1.0"
|
||||||
|
edition = "2021"
|
||||||
|
|
||||||
|
# See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html
|
||||||
|
|
||||||
|
[dependencies]
|
||||||
|
vcore = { path = "../vcore" }
|
||||||
@@ -74,7 +74,7 @@ pub fn draw<P: PeekPoke>(machine: &P, frame: &mut [u8]) {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
pub fn reset<P: PeekPoke>(machine: &mut P) {
|
pub fn init_gfx<P: PeekPoke>(machine: &mut P) {
|
||||||
init_display_registers(machine, 16.into());
|
init_display_registers(machine, 16.into());
|
||||||
init_font(machine);
|
init_font(machine);
|
||||||
init_palette(machine);
|
init_palette(machine);
|
||||||
@@ -0,0 +1,2 @@
|
|||||||
|
pub mod display;
|
||||||
|
|
||||||
Reference in New Issue
Block a user