Skip to content

Instantly share code, notes, and snippets.

View ssg's full-sized avatar
💾
restoring

Sedat Kapanoğlu ssg

💾
restoring
View GitHub Profile
@ssg
ssg / capscr.pas
Created February 13, 2021 06:47
Text mode screen capture tool I wrote back in 1994
{$M $800,0,0}
uses Dos;
var
screen:array[1..4000] of byte absolute $b800:0;
temp:array[1..2000] of byte;
procedure MyInt5;interrupt;
var
f:file;
begin
@ssg
ssg / bmpdump.pas
Created February 13, 2021 06:45
DOS tool I wrote back in 1994 to retrieve BMP header information
{ BMP Header Dumper }
uses Objects,XIO,XTypes;
(*
type
TBitmapFileHeader = record
bfType: Word;
bfSize: Longint;
bfReserved1: Word;
bfReserved2: Word;
@ssg
ssg / mi.pas
Created February 13, 2021 06:37
A memory information tool for DOS that I wrote back in 1994
uses Strings,XBuf,Debris,Objects,Dos,XIO;
const
EnvId : array[1..8] of char = 'COMSPEC=';
type
PMCB = ^TMCB;
TMCB = record
@ssg
ssg / basicstub.asm
Last active January 10, 2021 04:57
Amstrad CPC Locomotive BASIC Binary Stub
; assembly program with a BASIC stub
; amstrad cpc series - Locomotive BASIC
; ssg - 2021
org #170
write direct "stub.bas" ; change file format to BASIC with a disk editor
; (02 -> 00 at offset 18 in AMSDOS header)
db #0A, #00, #2C, #02, #83, #20, #1C
dw start
@ssg
ssg / baston.txt
Last active August 31, 2023 22:28
Altın Disket 94 yarışmasında DOS kategorisi birincisi seçilen Baston isimli dosya yöneticisine yazdığım kullanım kılavuzu
@ssg
ssg / log2html.c
Created September 6, 2020 09:01
One of my first C sources from 1997 that converts IRC logs to HTML format for publishing on web.
#include <stdio.h>
char indexheader[] =
"<!-- Generated by LOG2HTM by SSG/aRtEffECt --> \n \
<body bgcolor=\"#000000\" text=\"#FFFFFF\" link=\"#C9C298\" vlink=\"#808080\" alink=\"#FF0000\"> \n \
<h1>Best of #coders</h1><font size=\"+1\" color=\"#7a8daf\"> \n \
All those are selections from SSG''s log of #coders on irc.raksnet.com.tr. \n \
</font><center><table align=\"center\" bgcolor=\"#695852\" cellspacing=1 cellpadding=4> \n \
<tr bgcolor=\"#000000\"><th>Title</th><th>Date</th></tr>\n";
@ssg
ssg / SSGLIB.BAS
Created August 26, 2020 23:59
Tape cataloguing program I wrote for Amstrad CPC464 back in 1991. It only works on BASIC 1.0 as it relies on buggy syntax of DEC$. I seemed to have more enamored on command prompts than actual functionality though.
10 POKE &BDEE,201:TROFF:CALL &BBFF:CALL &BB4E:INK 0,0:BORDER 0:INK 1,26:SYMBOL AFTER 256:MODE 2:POKE 44667,0:POKE 44669,0:POKE 44668,&AC:POKE 44670,&AC:mx=500:DIM n$(mx),ft%(mx),sa(mx),tl(mx),ea(mx),ex%(mx):SPEED WRITE 1:DEF FNr$(x)=DEC$((x/10000,"##.#")
20 PRINT"SSG/LIB v2.1 - Tape Indexing System - (c) SSG Ltd 1988..1991":ln$=STRING$(80,"=")
30 PRINT"Revision ";:rev$=FNr$((PEEK(44675)+256*PEEK(44676))-368):PRINT rev$
40 PRINT
50 PRINT"> ";:GOSUB 65000:IF VAR$="" OR VAR$=SPACE$(LEN(VAR$)) THEN 50 ELSE POKE &BF00,0:GOSUB 100:IF PEEK(&BF00)=0 THEN 50 ELSE PRI
NT"Error , Re-enter command
":GOTO 50
60 PF$="":FOR N=1 TO LEN(F$):C=ASC(MID$(F$,N,1)):IF C<32 THEN C=32
70 PF$=PF$+CHR$(C):NEXT:PF$=UPPER$(PF$):RETURN
@ssg
ssg / NEWES.BAS
Created August 24, 2020 23:54
Another ES BBS intro I coded - I'm not sure how this looks, I should kick up an emulator
{es intro}
const
GSeg = $a000;
Sofs = 100; Samp = 20; Slen = 255;
Size = 4; Curve = 3;
Xmax = 320 div size; Ymax = 7;
ScrSpd = -1;
ScrText : PChar = 'ES BBS...Aviation and Aircrafts support BBS...'+
'node #1 33.6: +90 222 2345869...node #2 14.4: +90 222 2216880...'+
'SysOp: Mehmet "BLoodY" Ozturk2...'+
@ssg
ssg / ESLOGO.PAS
Created August 24, 2020 23:41
ES BBS ASCII ART in TheDraw crunched format
{ TheDraw Pascal Crunched Screen Image. Date: 06/02/95 }
uses objects;
const
ESLOGO_WIDTH=80;
ESLOGO_DEPTH=21;
ESLOGO_LENGTH=1447;
ESLOGO : array [1..1447] of Char = (
#15,#16,#25, #3,'.',#25, #7, #8,'ù',#25, #5,#15,'.',#25, #9,'.',#25,
#6, #7,'ú',#25, #9,#15,'.',#25, #7,'.',#24,#25, #6,'.',' ',' ', #7,
@ssg
ssg / STOK.BAS
Last active August 17, 2020 02:13
Inventory management software I wrote for Amstrad CPC464 back in 1991 when I was 14 years old. The "SSGLOCK" codes seem to have been inspired from Vindicator level codes. Since this uses the buggy/undocumented DEC$(() syntax, it won't work on a CPC6128 without modification.
10 MODE 2:PAPER 0:PEN 1:INK 0,0:BORDER 0:INK 1,0:MX=500:ON ERROR GOTO 1040:DIM MA$(MX),MSGT$(MX),MSCT$(MX),MSGM(MX),MSCM(MX),TGM(MX),
TCM(MX),MBF(MX),MTF(MX):SPEED WRITE 1
20 PRINT" ":LOCATE 16,1:PRINT"STOK KONTROL PROGRAMI - (C) SEDAT KAPANOGLU 1991":WINDOW 2,79,2,24:CLS:FOR N=1 TO 23:PRINT STRING$(78,2
07);:NEXT:INK 1,26:BORDER 16
25 GOSUB 5000
30 XSIZE=21:YSIZE=10:A$="ANA SECENEKLER":GOSUB 990
40 PRINT:PRINT" 1 DOSYA ACMA"
50 PRINT"
2 ARAMA/LISTELEME"