Skip to content

Instantly share code, notes, and snippets.

View tschak909's full-sized avatar
🏠
Working from home

Thomas Cherryhomes tschak909

🏠
Working from home
View GitHub Profile
@tschak909
tschak909 / atari-binary-load.asm
Created May 27, 2020 03:35
Binary Load Routine for Atari
0100 ; BINARY LOAD MENU PROGRAM
0110 ; NAME OBJECT FILE D:AUTORUN.SYS
0120 ;
0130 ; RICHARD J. KALAGHER
0140 ; AUGUST 7, 1983
0150 ;
0160 .OPT NOEJECT
0170 ;
0180 ; EQUATES
0190 ;
/**
Test #32 - Multilator Rev2 Rewrite
*/
#define TEST_NAME "#FujiNet Multi-Diskulator"
#ifdef ESP8266
#include <ESP8266WiFi.h>
#endif
#ifdef ESP32
@tschak909
tschak909 / multilator2modem-fixes.ino
Created January 17, 2020 18:40
Multilator2modem with fixes.
#define TEST_NAME "#FujiNet Multi-Diskulator v2 + Modem850"
#ifdef ESP8266
#include <ESP8266WiFi.h>
#endif
#ifdef ESP32
#include <SD.h>
#include <SPI.h>
#include <WiFi.h>
@tschak909
tschak909 / sio-synctest.ino
Created January 2, 2020 01:00
re-think sync
/**
Test #30 - Re-think SIO sync
*/
#define TEST_NAME "#FujiNet Rethink Sync(tm)"
#ifdef ESP8266
#include <ESP8266WiFi.h>
#endif
@tschak909
tschak909 / atari_boot_sector.c
Created November 7, 2019 17:05
a single atari boot sector and program
byte disk[128] =
{
0x00, 0x01, 0x00, 0x07, 0x00, 0x07, 0xa9, 0x9a, 0x8d, 0xc4, 0x02, 0xa9,
0x45, 0x8d, 0xc8, 0x02, 0xa9, 0x31, 0x8d, 0x30, 0x02, 0xa9, 0x07, 0x8d,
0x31, 0x02, 0x4c, 0x1a, 0x07, 0x00, 0x00, 0x00, 0x25, 0x33, 0x30, 0x18,
0x12, 0x16, 0x16, 0x00, 0x22, 0x2f, 0x2f, 0x34, 0x25, 0x24, 0x00, 0x00,
0x00, 0x70, 0x70, 0x70, 0x70, 0x70, 0x70, 0x70, 0x70, 0x70, 0x70, 0x70,
0x70, 0x47, 0x1d, 0x07, 0x41, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
@tschak909
tschak909 / disktest-nocmd.ino
Created November 7, 2019 03:47
current COMMAND-less gist implemented as FSM
/**
Atari ESP01 Firmware
*/
enum {GET_ID, GET_COMMAND, GET_AUX1, GET_AUX2, GET_CKSUM, ACK, NAK, PROCESS} sio_cmd_frame_state = GET_ID;
/**
sio2wifi disk image here, 4 128 byte sectors.
*/
#define PIN_LED 2
@tschak909
tschak909 / xmodem.asm
Created October 21, 2019 23:07
XMODEM CRC-16 implementation that can compile with ASM.COM
;======================================================
; CP/M XMODEM 1.01 by Martin Eberhard
;======================================================
; Compact XMODEM file transfer program for CP/M 2.2
;
; Supports both regular XMODEM checksums and XMODEM-CRC
;
; See help the message near the end of this code for
; program usage
;
@tschak909
tschak909 / plato.map
Created September 21, 2019 16:13
PLATOTERM Atari Cartridge binary map file
Modules list:
-------------
keyboard.o:
CODE Offs=000000 Size=000184 Align=00001 Fill=0000
RODATA Offs=000000 Size=000114 Align=00001 Fill=0000
BSS Offs=000000 Size=000003 Align=00001 Fill=0000
DATA Offs=000000 Size=000035 Align=00001 Fill=0000
main.o:
CODE Offs=000184 Size=00002E Align=00001 Fill=0000
DATA Offs=000035 Size=000001 Align=00001 Fill=0000
@tschak909
tschak909 / preventdefault.c
Created September 5, 2019 18:01
code snippet to prevent default events.
$(window).keydown(function(event) {
if (event.ctrlKey && event.keyCode == 0x44) { // Ctrl+D
event.preventDefault();
}
});
@tschak909
tschak909 / mazeplot.c
Created August 17, 2019 06:50
plot maze data for mindset pac-man to offscreen buffer.
/**
* mazeplot - use BLT string
* to plot a copy of the maze
* into a buffer, which is then
* dumped to disk, and can be
* reconstituted with xxd -i
* to produce a 224x240 bitmap
*/
#include <i86.h>