Security News
Fluent Assertions Faces Backlash After Abandoning Open Source Licensing
Fluent Assertions is facing backlash after dropping the Apache license for a commercial model, leaving users blindsided and questioning contributor rights.
Status: Dark launch (under heavy development)
byuu is a multi-system emulator that aims to combine the accuracy of higan with the simplicity and performance of bsnes.
This repository attempts to bring the goodness of the original project to the Web. We make significant changes to the repository due to WebAssembly's behavior and performance restrictions, but try to stick to accuracy as much as possible. We also make sure to keep up-to-date with upstream, and as much as possible replicate the same internal behaviors when writing alternative implementations.
Go to https://wizcorp.github.io/byuu-web and enjoy!
See the API documentation to learn how to connect controllers and so on! You can also have a look at the git repository's app code to see a relatively complete implementation example.
Installing the library
npm install byuu
The package contains a TypeScript type definition where the documentation of the available API can be found.
./index.js
import byuu from 'byuu'
const romPath = '/path/to/rom.sfc'
const container = document.body
// Initialization is only needed once
byuu.initialize(container)
.then(() => byuu.loadURL(romPath))
.then((romInfo) => {
console.log('Loaded ROM:', romInfo)
if (byuu.start()) {
console.log('Emulator started successfully!')
}
})
.catch((error) => console.error('Failed to load ROM!', error))
When using with Webpack, you will be required to use the file-loader loader to allow this library to properly load its WASM code.
webpack.config.js
module.exports = ( env, options ) => {
// ...
module: {
rules: [
{
test: /byuu-web-lib.wasm$/,
type: 'javascript/auto',
loader: 'file-loader',
options: {
name: '[name]-[hash].[ext]',
}
}
]
}
}
Here below is an example using Vue.js. Although untested, it should be possible to use this library similarly with other frameworks.
vue.config.js
module.exports = {
configureWebpack: {
module: {
rules: [
{
test: /byuu-web-lib.wasm$/,
type: 'javascript/auto',
loader: 'file-loader',
options: {
name: '[name]-[hash].[ext]',
}
}
]
}
}
}
./src/components/HelloByuu.vue
<template>
<div ref="container"></div>
</template>
<script>
import byuu from 'byuu'
export default {
async mounted () {
await byuu.initialize(this.$refs.container, 800, 600)
await byuu.loadURL('/path/to/rom.sfc')
byuu.start()
},
beforeDestroy() {
byuu.terminate()
}
}
</script>
<style scoped></style>
Git is used for the development of new releases, and represents a staging environment. As byuu is rather mature, things should generally be quite stable. However, bugs will exist, regressions will occur, so proceed at your own risk.
Getting started
git clone [...] byuu-web
cd byuu-web
make all debug=true # debug is optional but strongly recommended for development
# You can also build the package and the app individually
make package
make app
To achieve acceptable performances, byuu-web changes by default how the scheduler
is implemented and how each Thread
's main method behaves. This can be reverted
to test against upstream:
Using the standard scheduler
make debug=true synchro=false
Once you have a build, start the HTTP development server.
Serving the emulator
make serve
Cleaning builds
make clean
The emulator will be served at http://localhost:8000.
We would like to give our sincere thanks to:
FAQs
Emulation library for various game consoles
The npm package byuu receives a total of 16 weekly downloads. As such, byuu popularity was classified as not popular.
We found that byuu demonstrated a not healthy version release cadence and project activity because the last version was released a year ago. It has 1 open source maintainer collaborating on the project.
Did you know?
Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.
Security News
Fluent Assertions is facing backlash after dropping the Apache license for a commercial model, leaving users blindsided and questioning contributor rights.
Research
Security News
Socket researchers uncover the risks of a malicious Python package targeting Discord developers.
Security News
The UK is proposing a bold ban on ransomware payments by public entities to disrupt cybercrime, protect critical services, and lead global cybersecurity efforts.