TYPE RegType
	ax AS INTEGER
	bx AS INTEGER
	cx AS INTEGER
	dx AS INTEGER
	bp AS INTEGER
	si AS INTEGER
	di AS INTEGER
	flags AS INTEGER
END TYPE
DECLARE SUB INTERRUPT (intnum AS INTEGER, inreg AS RegType, outreg AS RegType)
DECLARE SUB OUTW (p%, v%)
DECLARE SUB VGAmode (m%)
VGAmode 3
' 80x30 LFG!
DEF SEG = &H40
DIM CRTC AS INTEGER
CRTC = PEEK(&H64) * &H100 + PEEK(&H63)
OUTW CRTC, &HC11
OUTW CRTC, &HD06
OUTW CRTC, &H3E07
OUTW CRTC, &HDE12
OUTW CRTC, &HE715
OUTW CRTC, &H616
DEF SEG = &HB800
FOR y% = 0 TO 31
   FOR x% = 0 TO 79
		y$ = LTRIM$(STR$(y% + 1))
		IF x% < LEN(y$) THEN
			POKE 2 * (y% * 80 + x%), ASC(MID$(y$, 1 + x%, 1))
		ELSE
			IF x% MOD 2 THEN
				POKE 2 * (y% * 80 + x%), &HDC
			ELSE
				POKE 2 * (y% * 80 + x%), &HDF
			END IF
		END IF
	NEXT
NEXT
SLEEP
VGAmode 3
SUB OUTW (p AS INTEGER, v%)
	OUT p, v% AND &HFF
	OUT p + 1, v% \ &H100 AND &HFF
END SUB
SUB VGAmode (m%)
	DIM REGS AS RegType
	REGS.ax = m%
	INTERRUPT &H10, REGS, REGS
END SUB