Skip to content

Instantly share code, notes, and snippets.

@plainspooky
plainspooky / convert_dt.py
Last active August 15, 2022 16:40
Generic routine to convert arbitrary formated dates as string into datetime objects.
"""
Convert an arbitrary string to a DateTime object
"""
from datetime import datetime
IGNORE_KEY = "no"
DATE_KEYS = (
"day",
"month",
@plainspooky
plainspooky / window.asm
Created June 3, 2019 22:50
Código fonte em assembly da rotina para desenho de janelas em modo texto para utilizar nos seus programas em MSX-BASIC.
CHPUT: equ $00a2
CSRY: equ $f3dc
CSRX equ $f3dd
org $d000-7 ; simula binário do MSX-BASIC
db $fe ; cabeçalho de arquivo binário
dw start_code ; início do código
dw end_code ; final do código
dw main ; endereço de execução
@plainspooky
plainspooky / .gitignore
Last active March 20, 2018 03:17
Vagrantfile to setup a Wordpress site on virtual machine running Ubuntu 17.10
.vagrant
*.log
*.tar.gz
@plainspooky
plainspooky / Vagrantfile
Last active March 19, 2018 13:10
Vagrantfile to setup a Laravel environment on virtual machine running Ubuntu 17.10
# -*- mode: ruby -*-
# vi: set ft=ruby :
VAGRANTFILE_API_VERSION = "2"
Vagrant.configure(VAGRANTFILE_API_VERSION) do |config|
config.vm.box = "ubuntu/artful64"
config.vm.provider "virtualbox" do |vb|
vb.customize ["modifyvm", :id, "--memory", "512"]
@plainspooky
plainspooky / msxslct.sh
Last active November 14, 2017 17:10
This Bash script creates a menu to an interactive selection to choose which MSX model to use on openMSX emulator.
#!/usr/bin/env bash
set -eu
OPENMSX=$( which openmsx )
if [[ ! -f ${OPENMSX} ]]; then
echo "openMSX not installed!"
exit 2
else
<nav class="navbar navbar-inverse">
<div class="container">
<div class="navbar-header">
<button type="button" class="navbar-toggle collapsed" data-toggle="collapse" data-target="#navbar" aria-expanded="false" aria-controls="navbar">
<span class="sr-only">Toggle navigation</span>
<span class="icon-bar"></span>
<span class="icon-bar"></span>
<span class="icon-bar"></span>
</button>
<a class="navbar-brand" href="#"><%= t('app_title') %></a>
#!/bin/bash
GUESTCD='https://www.virtualbox.org/download/testcase/VBoxGuestAdditions_5.0.17-106140.iso'
MYPWD=$( pwd )
yum install --assumeyes gcc kernel-devel-$( uname -r ) wget
cd /tmp
wget -c ${GUESTCD}
mount -o ro,loop $( echo ${GUESTCD} | sed 's/http.*\///g' ) /mnt
cd /mnt
./VBoxLinuxAdditions.run
cd ${MYPWD}
@plainspooky
plainspooky / MEMDUMP.BAS
Created January 20, 2016 14:36
Just trying my skills in MSX-BASIC :-)
10 SA!=&H7DAD:EA!=&H7FFF:COLOR 15,4,4:KEY OFF:SCREEN 0:IF PEEK(&H2D)=0 THEN W%=40:GOTO 20 ELSE PRINT "Display in [4]0 or [8]0 columns?"
15 K$=INPUT$(1):IF K$="4" THEN W%=40 ELSE IF K$="8" THEN W%=80 ELSE 15
20 WIDTH W%:CLS:C%=0:I%=0:J%=0:K%=0
25 IF W%=80 THEN MX%=16:CH%=7:CA%=58:CC%=78 ELSE MX%=8:CH%=5:CA%=29:CC%=38
30 DEF FN H$(I%)=RIGHT$("0"+HEX$(I%),2):DEF FN W$(I!)=RIGHT$("000"+HEX$(I!),4)
40 FOR I!=SA! TO EA!:J%=PEEK(I!):C%=C% XOR J%:IF K%=0 THEN LOCATE 0:PRINT FN W$(I!);
45 LOCATE 3*K%+CH%:PRINT FN H$(J%);" ";
50 LOCATE K%+CA%:IF J%<32 THEN PRINT "."; ELSE PRINT CHR$(J%);
55 K%=K%+1:IF K%=MX% THEN LOCATE CC%:PRINT FN H$(C%);:K%=0
60 IF CSRLIN>22 THEN PRINT "Scroll?";:K$=INPUT$(1):CLS
@plainspooky
plainspooky / large.asm
Last active January 5, 2016 17:14
Routine to display large numbers in Z80 created by Miguel Angel Rodriguez Jodar and adapted by me to run on MSX computers
; This source code is regulated under the GNU license. Original division
; routine (c)Milos "baze" Bazelides, ( b...@stonline.sk ).
; Rest of code (c)Miguel Angel Rodriguez Jodar ( rodri...@atc.us.es )
;
; Adaptated to run in MSX from Giovanni Nunes
;
CHPUT equ 0x00a2
org 0xc000 ; The BASIC program is stored
@plainspooky
plainspooky / capsoff.asm
Last active December 19, 2015 19:21
Ferramenta que destrava o CAPS-LOCK em computadores MSX (feito especialmente para os HOT-BIT da Sharp que travam o CAPS na hora do boot).
;
; "caps off"
; - Destrava o CAPS-LOCK do teclado do MSX
;
; (C)2015 Giovanni dos Reis Nunes <giovanni@athena>
;
; This program 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 2 of the License, or
; (at your option) any later version.