chips

8-bit chip and system emulators in standalone C headers (by floooh)

Chips Alternatives

Similar projects and alternatives to chips

  • TypeScript

    1,307 chips VS TypeScript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • mpv

    🎥 Command line video player

  • InfluxDB

    Power Real-Time Data Analytics at Scale. Get real-time insights from all types of time series data with InfluxDB. Ingest, query, and analyze billions of data points in real-time with unbounded cardinality.

    InfluxDB logo
  • Django

    484 chips VS Django

    The Web framework for perfectionists with deadlines.

  • PostgreSQL

    Mirror of the official PostgreSQL GIT repository. Note that this is just a *mirror* - we don't work with pull requests on github. To contribute, please see https://wiki.postgresql.org/wiki/Submitting_a_Patch

  • ripgrep

    ripgrep recursively searches directories for a regex pattern while respecting your gitignore

  • Nim

    348 chips VS Nim

    Nim is a statically typed compiled systems programming language. It combines successful concepts from mature languages like Python, Ada and Modula. Its design focuses on efficiency, expressiveness, and elegance (in that order of priority).

  • Redis

    Redis is an in-memory database that persists on disk. The data model is key-value, but many different kind of values are supported: Strings, Lists, Sets, Sorted Sets, Hashes, Streams, HyperLogLogs, Bitmaps.

  • SaaSHub

    SaaSHub - Software Alternatives and Reviews. SaaSHub helps you find the best software and product alternatives

    SaaSHub logo
  • RetroArch

    Cross-platform, sophisticated frontend for the libretro API. Licensed GPLv3.

  • espanso

    Cross-platform Text Expander written in Rust

  • swift

    217 chips VS swift

    The Swift Programming Language

  • darwin-xnu

    Discontinued Legacy mirror of Darwin Kernel. Replaced by https://github.com/apple-oss-distributions/xnu

  • Polly

    Polly is a .NET resilience and transient-fault-handling library that allows developers to express policies such as Retry, Circuit Breaker, Timeout, Bulkhead Isolation, and Fallback in a fluent and thread-safe manner. From version 6.0.1, Polly targets .NET Standard 1.1 and 2.0+.

  • source-sdk-2013

    The 2013 edition of the Source SDK

  • sokol

    minimal cross-platform standalone C headers

  • blender

    37 chips VS blender

    Official mirror of Blender

  • LevelDB

    LevelDB is a fast key-value storage library written at Google that provides an ordered mapping from string keys to string values.

  • appler

    17 chips VS appler

    Apple ][ emulator for MS-DOS, written in 8088 assembly

  • pcgeos

    15 chips VS pcgeos

    #FreeGEOS source codes. The offical home of the PC/GEOS operating system technology. For personal computing fans. For all developers and assembly lovers. For YOU!

  • wasm.cljc

    Spec compliant WebAssembly compiler, decompiler, and generator

  • makaronLab

    CPU simulation experiments

  • SaaSHub

    SaaSHub - Software Alternatives and Reviews. SaaSHub helps you find the best software and product alternatives

    SaaSHub logo
NOTE: The number of mentions on this list indicates mentions on common posts plus user suggested alternatives. Hence, a higher number means a better chips alternative or higher similarity.

chips reviews and mentions

Posts with mentions or reviews of chips. We have used some of these posts to build our list of alternatives and similar projects. The last one was on 2024-04-28.
  • Zilog Z80 CPU – Modern, free and open source silicon clone
    7 projects | news.ycombinator.com | 28 Apr 2024
    Because it's a software implementation in Verilog which is much closer to a software emulator and has nothing to do with the original Z80 "transistor structure".

    For instance here's the LD A,(DE) "payload":

    https://github.com/rejunity/z80-open-silicon/blob/974c7711b2...

    And here's the equivalent in my software emulator:

    https://github.com/floooh/chips/blob/bd1ecff58337574bb46eba5...

    What's interesting though is that the Verilog implementation doesn't seem to update the internal WZ register, even though there are references to WZ in other places.

    But in the end, if it looks and feels like a Z80 from the outside (e.g. the right pins are active at the right time) the internal implementation doesn't matter all that much.

  • Getting into way too much detail with the Z80 netlist simulation (2021)
    2 projects | news.ycombinator.com | 14 Apr 2024
    Author here, interesting to see this posted since it's more like a reference manual for Z80 instructions with 'unusual' timings. The followup blog post about the cycle-stepped Z80 emulator is probably more interesting:

    https://floooh.github.io/2021/12/17/cycle-stepped-z80.html

    One important note: at the start of the post I'm speculating about why I was seeing some minor differences to a 'real' Z80, it turned out that this speculation was wrong and instead the differences were caused by 'incomplete' netlist simulation code which worked fine for the 6502 but required some tweaks for the Z80, see the comments of this GH issue for details: https://github.com/floooh/v6502r/issues/2.

    As far as I'm aware the netlist simulation now behaves correctly like a Zilog Z80 (but note that reverse engineered Z80 clones like the East German U880 are known to have slightly different undocumented behaviour), and the Z80 emulator in https://github.com/floooh/chips is tested against the netlist simulation for correct behaviour and timing.

  • A world to win: WebAssembly for the rest of us
    4 projects | news.ycombinator.com | 17 Aug 2023
    I simply don't see that there's a big enough difference between traditional garbage collection, refcounting and manual memory management. Each of those can already be implemented in pure WASM, just more or less awkwardly.

    As for "just another ISA", there have been CPUs which had separate call- and data-stacks, with the call-stack living on the CPU and not accessible as regular data. In that sense WASM isn't much different then those esoteric CPUs.

    And even though WASM might not allow free jumps, I yet have to see a noticeable performance difference between WASM and native for this type of "worst case code":

    https://github.com/floooh/chips/blob/f5b6684ff6e899429544b21...

  • Appler: Apple ][ emulator for IBM PC, written in 8088 assembly
    5 projects | news.ycombinator.com | 8 Mar 2023
    Oh my, the 6502 emulation [1] has fewer lines of assembly code than my (code-generated) implementation has lines of C code [2] :D

    Very nice use of a macro assembler though [3], makes the code feel very high level.

    To my defense, the generated code has a lot of redundancies (such as assert(false) which were meant to catch any 'stray cycles' but which are removed in release mode.

    [1] https://github.com/zajo/appler/blob/develop/src/65C02.ASM

    [2] https://github.com/floooh/chips/blob/master/chips/m6502.h

    [3] https://github.com/zajo/appler/blob/52aaa0f768cdf303438cd2c7...

  • Ask HN: What's the best source code you've read?
    46 projects | news.ycombinator.com | 10 Sep 2022
    I don't know if it's the best code I've ever read but this emulation library [0] of 8 bits computers is pretty well written, documented and designed: https://github.com/floooh/chips.

    It's a good way to document old hardware with emulation code.

  • A new cycle-stepped Z80 emulator
    1 project | /r/C_Programming | 23 Dec 2021
  • Tiny Emulators
    1 project | news.ycombinator.com | 23 Nov 2021
    Looks like here's the source code of the emulators:

    8-bit chip and system emulators in standalone C headers - https://github.com/floooh/chips

  • Emulating a Parallel Memory chip at the circuit level:
    2 projects | /r/EmuDev | 17 Oct 2021
    There's a project on GitHub of similar nature -- it has include-able .h files emulating 8-bit computer chips on the pin level, and bus state is also held in a 64-bit value: https://github.com/floooh/chips/blob/master/chips/m6502.h
  • Yet Another Eater Sap1 Is Finished
    2 projects | /r/beneater | 28 Dec 2020
    I wrote also a library of components for some complex chips (like 6502 simulation using https://github.com/floooh/chips)
  • A note from our sponsor - InfluxDB
    www.influxdata.com | 10 May 2024
    Get real-time insights from all types of time series data with InfluxDB. Ingest, query, and analyze billions of data points in real-time with unbounded cardinality. Learn more →

Stats

Basic chips repo stats
9
915
7.7
21 days ago

floooh/chips is an open source project licensed under zlib License which is an OSI approved license.

The primary programming language of chips is C.


Sponsored
SaaSHub - Software Alternatives and Reviews
SaaSHub helps you find the best software and product alternatives
www.saashub.com