I tried to build your project, but I encountered the following errors.
error: couldn't read `src/assets/megapcm.bin`: No such file or directory (os error 2)
--> src/megapcm.rs:35:43
|
35 | static DRIVER_BINARY: &'static [u8] = include_bytes!("assets/megapcm.bin");
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
error: couldn't read `src/assets/bad_apple.bin`: No such file or directory (os error 2)
--> src/sys/mod.rs:175:25
|
175 | bytes: *include_bytes!($path),
| ^^^^^^^^^^^^^^^^^^^^^
|
::: src/ba_video.rs:37:45
|
37 | pub static BAD_APPLE_VIDEO: &'static [u8] = include_bytes_aligned_as!(u16, "assets/bad_apple.bin");
| ------------------------------------------------------ in this macro invocation
|
= note: this error originates in the macro `include_bytes` which comes from the expansion of the macro `include_bytes_aligned_as` (in Nightly builds, run with -Z macro-backtrace for more info)
error: couldn't read `src/assets/bad_apple_audio.bin`: No such file or directory (os error 2)
--> src/ba_video.rs:38:45
|
38 | pub static BAD_APPLE_AUDIO: &'static [u8] = include_bytes!("assets/bad_apple_audio.bin");
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
error: unwinding panics are not supported without std
|
= help: using nightly cargo, use -Zbuild-std with panic="abort" to avoid unwinding
= note: since the core library is usually precompiled with panic="unwind", rebuilding your crate with panic="abort" may not be enough to fix the problem
error: invalid register class `reg_addr`: unknown register class
--> src/sys/z80.rs:117:9
|
117 | src = inout(reg_addr) src => _,
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
= note: the following register classes are supported on this target: `reg`, `reg_abcd`, `reg_byte`, `xmm_reg`, `ymm_reg`, `zmm_reg`, `kreg`, `kreg0`, `mmx_reg`, `x87_reg`, `tmm_reg`
error: invalid register class `reg_addr`: unknown register class
--> src/sys/z80.rs:118:9
|
118 | dst = inout(reg_addr) dst => _,
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
= note: the following register classes are supported on this target: `reg`, `reg_abcd`, `reg_byte`, `xmm_reg`, `ymm_reg`, `zmm_reg`, `kreg`, `kreg0`, `mmx_reg`, `x87_reg`, `tmm_reg`
error: invalid register class `reg_data`: unknown register class
--> src/sys/z80.rs:119:9
|
119 | count = inout(reg_data) count => _,
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
= note: the following register classes are supported on this target: `reg`, `reg_abcd`, `reg_byte`, `xmm_reg`, `ymm_reg`, `zmm_reg`, `kreg`, `kreg0`, `mmx_reg`, `x87_reg`, `tmm_reg`
error: invalid register `d7`: unknown register
--> src/sys/mod.rs:101:9
|
101 | out("d7") value,
| ^^^^^^^^^^^^^^^
error: invalid register `d7`: unknown register
--> src/sys/mod.rs:110:9
|
110 | in("d7") value,
| ^^^^^^^^^^^^^^
error[E0512]: cannot transmute between types of different sizes, or dependently-sized types
--> src/megapcm.rs:61:51
|
61 | let [start_hi, start_lo]: [u16; 2] = unsafe { mem::transmute(start+start) };
| ^^^^^^^^^^^^^^
|
= note: source type: `usize` (64 bits)
= note: target type: `[u16; 2]` (32 bits)
error[E0512]: cannot transmute between types of different sizes, or dependently-sized types
--> src/megapcm.rs:62:47
|
62 | let [end_hi, end_lo]: [u16; 2] = unsafe { mem::transmute(end+end) };
| ^^^^^^^^^^^^^^
|
= note: source type: `usize` (64 bits)
= note: target type: `[u16; 2]` (32 bits)
I tried to build your project, but I encountered the following errors.
You forgot to add the
assetsfolder to the repo.And as you stated in the readme, inline assembly doesn't seem to work well.