Skip to content

Failed to build #1

@oschijns

Description

@oschijns

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)

You forgot to add the assets folder to the repo.
And as you stated in the readme, inline assembly doesn't seem to work well.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions