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

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:
@tschak909
tschak909 / entx6s.s
Created July 12, 2022 15:51
IBM PASCAL Entry/Exit extrinsic code.
NAME ENTX
; IBM Personal Computer Pascal runtime system control
; Version 1.00 (C) Copyright 1981 by IBM Corp
;Memory Layout:
;
; Hi -> COMMAND (may be overlayed)
; CONST segment
; DATA segment
/**
* Lynx 4x6 Text Routines
*
* @author Thomas Cherryhomes
* @email thom dot cherryhomes at gmail dot com
* @license gpl v. 3, see LICENSE.md for details.
*/
#include <lynx.h>
#include <tgi.h>
@tschak909
tschak909 / find-pascal-hits-on-colecovision-titles.txt
Created May 3, 2022 16:44
find-pascal was run on every colecovision ROM I had, these were the results back. (Whole run took less than 1 second)
thomc@TMA-2:~/Workspace/tnfs-backup/adam-apps.irata.online/tnfs/Games/ColecoVision$ find . -type f -exec find-pascal {} \;
./D/Donkey Kong (1982) (Coleco) [24K].rom:
WRITE_REGISTERP
REQUEST_SIGNALP
TEST_SIGNALP
WRITE_REGISTERP
PLAY_ITP
PLAY_ITP
REQUEST_SIGNALP
TEST_SIGNALP
@tschak909
tschak909 / 8080-fig-forth.asm
Last active December 14, 2021 18:24
8080 Fig Forth from Installation Manual
TITLE '8080 FIG-FORTH 1.1 VERSION A0 17SEP79'
;
; FIG-FORTH RELEASE 1.1 FOR THE 8080 PROCESSOR
;
; ALL PUBLICATIONS OF THE FORTH INTEREST GROUP
; ARE PUBLIC DOMAIN. THEY MAY BE FURTHER
; DISTRIBUTED BY THE INCLUSION OF THIS CREDIT
; NOTICE:
;
; THIS PUBLICATION HAS BEEN MADE AVAILABLE BY THE
@tschak909
tschak909 / MediaTypeDDP.cpp
Created November 12, 2021 16:28
MediaType for Adam DDP format
#ifdef BUILD_ADAM
#include <memory.h>
#include <string.h>
#include "../../include/debug.h"
#include "../utils/utils.h"
#include "fnSystem.h"
#include "../device/adamnet/disk.h"
@tschak909
tschak909 / dirent.h
Created September 19, 2021 00:27
platformio dirent.h fix
thomc@TMA-2:/mnt/c/Users/thomc/.platformio/packages/framework-espidf/components/newlib/platform_include/sys$ more dirent.h
// Copyright 2015-2016 Espressif Systems (Shanghai) PTE LTD
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
// http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
@tschak909
tschak909 / adam-test-boot.asm
Created July 28, 2021 23:36
Test bootloader to verify z88dk toolchain sanity
EosStart EQU 0fc30h ;EOSStart: reset EOS
ConsDisp EQU 0fc33h ;ConsoleDisplay: A=character to display (raw output)
ConsInit EQU 0fc36h ;ConsoleInitialize: D=top E=left B=width C=height HL=start
ConsOut EQU 0fc39h ;ConsOut: A=character to display, with escape characters
ReadKeyboard EQU 0fc6ch ;ReadKeyboard: Returns A=key
GotoWP EQU 0fce7h ;GotoWP: Starts SmartWRITER
PutAscii EQU 0fd17h ;PutASCII: Fills out characters 0x20 to 0x7e
WriteReg EQU 0fd20h ;WriteVDPRegister: B=reg, C=value
FillVRam EQU 0fd26h ;FillVRam: HL=start, A=character, DE=length
WriteVRam EQU 0fd1ah ;WriteVRam: HL=ram address, BC=length, DE=vram address
@tschak909
tschak909 / screen-tek.c
Created June 23, 2021 03:44
platoterm example doing tek4014 codes.
/**
* PLATOTerm64 - A PLATO Terminal for the Commodore 64
* Based on Steve Peltz's PAD
*
* Author: Thomas Cherryhomes <thom.cherryhomes at gmail dot com>
*
* screen.c - Display output functions
*/
#include <stdlib.h>