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 / bus_decode.pio
Last active August 5, 2025 15:47
intv-decode-attempt-1
// Receives 19 bits: DB0–DB15 + BDIR + BC2 + BC1
.program cp1600_bus_rx
.define PINS_TO_SAMPLE 19 ; # of pins to sample.
.wrap_target
wait 1 pin 16 ; Wait for BDIR == 1 (CPU driving bus)
nop [31] ; 279.3ns valid delay
nop [31] ; at 250MHz.
nop [5]
in pins, PINS_TO_SAMPLE ; Read pins
in null, 13
@tschak909
tschak909 / bus_decode.pio
Created July 26, 2025 15:06
RP2040 C code for decoding CP-1600 bus signals.
// Receives 19 bits: DB0–DB15 + BDIR + BC2 + BC1
.program cp1600_bus_rx
.define PINS_TO_SAMPLE 19 ; # of pins to sample.
.wrap_target
wait 1 pin 16 ; Wait for BDIR == 1 (CPU driving bus)
nop [31] ; 32 cycles - wait for bus to settle.
in pins, PINS_TO_SAMPLE ; Read pins
in null, 13
push block
wait 0 pin 16 ; Wait for BDIR == 0 (CPU released bus)
@tschak909
tschak909 / wayland-info-output.txt
Created June 30, 2025 00:42
Output from wayland-info on my prime setup.
interface: 'wl_seat', version: 9, name: 1
name: Hyprland
capabilities: pointer keyboard
keyboard repeat rate: 50
keyboard repeat delay: 300
interface: 'wl_data_device_manager', version: 3, name: 2
interface: 'wl_compositor', version: 6, name: 3
interface: 'wl_subcompositor', version: 1, name: 4
interface: 'wl_shm', version: 1, name: 5
formats (fourcc):
@tschak909
tschak909 / CAMAC_Autopsy.txt
Created March 14, 2025 01:02
CAMAC_Autopsy.txt
CAMAC Conversion Autopsy
CAMAC was created from original ALTOS ACT-compatible source
via the following general steps:
1) The individual source files were combined into a single
source file on the MV/8000. Each line of this file was
given a revision number (AMAC00) and a line number via
utilities REVISION and SUPDATE.
@tschak909
tschak909 / com.c
Created December 21, 2024 18:48
first bios experiment.
/*
* Listing 3 - COM.C - "RS-232 Interrupts The C Way"
*
* Copyright (C) Mark R. Nelson 1990
*
* This file contains all the code to implement a complete
* interrupt driven interface to one of the RS-232 COM
* ports on an IBM compatible PC.
*/
#include <stdio.h>
@tschak909
tschak909 / doodstart.s
Created December 7, 2024 03:54
showing how startup code had implementations for gemdos() etc.
* DOOSTART.S
* Special kludge startup file for Doodle.
*
* Like most startup files, with some additions from the swamp of
* prehistoric Monterey. Meatball surgery, nothing pretty ...
*
*
.text
@tschak909
tschak909 / crash.log
Created September 16, 2024 02:16
Crazy crash happening on my Apple //c and FujiNet with fozztexx/smartport-wait-longer AND origin/master.
21:13:28.007 > theFuji Device 88 Control Code f5
21:13:28.008 > Decoding Control Data Packet for code: 0xf5
21:13:28.008 >
21:13:28.008 > Fuji cmd: CLOSE DIRECTORYTNFS >> TX cmd: CLOSEDIR, len: 1
21:13:28.011 > [2f1f 0e 12] 00
21:13:28.020 > TNFS << RX cmd: CLOSEDIR, len: 1, response (0): Success
21:13:28.020 > [2f1f 0e 12] 00
21:13:29.797 >
21:13:29.797 > ISR Data Packet Chksum error, calc b2, pkt 30 command = 04
21:13:29.809 > ISR Data Packet Chksum error, calc 80, pkt 00 command = 04
@tschak909
tschak909 / valgrind-fujinet-pc-txt
Created May 13, 2024 23:12
Valgrind report for fujinet-pc.
==2402562== Conditional jump or move depends on uninitialised value(s)
==2402562== at 0x164871: tnfs_umount(tnfsMountInfo*) (in /home/thomc/Workspace/fujinet-pc-apple2/build/dist/fujinet)
==2402562== by 0x15827F: FileSystemTNFS::~FileSystemTNFS() (in /home/thomc/Workspace/fujinet-pc-apple2/build/dist/fujinet)
==2402562== by 0x1B6C56: fujiHost::set_type(fujiHostType) (in /home/thomc/Workspace/fujinet-pc-apple2/build/dist/fujinet)
==2402562== by 0x1E9FD0: iwmFuji::~iwmFuji() (in /home/thomc/Workspace/fujinet-pc-apple2/build/dist/fujinet)
==2402562== by 0x4C28494: __run_exit_handlers (exit.c:113)
==2402562== by 0x4C2860F: exit (exit.c:143)
==2402562== by 0x4C0CD96: (below main) (libc_start_call_main.h:74)
==2402562==
Ending request thread

FujiNet Programming Series: Using the HTTP Protocol Adapter and JSON Parser

Abstract

The N: device exposes a wealth of protocol adapters that can be used, such as HTTP and HTTPS. Using these protocol adapters alone give you access to a wealth of information stored on the Web, but you can also attach them to a JSON parser (an XML parser is also available) to have the FujiNet quickly parse, and query to find any needed information, to return to the Atari. This article will show how to use the HTTP protocol adapter, and how to pair it with the JSON parser, to read the latest Mastodon post.

A Note About Assumptions

This article assumes that you have read the previous article in this series, showing how the N: device handler is set up and used to modify an existing BASIC game, as concepts learned there will apply here, as well.

Posted by Michael R. on June 25, 19101 at 00:17:18:
Hello everybody,
I found a way to connect a Conner CFS210A Harddisk to my GRiDCASE 1530. (Yes, I have a 200MB HDD AND a 3,5" FDD in my
GRiDCASE!) I think it should work with each Conner Harddisk which fits mechanically and is below the 520MB border.
The trick is, you have to patch the BIOS.
One (or a few more ;-)) word before you start patching your EPROM: