built cdi
This commit is contained in:
commit
ed96599058
6 changed files with 123 additions and 0 deletions
59
Cargo.lock
generated
Normal file
59
Cargo.lock
generated
Normal file
|
@ -0,0 +1,59 @@
|
|||
# This file is automatically @generated by Cargo.
|
||||
# It is not intended for manual editing.
|
||||
version = 4
|
||||
|
||||
[[package]]
|
||||
name = "cc"
|
||||
version = "1.2.7"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "a012a0df96dd6d06ba9a1b29d6402d1a5d77c6befd2566afdc26e10603dc93d7"
|
||||
dependencies = [
|
||||
"shlex",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "dccake"
|
||||
version = "0.1.0"
|
||||
dependencies = [
|
||||
"gldc-sys",
|
||||
"kos-rs",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "gldc-sys"
|
||||
version = "0.1.0"
|
||||
source = "git+https://github.com/dreamcast-rs/gldc-sys#59a2d96a416d3ffd8f6046de888aa88d94548156"
|
||||
|
||||
[[package]]
|
||||
name = "kos-rs"
|
||||
version = "0.1.0"
|
||||
source = "git+https://github.com/dreamcast-rs/kos-rs#ac0185bfaa19d1de715215b92fb199730a9136ed"
|
||||
dependencies = [
|
||||
"kos-sys",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "kos-sys"
|
||||
version = "0.1.0"
|
||||
source = "git+https://github.com/dreamcast-rs/kos-sys#53a3c190194e659bf7558de7d3e54957a377990f"
|
||||
dependencies = [
|
||||
"cc",
|
||||
"libc",
|
||||
"paste",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "libc"
|
||||
version = "0.2.159"
|
||||
|
||||
[[package]]
|
||||
name = "paste"
|
||||
version = "1.0.15"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "57c0d7b74b563b49d38dae00a0c37d4d6de9b432382b2892f0574ddcae73fd0a"
|
||||
|
||||
[[package]]
|
||||
name = "shlex"
|
||||
version = "1.3.0"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "0fda2ff0d084019ba4d7c6f371c95d8fd75ce3524c3cb8fb653a3023f6323e64"
|
17
Cargo.toml
Normal file
17
Cargo.toml
Normal file
|
@ -0,0 +1,17 @@
|
|||
[package]
|
||||
name = "dccake"
|
||||
version = "0.1.0"
|
||||
edition = "2021"
|
||||
|
||||
[profile.release]
|
||||
opt-level = 3
|
||||
overflow-checks = false
|
||||
strip = "symbols"
|
||||
|
||||
[patch.crates-io]
|
||||
libc = { path = "/opt/toolchains/dc/rust/libc" }
|
||||
|
||||
[dependencies]
|
||||
kos = { package = "kos-rs", git = "https://github.com/dreamcast-rs/kos-rs" }
|
||||
gldc = { package = "gldc-sys", git = "https://github.com/dreamcast-rs/gldc-sys" }
|
||||
|
17
Justfile
Normal file
17
Justfile
Normal file
|
@ -0,0 +1,17 @@
|
|||
BUILD:="build"
|
||||
PROJECT_NAME:="cake"
|
||||
TARGET:="target/sh-elf/release/dccake.elf"
|
||||
|
||||
logo:
|
||||
convert cake.png -resize 256x256 cakes.png
|
||||
convert cakes.png +dither -colors 127 cakec.png
|
||||
|
||||
build: logo
|
||||
kos-cargo build --release
|
||||
sh-elf-objcopy -R .stack -O binary {{TARGET}} output.bin
|
||||
$KOS_BASE/utils/scramble/scramble output.bin {{BUILD}}/1ST_READ.bin
|
||||
mkdir -p {{BUILD}}
|
||||
rm {{BUILD}}/IP.BIN || true
|
||||
makeip ip.txt -l /tmp/cakec.png {{BUILD}}/IP.BIN
|
||||
mkisofs -C 0,11702 -V {{PROJECT_NAME}} -G {{BUILD}}/IP.BIN -r -J -l -o {{PROJECT_NAME}}.iso {{BUILD}}
|
||||
cdi4dc {{PROJECT_NAME}}.iso {{PROJECT_NAME}}.cdi
|
18
build.rs
Normal file
18
build.rs
Normal file
|
@ -0,0 +1,18 @@
|
|||
fn main() {
|
||||
generate_textures(vec!["tex_claw", "tex_dc", "tex_dcwiki", "tex_gcc", "tex_kos", "tex_rust"]);
|
||||
}
|
||||
|
||||
fn generate_textures(names: Vec<&str>) {
|
||||
let vqenc_cmd = format!("{}/utils/vqenc/vqenc", std::env::var("KOS_BASE").unwrap());
|
||||
|
||||
for texname in names {
|
||||
let jpgfile = format!("rsrc/{}.jpg", texname);
|
||||
let vqfile = format!("rsrc/{}.vq", texname);
|
||||
let outfile = format!("{}/{}.vq", std::env::var("OUT_DIR").unwrap(), texname);
|
||||
std::process::Command::new(&vqenc_cmd)
|
||||
.args(["-t", "-v", &jpgfile])
|
||||
.output()
|
||||
.expect("vqenc on {&vqfile} failed!");
|
||||
let _ = std::fs::rename(&vqfile, &outfile);
|
||||
}
|
||||
}
|
9
ip.txt
Normal file
9
ip.txt
Normal file
|
@ -0,0 +1,9 @@
|
|||
Device Info : CD-ROM1/1
|
||||
Area Symbols : JUE
|
||||
Peripherals : E000F10
|
||||
Product No : T0000
|
||||
Version : V1.000
|
||||
Release Date : 20000627
|
||||
Boot Filename : 1ST_READ.BIN
|
||||
SW Maker Name : andy
|
||||
Game Title : cake
|
3
src/main.rs
Normal file
3
src/main.rs
Normal file
|
@ -0,0 +1,3 @@
|
|||
fn main() {
|
||||
println!("Hello, world!");
|
||||
}
|
Loading…
Reference in a new issue