Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions .github/workflows/workflow.yml
Original file line number Diff line number Diff line change
Expand Up @@ -15,6 +15,7 @@ jobs:
# - windows-latest
ocaml-compiler:
- 4.14.x
- 5.x

runs-on: ${{ matrix.os }}

Expand Down
10 changes: 5 additions & 5 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -62,7 +62,7 @@ Try it out in our **[demo page](https://linoscope.github.io/CAMLBOY/)**!

We ran the first 1500 frames of [Tobu Tobu Girl](https://tangramgames.dk/tobutobugirl/) in headless mode (i.e., without UI) for ten times each and calculated the average FPS. The error bars represent the standard deviation. See [`benchmark.md`](benchmark.md) for details about the environment/commands used for the benchmark.[^1]

[^1]: Note that we can not use this benchmark to compare the FPS with other Game Boy emulators. This is because the performance of an emulator depends significantly on how accurate it is and how much functionality it has. For example, CALMBOY does not implement the APU (Audio Processing Unit), so there is no point in comparing its FPS with emulators with APU support.
[^1]: Note that we can not use this benchmark to compare the FPS with other Game Boy emulators. This is because the performance of an emulator depends significantly on how accurate it is and how much functionality it has. For example, CAMLBOY does not implement the APU (Audio Processing Unit), so there is no point in comparing its FPS with emulators with APU support.

<div align="center">
<figure>
Expand Down Expand Up @@ -97,8 +97,8 @@ Here is a rough sketch of the various modules and their relationship. You can fi
- `web` - Web
- `sdl2` - SDL2
- `test`
- `unit_tests` - Unit tests
- `rom_tests` - Integration tests that use test roms
- `unit_test` - Unit tests
- `rom_test` - Integration tests that use test roms
- `resource`
- `games` - Game roms
- `test_roms` - Test roms used in `rom_tests`
Expand Down Expand Up @@ -183,9 +183,9 @@ First, follow the steps in "How to run with UI - js_of_ocaml frontend" above. No
# Run all tests:
$ dune runtest
# Run unit tests only:
$ dune runtest test/unit_tests/
$ dune runtest test/unit_test/
# Run integration tests (tests that use test ROMs):
$ dune runtest test/rom_tests/
$ dune runtest test/rom_test/
```

## Resources
Expand Down
4 changes: 1 addition & 3 deletions test/rom_test/dune
Original file line number Diff line number Diff line change
@@ -1,7 +1,5 @@
(library
(name camlboy_rom_tests)
(libraries camlboy_lib)
(inline_tests (deps (source_tree ../../resource/test_roms)))
(inline_tests (deps (source_tree ../../resource/test_roms)))
(preprocess (pps ppx_jane)))

(include_subdirs unqualified)
5 changes: 5 additions & 0 deletions test/rom_test/mooneye/dune
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
(library
(name camlboy_mooneye_tests)
(libraries camlboy_lib)
(inline_tests (deps (source_tree ../../../resource/test_roms)))
(preprocess (pps ppx_jane)))
2 changes: 1 addition & 1 deletion test/rom_test/mooneye/mooneye_utils.ml
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@ module Make (Cartridge : Cartridge_intf.S) = struct
module Camlboy = Camlboy.Make (Cartridge)

let run_test_rom_and_print_framebuffer file =
let path = Printf.sprintf "../../resource/test_roms/mooneye/%s" file in
let path = Printf.sprintf "../../../resource/test_roms/mooneye/%s" file in
let rom_bytes = Read_rom_file.f path in
let camlboy = Camlboy.create_with_rom ~rom_bytes ~print_serial_port:false in
let rec loop () =
Expand Down