Skip to content

Releases: gabe565/gones

v0.1.0

04 Oct 04:28
b23ad24
Compare
Choose a tag to compare

Changelog

Features

  • 5d9688d feat(config): Add config to change overscan
  • f075eae feat(ppu): Add option to remove the original hardware sprite limit
  • 0fca4f2 feat(web): Add Plausible

Fixes

  • 868cecc fix(apu): Clear IRQ on reset
  • cccff16 fix(apu): Clear IRQ when inhibited via $4017
  • cf3b9b0 fix(apu): Fix DMC looped sample setting IRQ
  • 3b88744 fix(apu): Fix $4015 IRQ flags not being set
  • e6c7ab3 fix(apu): Initialize APU with a 4-step frame counter
  • 48783d5 fix(cpu): Delay IRQ by one clock after CLI is called
  • a9947ac fix(golangci): Suppress integer overflow warnings
  • a95119a fix(log): Fix formatting of logged addresses

Others

  • edb312c chore(apu): Change audio stream format to 32-bit float
  • cd20567 chore(apu): Code cleanups
  • cb57a65 chore(apu): Simplify frame counter step func
  • 640d1f7 chore(cartridge): Change mapper fields from byte to uint8
  • 1857e58 chore(cartridge): Skip CHR load if ROM has 0
  • 152ef6e chore(cartridge): Use io.TeeReader to compute cart hash instead of seeking
  • b7699f9 chore(config): Change config.NewDefault() return type to a pointer
  • 602f8ef chore(cpu): Change opcode list to private
  • dc76e9c chore(cpu): Remove duplicate OpCode code and add type for instruction names
  • f4ed210 chore(database): Update NoIntro database (#317)
  • fabbd32 chore(database): Update downloader to use an iterator
  • 6db3d41 chore(golangci-lint): exportloopref -> copyloopvar
  • 8af36ad chore(gonesutil): Remove unused values func
  • 8ebf3b3 chore(ppu): Output full frame height
  • d692e63 chore(web): Move game entrypoint out of subdir
  • 84f8e73 chore: Consolidate log-related funcs into log package
  • dfb71f9 chore: Improve handling of capitalized file extensions
  • cb0f7f6 chore: Move state/SRAM path funcs into console package
  • 1e04ac6 chore: Use a temp file during WASM optimize
  • 5c22283 chore(deps): lock file maintenance (#302)
  • 8feffa3 chore(deps): update dependency @iconify-json/material-symbols to v1.1.89 (#294)
  • 1256194 chore(deps): update dependency @vitejs/plugin-vue to v5.1.4 (#299)
  • 3bb497b chore(deps): update dependency eslint-plugin-vue to v9.28.0 (#303)
  • 4230ab1 chore(deps): update dependency globals to v15.10.0 (#315)
  • 68f6775 chore(deps): update dependency postcss to v8.4.47 (#301)
  • 42b92b8 chore(deps): update dependency sass to v1.79.4 (#307)
  • 475119d chore(deps): update dependency tailwindcss to v3.4.13 (#313)
  • 09fc5d1 chore(deps): update dependency unplugin-icons to v0.19.3 (#309)
  • 3c3df3a chore(deps): update dependency vite to v5.4.2 (#293)
  • 54ab589 chore(deps): update dependency vite to v5.4.6 [security] (#314)
  • e183b77 chore(deps): update dependency vite to v5.4.8 (#316)
  • daa682c chore(deps): update dependency vite-plugin-pwa to v0.20.5 (#298)
  • c6ad477 chore(deps): update dependency vue to v3.5.10 (#306)
  • b23ad24 chore(deps): update dependency vue to v3.5.11 (#318)
  • 5d2c3e5 chore(deps): update eslint monorepo to v9.11.1 (#296)
  • 1b36c2c chore(deps): update go to v1.23.0 (#288)
  • 1a296bb chore(deps): update go to v1.23.2 (#310)
  • 82d0a86 chore(deps): update icons to v1.1.88 (#292)
  • 7d0b043 chore(deps): update icons to v1.2.2 (#297)
  • 3504858 chore(deps): update module github.com/hajimehoshi/ebiten/v2 to v2.8.0 (#312)
  • 02e833e chore(deps): update module github.com/masterminds/sprig/v3 to v3.3.0 (#300)
  • 41c84be chore(deps): update module github.com/ncruces/zenity to v0.10.14 (#308)
  • 830492d chore(deps): update module github.com/pelletier/go-toml/v2 to v2.2.3 (#295)
  • b25fe3d chore(deps): update module github.com/puerkitobio/goquery to v1.10.0 (#311)
  • 5cc5605 chore(deps): update peter-evans/create-pull-request action to v7

v0.0.3

16 Aug 09:09
7b52a39
Compare
Choose a tag to compare

Changelog

Fixes

  • 5dd8c28 fix(cartridge): Fix panic when invalid ROM file is loaded
  • da0bddd fix(console): Fix js builds not checking if cartridge has SRAM
  • 95d7da7 fix(console): Save SRAM even if autosave fails during close
  • d9bb726 fix(taskfile): Fix nointro:update task
  • bfed477 fix: Set exit code to 1 on error
  • 852900d perf(apu): Optimize audio buffer
  • 2cd7f60 perf(ppu): Slight optimization of sprite pixel fetch
  • 10f6020 perf(ppu): Slight rendering optimization
  • 853fece perf(web): Optimize wasm output with wasm-opt
  • 4844243 perf: Disable debug/trace on js and other code tweaks to shrink binary by ~1MB

Others

  • d849edf chore(cartridge): Add more context to invalid ROM error
  • 4560fb0 chore(cmd): Clean up versioning with functional argument
  • fe5726e chore(console): Clear audio buffer when loading a state
  • f80d683 chore(database): Add to_csv logs
  • 762e2fd chore(database): Ensure response body is always drained
  • 3909d69 chore(database): Generate gzipped database when writing CSV
  • b48afe4 chore(database): Pass context to downloader
  • 2b2dd46 chore(database): Remove superfluous else
  • 51dfd15 chore(database): Update NoIntro database (#281)
  • de5d02f chore(deps): Remove @rushstack/eslint-patch
  • e38fc89 chore(deps): lock file maintenance (#273)
  • c9e19d7 chore(deps): update dependency @vitejs/plugin-vue to v5.1.2 (#272)
  • 45d1136 chore(deps): update dependency autoprefixer to v10.4.20 (#287)
  • e8dcdb2 chore(deps): update dependency eslint-plugin-prettier to v5.2.1 (#284)
  • 2184df5 chore(deps): update dependency eslint-plugin-vue to v9.27.0 (#282)
  • 7284093 chore(deps): update dependency globals to v15.9.0 (#267)
  • e6611fc chore(deps): update dependency postcss to v8.4.41 (#280)
  • 7d1807a chore(deps): update dependency prettier to v3.3.3 (#274)
  • 08903b6 chore(deps): update dependency sass to v1.77.8 (#263)
  • 7b52a39 chore(deps): update dependency tailwindcss to v3.4.10 (#289)
  • dbca32e chore(deps): update dependency tailwindcss to v3.4.9 (#276)
  • 8340c07 chore(deps): update dependency unplugin-icons to v0.19.2 (#286)
  • 4a3305d chore(deps): update dependency vite to v5.4.0 (#271)
  • 723a6c0 chore(deps): update dependency vite to v5.4.1 (#291)
  • e5bfb20 chore(deps): update dependency vite-plugin-pwa to v0.20.1 (#285)
  • 3bc3e0f chore(deps): update dependency vue to v3.4.37 (#277)
  • 5ea8670 chore(deps): update dependency vue to v3.4.38 (#290)
  • b2a91fc chore(deps): update docker/build-push-action action to v6
  • 32ffe22 chore(deps): update eslint monorepo to v9.9.0 (#268)
  • 08ebde5 chore(deps): update go to v1.22.6 (#275)
  • 3b9fc79 chore(deps): update icons to v1.1.87 (#261)
  • 737b01c chore(deps): update module github.com/hajimehoshi/ebiten/v2 to v2.7.8 (#269)
  • 2dd2725 chore(deps): update module github.com/ncruces/zenity to v0.10.13 (#283)
  • c32678a chore(deps): update module github.com/spf13/cobra to v1.8.1 (#278)
  • faca9ea chore(gonesutil): Improve error formatting
  • 16f1b98 chore(hack): convert -> magick
  • 7ec71b8 chore(log): Change hex format funcs to types
  • b7c2705 chore(pprof): Change default port to 6060
  • 4e07c57 chore(pprof): Clean up pprof code, fix lint error
  • f16f5f8 chore(taskfile): Remove web:cp-js script since go generate does the same thing
  • 1920d2a chore(taskfile): Remove leftover task palette:generate
  • 6d27c1c chore: Rename internal/cmd to internal/generate
  • acc0462 chore: Rename wasm files to js
  • 9789574 chore: Simplify code since filepath.WalkDir() can work on files too
  • d9afc77 ci: Disable linux/arm64 build from PRs
  • e3e4f96 ci: Pin runner versions
  • ac9a913 lint: Remove unnecessary GoLand noinspection comments
  • 1e5429c refactor(log): Change logger from zerolog to slog

v0.0.2

13 May 06:57
8bdd99b
Compare
Choose a tag to compare

Overview

  • Includes optimizations to audio processing, logging, palette generation, and the game loop.
  • Version number will now be included in Windows and macOS binaries
  • Fixed initial state resume being added to the undo stack
  • Many dependency updates

Changelog

Features

  • 0f43ed0 feat(gonesutil): Add path output

Fixes

  • 184137b fix(console): Fix initial state resume being added to the undo stack
  • 695f9cc fix(apu): Fix audio after Ebiten update
  • c724005 perf: Enable ebiten single thread mode
  • 20a2c86 perf(palette): Optimize emphasis palette generation
  • 4deaa94 perf(apu): Skip more logic when audio is disabled
  • 7436986 perf(log): Migrate logging backend to zerolog
  • 6b5b99c fix(web): Fix CJS warnings
  • 8bdd99b fix(web): Fix eslint config

Others

  • 811711c chore(darwin): Add version number to Windows and macOS binaries
  • 56772f1 chore(database): Update NoIntro database (#224)
  • 23452c1 ci(release): Update Homebrew tap on release
  • 37eab74 chore(cmd): Change image.Decode to png.Decode when setting window icon
  • 496a75f chore(cmd): Handle flag completion registration errors and remove cobra.FixedCompletion
  • 3fa6ca8 ci(windows): Set working-directory instead of calling cd
  • 7af75c4 chore(gonesutil): Add earlier validation to --format flag
  • 13b1f37 chore(gonesutil): Add field consts
  • edd2a67 chore(gonesutil): Rename filter to delete for clarity
  • 0ee6fd1 chore(gonesutil): Simplify filter returns
  • 4e3be8c ci(release): Add changelog generator
  • dfe7e76 chore(changelog-generator): Add JSON schema [skip ci]
  • 2e46279 chore(changelog-generator): Move config into .github dir [skip ci]

Dependencies

  • 45d3745 fix(deps): update dependency autoprefixer to v10.4.19 (#210)
  • b4ae6c8 fix(deps): update dependency postcss to v8.4.38 (#214)
  • 8c77303 fix(deps): update dependency sass to v1.77.1 (#202)
  • 3e51814 fix(deps): update dependency tailwindcss to v3.4.3 (#220)
  • 2b7d288 fix(deps): update dependency unplugin-icons to v0.19.0 (#255)
  • eed7a98 fix(deps): update dependency vite to v5.2.11 (#201)
  • 1f4e805 fix(deps): update dependency vite-plugin-pwa to v0.20.0 (#197)
  • 5ce4951 fix(deps): update dependency vue to v3.4.27 (#200)
  • 4baae47 fix(deps): update icons to v1.1.79 (#213)
  • 4817154 fix(deps): update module github.com/hajimehoshi/ebiten/v2 to v2.7.3 (#217)
  • 899203b fix(deps): update module github.com/knadh/koanf/v2 to v2.1.1 (#225)
  • f74d02d fix(deps): update module github.com/ncruces/zenity to v0.10.12 (#207)
  • 85554ca fix(deps): update module github.com/pelletier/go-toml/v2 to v2.2.2 (#215)
  • b13120a fix(deps): update module github.com/puerkitobio/goquery to v1.9.2 (#204)
  • 41a82c7 chore(deps): lock file maintenance (#208)
  • f1be961 chore(deps): update dependency @rushstack/eslint-patch to v1.9.0
  • 01f601e chore(deps): update dependency eslint to v9.2.0
  • 3adedaa chore(deps): update dependency eslint-plugin-vue to v9.25.0
  • 89f9f0f chore(deps): update dependency eslint-plugin-vue to v9.26.0 (#259)
  • abb9e99 chore(deps): update gabe565/changelog-generator action to v1
  • eb56cb6 chore(deps): update go to v1.22.3 (#226)
  • 5ea234d chore(deps): update golangci/golangci-lint-action action to v6
  • 784b712 chore(deps): update pre-commit hook pre-commit/mirrors-eslint to v9 (#228)

v0.0.1

11 Mar 20:58
155c85d
Compare
Choose a tag to compare

Initial release, including:

  • Full CPU implementation
  • Full Cartridge implementation
    • Supported mappers: 0, 1, 2, 3, 4, 7, 69, 71 (84.34% of official NES games)
  • Full PPU implementation (graphics)
  • GUI
  • Basic controller support
    • Player 1
    • Player 2
  • Full APU implementation (audio)
  • Save file for games with batteries
  • Save states
  • Configuration file (remap controllers, video config, sound config, etc)

Full Changelog: https://github.com/gabe565/gones/commits/v0.0.1