Skip to content

Instantly share code, notes, and snippets.

@Two9A
Two9A / pongwars.s
Created February 22, 2024 08:15
Pongwars in C64 assembly
;--------------------------------------------------------------------------
; C64 reimplementation of Pongwars
; Imran Nazar, 2024
; References:
; - Source: vnglst: https://hachyderm.io/@vnglst/111828811496422610
; - C64 memory map: https://sta.c64.org/cbm64mem.html
; - SID RNG: https://stackoverflow.com/questions/44937759
; - Raster interrupt: https://codebase64.org/doku.php?id=base:introduction_to_raster_irqs
; - Sprite design: https://cpstest.us/minecraft-circle-generator/
; - Sprite positioning:
@Two9A
Two9A / mmu.output.wat
Created September 5, 2023 14:10
WASM definition macro preprocessor
(module (func $io_r (import "func" "io_r") (param i32) (result i32)) (func $io_w (import "func" "io_w") (param i32) (param i32)) (memory (import "buffers" "mem") 2) (table 16 anyfunc) (elem (i32.const 0) $r_ram $r_ram $r_ram $r_ram $r_ram $r_ram $r_ram $r_ram $r_ram $r_ram $r_basic $r_basic $r_ram $r_char $r_kernal $r_kernal) (func $r_ram (param $addr i32) (result i32) (i32.load8_u (i32.and (get_local $addr) (i32.const 0xFFFF)))) (func $r_basic (param $addr i32) (result i32) (i32.load8_u (if (result i32) (i32.eq (i32.and (i32.load (i32.const 0x0001)) (i32.const 3)) (i32.const 3)) (then (i32.add (i32.and (get_local $addr) (i32.const 0xFFFF)) (i32.const 0x10000))) (else (i32.and (get_local $addr) (i32.const 0xFFFF)))))) (func $r_kernal (param $addr i32) (result i32) (i32.load8_u (if (result i32) (i32.and (i32.load (i32.const 0x0001)) (i32.const 2)) (then (i32.add (i32.and (get_local $addr) (i32.const 0xFFFF)) (i32.const 0x10000))) (else (i32.and (get_local $addr) (i32.const 0xFFFF)))))) (func $r_char (param $ad
@Two9A
Two9A / vertstitch.sh
Created May 12, 2018 22:11
Vertical stitch: Take a set of (in this case 598) frames from a phone scroll recording, and rebuild the original list being scrolled
#!/bin/bash
BLOBH=256
BLOBX=0
BLOBY=0
convert az0001.jpg final.png
BLOBW=$(identify -format "%w" final.png)
FULLWIDTH=$(identify -format "%w" final.png)
for filenum in {1..597}; do
@Two9A
Two9A / user.css
Last active April 29, 2016 12:26
User CSS on top of /r/SpaceX's style (FIrefox/Stylish)
@-moz-document regexp("https?:\\/\\/(?!.*i\\.).*\\.reddit\\.com.*") {
body.res-r-spacex { top: 110px; background: none !important; }
body.res-r-spacex #header { top: -110px; height: 110px; }
body.res-r-spacex #header #sr-header-area { background: hsl(0, 0%, 20%); }
body.res-r-spacex #header #header-bottom-left { height: 90px; }
body.res-r-spacex #header #header-bottom-right { background: hsl(0, 0%, 20%); top: 0; }
body.res-r-spacex #header #header-bottom-right::before { border-top-color: hsl(0, 0%, 20%); }
body.res-r-spacex #header #header-img-a { height: 90px; background-size: 130px 90px; background-position: 10px -5px; }
body.res-r-spacex #header div#header-bottom-left .redditname a { background-size: 210px 90px; height: 90px; }
body.res-r-spacex #header div#header-bottom-left ul.tabmenu { height: 90px; }
@Two9A
Two9A / robin-filter.js
Last active April 3, 2016 09:05
Robin filter and vote clock
// ==UserScript==
// @name Robin Autovoter
// @namespace http://jerl.im
// @version 1.9
// @description Autovotes via text on /r/robin
// @author /u/keythkatz
// @match https://www.reddit.com/robin*
// @grant none
// ==/UserScript==
/* jshint -W097 */
@Two9A
Two9A / 20151222-#spacex.log
Last active December 22, 2015 10:54
#spacex log, Orbcomm-2 launch/landing
0106:<@B787_300> WE ARE LIVE
0106:< bigboateng> where do we see T- count
0106:< michaeltherobot> it's on!
0106:< SpaceX_guest|47418> IVE
0106:< Raptor42> Stream live
0106:<+theholyduck> yaysk
0106:< Qqqwxs> Totally the music is great
0106:< SpaceX_guest|47418> LIVE
0106:< Bernardo> oooooohohoohohohoohohh
0106:< arth> hahaha
@Two9A
Two9A / boot.asm
Created October 31, 2015 18:27
ph34rOS! I never got very far with this...
;--------------------------------------------------------------------------
; ph34rOS - Testing boot sector version 0.0.1h
; Changes from 0.0.1g - Removed Alias descriptor (No use for it)
; - Moved Stage2 load point to 7E00
; - Assuming 386+ (It's a reasonable assumption)
; - Optimised debugging messages (I was bored)
; - Removed GetKey (No need, no need at all)
; - Moved procs into main code (no CALLs!)
;--------------------------------------------------------------------------
<?php
require_once 'html5/html5.inc.php';
class dAmn_IRC {
const DEBUG = 1;
const IRC_HOST = 'localhost';
const IRC_PORT = 8193;
const DAMN_HOST = 'chat.deviantart.com';
const DAMN_PORT = 3900;
@Two9A
Two9A / decronym.php
Last active April 9, 2024 23:25
Decronym: A simple Reddit bot
<?php
/**
* Dirty, dirty Reddit bot: Decronym
*/
class Reddit {
const USERNAME = 'Decronym';
const PASSWORD = '***';
const CLIENTID = '***';
const SECRET = '***';
@Two9A
Two9A / starfield.html
Created April 19, 2015 16:45
The simplest star field you'll ever find
<title>Starfield</title>
<script>
addEventListener('load', function() {
var stars = [];
var ctx = field.getContext('2d');
var gen = function(z) {
return {
x: 0 | (Math.random() * 800 - 400),
y: 0 | (Math.random() * 600 - 300),
z: z || (0 | Math.random() * 15)