bigpete.net
testbed - Printable Version

+- bigpete.net (https://test.bigpete.net)
+-- Forum: Administrative (https://test.bigpete.net/forumdisplay.php?fid=4)
+--- Forum: Mod Forum (https://test.bigpete.net/forumdisplay.php?fid=17)
+--- Thread: testbed (/showthread.php?tid=25)

Pages: 1 2


testbed - BigPete - 02-15-2026

[MEDIA=archiveorg]win41-upd[/MEDIA]
View: https://archive.org/details/win41-upd


testbed - BigPete - 02-17-2026

[MEDIA=reddit]comments/r/linux_gaming/t3_1r4b8py[/MEDIA]
View: https://www.reddit.com/r/linux_gaming/s/IfB4MNZ1HQ


testbed - BigPete - 02-19-2026

[MEDIA=bandcamp]album_id=2315007335[/MEDIA]
View: https://gogolbordello.bandcamp.com/album/we-mean-it-man


testbed - BigPete - 02-22-2026

BBCode test


testbed - BigPete - 02-22-2026

test


testbed - BigPete - 02-26-2026

Code:
REM - THIS IS THE ORIGINAL SOURCE CODE FROM THE COLECO ADAM PROGRAM LISTING 15 POKE 17059, 4: POKE 17126, 246 16 GOTO 2560 20 HOME 21 IF name$ = "" THEN PRINT "There is no character to save!": FOR z = 1 TO 1000: NEXT z: GOTO 1000 22 INVERSE 23 PRINT " "; 30 PRINT "INSERT DATA DISK. "; 31 PRINT " "; 32 NORMAL 40 GET z$ 41 IF z$="" THEN TEXT:GOTO 1000 42 HGR2 50 file$=LEFT$(name$, 6) 60 PRINT CHR$(4); "open "; file$; ".CDP" 70 PRINT CHR$(4); "write "; file$; ".CDP" 80 PRINT name$ 85 PRINT ali$ 90 PRINT score 95 PRINT xp 100 PRINT ohits 105 PRINT hits 110 PRINT weapon$ 115 PRINT armor$ 116 PRINT shield$ 120 PRINT spell$ 121 PRINT moves 125 PRINT cd 126 PRINT lamp$



testbed - BigPete - 02-26-2026

Code:
using System; using System.Globalization; using System.IO; using PixelVision8.Player; namespace PixelVision8.Runner { public static class Program { [STAThread] public static void Main(string[] args) { // Fix a bug related to parsing numbers in Europe, among other things CultureInfo.DefaultThreadCurrentCulture = CultureInfo.InvariantCulture; CultureInfo.DefaultThreadCurrentUICulture = CultureInfo.InvariantCulture; var root = Path.Combine(AppDomain.CurrentDomain.BaseDirectory, "Content"); // TODO there is a bug where this will not go to the boot error using (var game = new CSharpRunner(root, typeof(CustomGameChip).ToString())) { game.Run(); } } } }



testbed - BigPete - 02-26-2026

[CODE=csharp]using System;
using System.Globalization;
using System.IO;
using PixelVision8.Player;

namespace PixelVision8.Runner
{
public static class Program
{

[STAThread]
public static void Main(string[] args)
{
// Fix a bug related to parsing numbers in Europe, among other things
CultureInfo.DefaultThreadCurrentCulture = CultureInfo.InvariantCulture;
CultureInfo.DefaultThreadCurrentUICulture = CultureInfo.InvariantCulture;

var root = Path.Combine(AppDomain.CurrentDomain.BaseDirectory, "Content");

// TODO there is a bug where this will not go to the boot error
using (var game = new CSharpRunner(root, typeof(CustomGameChip).ToString()))
{
game.Run();
}

}
}

}[/CODE]


testbed - BigPete - 02-26-2026

Code:
// // config.cpp // // mt32-pi - A baremetal MIDI synthesizer for Raspberry Pi // Copyright (C) 2020-2023 Dale Whinham <daleyo@gmail.com> // // This file is part of mt32-pi. // // mt32-pi is free software: you can redistribute it and/or modify it under the // terms of the GNU General Public License as published by the Free Software // Foundation, either version 3 of the License, or (at your option) any later // version. // // mt32-pi is distributed in the hope that it will be useful, but WITHOUT ANY // WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS // FOR A PARTICULAR PURPOSE. See the GNU General Public License for more // details. // // You should have received a copy of the GNU General Public License along with // mt32-pi. If not, see <http://www.gnu.org/licenses/>. // #include <cstdlib> #include <circle/logger.h> #include <circle/util.h> #include <fatfs/ff.h> #include <ini.h> #include "config.h" #include "utility.h" LOGMODULE("config"); const char* TrueStrings[] = {"true", "on", "1"}; const char* FalseStrings[] = {"false", "off", "0"}; // Templated function that converts a string to an enum template <class T, const char* pEnumStrings[], size_t N> static bool ParseEnum(const char* pString, T* pOut) { for (size_t i = 0; i < N; ++i) { if (!strcasecmp(pString, pEnumStrings[i])) { *pOut = static_cast<T>(i); return true; } } return false; } // Macro to expand templated enum parser into an overloaded definition of ParseOption() #define CONFIG_ENUM_PARSER(ENUM_NAME) \ bool CConfig::ParseOption(const char* pString, ENUM_NAME* pOut) \ { \ return ParseEnum<ENUM_NAME, ENUM_NAME##Strings, Utility::ArraySize(ENUM_NAME##Strings)>(pString, pOut); \ } // Enum string tables CONFIG_ENUM_STRINGS(TSystemDefaultSynth, ENUM_SYSTEMDEFAULTSYNTH); CONFIG_ENUM_STRINGS(TAudioOutputDevice, ENUM_AUDIOOUTPUTDEVICE); CONFIG_ENUM_STRINGS(TMT32EmuResamplerQuality, ENUM_RESAMPLERQUALITY); CONFIG_ENUM_STRINGS(TMT32EmuMIDIChannels, ENUM_MIDICHANNELS); CONFIG_ENUM_STRINGS(TMT32EmuROMSet, ENUM_MT32ROMSET); CONFIG_ENUM_STRINGS(TLCDType, ENUM_LCDTYPE); CONFIG_ENUM_STRINGS(TControlScheme, ENUM_CONTROLSCHEME); CONFIG_ENUM_STRINGS(TEncoderType, ENUM_ENCODERTYPE); CONFIG_ENUM_STRINGS(TLCDRotation, ENUM_LCDROTATION); CONFIG_ENUM_STRINGS(TLCDMirror, ENUM_LCDMIRROR); CONFIG_ENUM_STRINGS(TNetworkMode, ENUM_NETWORKMODE); CConfig* CConfig::s_pThis = nullptr; CConfig::CConfig() { // Expand assignment of all default values from definition file #define CFG(_1, _2, MEMBER_NAME, DEFAULT, _3...) MEMBER_NAME = DEFAULT; #include "config.def" s_pThis = this; } bool CConfig::Initialize(const char* pPath) { FIL File; if (f_open(&File, pPath, FA_READ) != FR_OK) { LOGERR("Couldn't open '%s' for reading", pPath); return false; } // +1 byte for null terminator const UINT nSize = f_size(&File); char Buffer[nSize + 1]; UINT nRead; if (f_read(&File, Buffer, nSize, &nRead) != FR_OK) { LOGERR("Error reading config file", pPath); f_close(&File); return false; } // Ensure null-terminated Buffer[nRead] = '\0'; const int nResult = ini_parse_string(Buffer, INIHandler, this); if (nResult > 0) LOGWARN("Config parse error on line %d", nResult); f_close(&File); return nResult >= 0; } int CConfig::INIHandler(void* pUser, const char* pSection, const char* pName, const char* pValue) { CConfig* const pConfig = static_cast<CConfig*>(pUser); //LOGDBG("'%s', '%s', '%s'", pSection, pName, pValue); // Automatically generate ParseOption() calls from macro definition file #define BEGIN_SECTION(SECTION) \ if (!strcmp(#SECTION, pSection)) \ { #define CFG(INI_NAME, TYPE, MEMBER_NAME, _2, ...) \ if (!strcmp(#INI_NAME, pName)) \ return ParseOption(pValue, &pConfig->MEMBER_NAME __VA_OPT__(, ) __VA_ARGS__); #define END_SECTION \ return 0; \ } #include "config.def" return 0; } bool CConfig::ParseOption(const char* pString, bool* pOutBool) { for (auto pTrueString : TrueStrings) { if (!strcasecmp(pString, pTrueString)) { *pOutBool = true; return true; } } for (auto pFalseString : FalseStrings) { if (!strcasecmp(pString, pFalseString)) { *pOutBool = false; return true; } } return false; } bool CConfig::ParseOption(const char* pString, int* pOutInt, bool bHex) { *pOutInt = strtol(pString, nullptr, bHex ? 16 : 10); return true; } bool CConfig::ParseOption(const char* pString, float* pOutFloat) { *pOutFloat = strtof(pString, nullptr); return true; } bool CConfig::ParseOption(const char* pString, CString* pOut) { *pOut = CString(pString); return true; } bool CConfig::ParseOption(const char* pString, CIPAddress* pOut) { // Space for 4 period-separated groups of 3 digits plus null terminator char Buffer[16]; u8 IPAddress[4]; strncpy(Buffer, pString, sizeof(Buffer)); char* pToken = strtok(Buffer, "."); for (uint8_t i = 0; i < 4; ++i) { if (!pToken) return false; IPAddress[i] = atoi(pToken); pToken = strtok(nullptr, "."); } pOut->Set(IPAddress); return true; } // Define template function wrappers for parsing enums CONFIG_ENUM_PARSER(TSystemDefaultSynth); CONFIG_ENUM_PARSER(TAudioOutputDevice); CONFIG_ENUM_PARSER(TMT32EmuResamplerQuality); CONFIG_ENUM_PARSER(TMT32EmuMIDIChannels); CONFIG_ENUM_PARSER(TMT32EmuROMSet); CONFIG_ENUM_PARSER(TLCDType); CONFIG_ENUM_PARSER(TControlScheme); CONFIG_ENUM_PARSER(TEncoderType); CONFIG_ENUM_PARSER(TLCDRotation); CONFIG_ENUM_PARSER(TLCDMirror); CONFIG_ENUM_PARSER(TNetworkMode);



testbed - BigPete - 02-26-2026

Code:
import { createTheme } from '@vanilla-extract/css'; import { color } from 'folds'; export const silverTheme = createTheme(color, { Background: { Container: '#DEDEDE', ContainerHover: '#D3D3D3', ContainerActive: '#C7C7C7', ContainerLine: '#BBBBBB', OnContainer: '#000000', }, Surface: { Container: '#EAEAEA', ContainerHover: '#DEDEDE', ContainerActive: '#D3D3D3', ContainerLine: '#C7C7C7', OnContainer: '#000000', }, SurfaceVariant: { Container: '#DEDEDE', ContainerHover: '#D3D3D3', ContainerActive: '#C7C7C7', ContainerLine: '#BBBBBB', OnContainer: '#000000', }, Primary: { Main: '#1245A8', MainHover: '#103E97', MainActive: '#0F3B8F', MainLine: '#0E3786', OnMain: '#FFFFFF', Container: '#C4D0E9', ContainerHover: '#B8C7E5', ContainerActive: '#ACBEE1', ContainerLine: '#A0B5DC', OnContainer: '#0D3076', }, Secondary: { Main: '#000000', MainHover: '#171717', MainActive: '#232323', MainLine: '#2F2F2F', OnMain: '#EAEAEA', Container: '#C7C7C7', ContainerHover: '#BBBBBB', ContainerActive: '#AFAFAF', ContainerLine: '#A4A4A4', OnContainer: '#0C0C0C', }, Success: { Main: '#017343', MainHover: '#01683C', MainActive: '#016239', MainLine: '#015C36', OnMain: '#FFFFFF', Container: '#BFDCD0', ContainerHover: '#B3D5C7', ContainerActive: '#A6CEBD', ContainerLine: '#99C7B4', OnContainer: '#01512F', }, Warning: { Main: '#864300', MainHover: '#793C00', MainActive: '#723900', MainLine: '#6B3600', OnMain: '#FFFFFF', Container: '#E1D0BF', ContainerHover: '#DBC7B2', ContainerActive: '#D5BDA6', ContainerLine: '#CFB499', OnContainer: '#5E2F00', }, Critical: { Main: '#9D0F0F', MainHover: '#8D0E0E', MainActive: '#850D0D', MainLine: '#7E0C0C', OnMain: '#FFFFFF', Container: '#E7C3C3', ContainerHover: '#E2B7B7', ContainerActive: '#DDABAB', ContainerLine: '#D89F9F', OnContainer: '#6E0B0B', }, Other: { FocusRing: 'rgba(0 0 0 / 50%)', Shadow: 'rgba(0 0 0 / 20%)', Overlay: 'rgba(0 0 0 / 50%)', }, }); const darkThemeData = { Background: { Container: '#1A1A1A', ContainerHover: '#262626', ContainerActive: '#333333', ContainerLine: '#404040', OnContainer: '#F2F2F2', }, Surface: { Container: '#262626', ContainerHover: '#333333', ContainerActive: '#404040', ContainerLine: '#4D4D4D', OnContainer: '#F2F2F2', }, SurfaceVariant: { Container: '#333333', ContainerHover: '#404040', ContainerActive: '#4D4D4D', ContainerLine: '#595959', OnContainer: '#F2F2F2', }, Primary: { Main: '#BDB6EC', MainHover: '#B2AAE9', MainActive: '#ADA3E8', MainLine: '#A79DE6', OnMain: '#2C2843', Container: '#413C65', ContainerHover: '#494370', ContainerActive: '#50497B', ContainerLine: '#575086', OnContainer: '#E3E1F7', }, Secondary: { Main: '#FFFFFF', MainHover: '#E5E5E5', MainActive: '#D9D9D9', MainLine: '#CCCCCC', OnMain: '#1A1A1A', Container: '#404040', ContainerHover: '#4D4D4D', ContainerActive: '#595959', ContainerLine: '#666666', OnContainer: '#F2F2F2', }, Success: { Main: '#85E0BA', MainHover: '#70DBAF', MainActive: '#66D9A9', MainLine: '#5CD6A3', OnMain: '#0F3D2A', Container: '#175C3F', ContainerHover: '#1A6646', ContainerActive: '#1C704D', ContainerLine: '#1F7A54', OnContainer: '#CCF2E2', }, Warning: { Main: '#E3BA91', MainHover: '#DFAF7E', MainActive: '#DDA975', MainLine: '#DAA36C', OnMain: '#3F2A15', Container: '#5E3F20', ContainerHover: '#694624', ContainerActive: '#734D27', ContainerLine: '#7D542B', OnContainer: '#F3E2D1', }, Critical: { Main: '#E69D9D', MainHover: '#E28D8D', MainActive: '#E08585', MainLine: '#DE7D7D', OnMain: '#401C1C', Container: '#602929', ContainerHover: '#6B2E2E', ContainerActive: '#763333', ContainerLine: '#803737', OnContainer: '#F5D6D6', }, Other: { FocusRing: 'rgba(255, 255, 255, 0.5)', Shadow: 'rgba(0, 0, 0, 1)', Overlay: 'rgba(0, 0, 0, 0.8)', }, }; export const darkTheme = createTheme(color, darkThemeData); export const butterTheme = createTheme(color, { ...darkThemeData, Background: { Container: '#1A1916', ContainerHover: '#262621', ContainerActive: '#33322C', ContainerLine: '#403F38', OnContainer: '#FFFBDE', }, Surface: { Container: '#262621', ContainerHover: '#33322C', ContainerActive: '#403F38', ContainerLine: '#4D4B43', OnContainer: '#FFFBDE', }, SurfaceVariant: { Container: '#33322C', ContainerHover: '#403F38', ContainerActive: '#4D4B43', ContainerLine: '#59584E', OnContainer: '#FFFBDE', }, Secondary: { Main: '#FFFBDE', MainHover: '#E5E2C8', MainActive: '#D9D5BD', MainLine: '#CCC9B2', OnMain: '#1A1916', Container: '#403F38', ContainerHover: '#4D4B43', ContainerActive: '#59584E', ContainerLine: '#666459', OnContainer: '#F2EED3', }, });