chips
Django
chips | Django | |
---|---|---|
9 | 486 | |
925 | 77,104 | |
- | 1.0% | |
7.5 | 9.8 | |
about 1 month ago | 7 days ago | |
C | Python | |
zlib License | BSD 3-clause "New" or "Revised" License |
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
chips
-
Zilog Z80 CPU – Modern, free and open source silicon clone
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)
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
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
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?
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
-
Tiny Emulators
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:
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
I wrote also a library of components for some complex chips (like 6502 simulation using https://github.com/floooh/chips)
Django
-
AutoCodeRover resolves 22% of real-world GitHub in SWE-bench lite
>As an example, AutoCodeRover successfully fixed issue #32347 of Django.
This bug was fixed three years ago in a one-line change.[0] Presumably the fix was already in the training data.
[0] https://github.com/django/django/pull/13933
-
An Introduction to Testing with Django for Python
You should not test Django's own code — it's already been tested. For example, you don't need to write a test that checks if an object is retrieved with get_object_or_404 — Django's testing suite already has that covered.
-
Django Hello, World
Django is a high-level Python web framework that prioritizes rapid development with clear, reusable code. Its batteries-included approach supplies most of what you need for complex database-driven websites without turning to external libraries and dealing with security and maintenance risks. In this tutorial, we will build a traditional "Hello, World" application while introducing you to the core concepts behind Django.
-
Where can I create a website for free (no domain needed, basic server hosting, not something like Wix)
If you want to get into Python web development then Django can be a good place to start. https://www.djangoproject.com/
-
I like this docstring from django source code
If found this:
-
No changes detected with MAKEMIGRATION command after moving to new DataBase
Django's auth and session migration files are included with Django at https://github.com/django/django/tree/b287af5dc954628d4b336aefc5027b2edceee64b/django/contrib/auth/migrations and https://github.com/django/django/tree/b287af5dc954628d4b336aefc5027b2edceee64b/django/contrib/sessions/migrations
- What should I learn
-
The DevRel Digest November 2023: DevRel You Should Know Part One and Why I Will Never, Ever Leave Developer Relations
Dawn Wages’ name came up a few times in my call for nominations, and it’s easy to see why! Dawn is a Python Community Advocate at Microsoft. She is active in the Django community with an emphasis on people of color and queer people in tech. Dawn’s impressive resume includes OSS maintainer, member of the Wagtail Core Team, DjangoCon '21, '22, '23 Sponsorship Chair, volunteer for Django Girls, and DjangoCon Africa 2021 Sponsorship Chair.
-
CodeCraze🚀 - create your own blog in Django | Part 0 | Project Setup
In this Article, we create our own blog called CodeCraze using Django, a popular web framework written in python. Django is designed to help developers to rapidly build their web applications from concept to completion in an efficient way. Its a batteries included framework which provides out of the box functionalities such as ORM, API Integration, authentication, form handling & many more...
-
Implementing Role-Based Access Control in Django
There are many models of access control, however, in this guide, we are going to focus on Role Based Access Control (RBAC) and how to implement it in Django.
What are some alternatives?
wasm.cljc - Spec compliant WebAssembly compiler, decompiler, and generator
Nest - A progressive Node.js framework for building efficient, scalable, and enterprise-grade server-side applications with TypeScript/JavaScript 🚀
s7-wasm - Example of using s7 Scheme with web assembly and emscripten
fastapi - FastAPI framework, high performance, easy to learn, fast to code, ready for production
makaronLab - CPU simulation experiments
Flask - The Python micro framework for building web applications.
8086tiny - 8086tiny interpreter by Adrian Cable, taken from http://www.megalith.co.uk/8086tiny/
Masonite - The Modern And Developer Centric Python Web Framework. Be sure to read the documentation and join the Discord channel for questions: https://discord.gg/TwKeFahmPZ
TypeScript - TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
AIOHTTP - Asynchronous HTTP client/server framework for asyncio and Python
appler - Apple ][ emulator for MS-DOS, written in 8088 assembly
Nuxt.js - Nuxt is an intuitive and extendable way to create type-safe, performant and production-grade full-stack web apps and websites with Vue 3. [Moved to: https://github.com/nuxt/nuxt]