What ancient, old school code do you still have kicking around?
-
20-08-2019 - |
Question
Having been bored out of my brains the last few days off work sick, I decided to try and dig up some old code. I could find some binary versions of some ancient Atari ST stuff I wrote, but I couldn't find any source. I did manage to dredge up an old ModeX library I wrote in ASM many moons ago from an archive of the legendary old x2ftp site:
http://ftp.lanet.lv/ftp/mirror/x2ftp/msdos
Blast from the past :-)
; Actually Sticks Us Into ModeX - With 240 Scanlines Per Page
; Set The Variable LSCAN To The Virtual Scanline Length You Want
; Trashes AX, CX, DX, DS, SI
; Shouldn't Matter Though As This Should Be The First Thing You Call!
Set_X_240 PROC
Call Set_Graph ; Set Mode 13h
mov dx, Seq_Port
mov ax, 00604h ; Index 4 (Memory Mode Reg.) In AL
; Bit 3 = Chain 4
out dx, ax ; Kill Chain 4 Mode
mov ax, 00100h ; Index 0 (Reset Reg.) In AL
out dx, ax ; Reset Syncronous (At End Of Cycle)
dec dx ; Change Port
dec dx ; To Misc. S--t Port :)
mov al, 11100011b
out dx, al ; Sets 480 Line Mode, 25Mhz Dot Clock
inc dx ; Change Port
inc dx ; Back To Sequencer Port
mov ax, 00300h
out dx, ax ; Restart Controller
mov dx, Crtc_Port
mov al, 011h
out dx, al ; Select Index 11h (Vert.Retrace End)
inc dx ; Data Port
in al, dx ; Read In Current Bit Mask
and al, 07Fh ; 01111111 - Clear Top Bit (Write Protect)
out dx, al ; Un-Write Protect Index 0-7 Of CRTC Reg.
dec dx ; Restore Port To Index
mov ax, seg CRTC_Data_240 ; Address Of Our CRTC Data
mov ds, ax
mov si, offset CRTC_Data_240
mov cx, LCRTC_Data_240 ; Length Of Data
repz outsw ; Chuck It At The Port
mov ax, lscan
shr ax, 3 ; Number Of Words Per Scan Line
mov ah, al ; Into AH
mov al, 013h ; Port Index 013h - Logical Screen Width
out dx, ax
mov NScan, 240
Call Set_Pages
ret
Set_X_240 ENDP
Anyone else want to make themselves look old and post some old school code? :-) It's a shame I don't have any of my 68000 ASM stuff still, although I probably wouldn't even recognise it now!
Ahh.. memories :-)
Solution
I have a MUD I wrote and maintained during college, back in 1990-1993. All C. It was a derivation of Diku MUD called SillyMUD, and it was my pride and joy at the time.
You can still find the code on the Intertubes, here and there.
OTHER TIPS
Have a boatload of old Atari 8-bit BASIC and Atari ST stuff from way back (I still have the ST, but it's not networked so I hardly ever use it).
I once typed in most of the games from David Ahl's "BASIC Computer Games: Microcomputer Edition", porting them to both the 8-bit and ST BASIC.
I am half-tempted to port those old games to Processing/Arduino, for old-school kicks.
Some absolutely terrible Perl code I wrote in 1998 is still in use on a certain website...
By terrible, I mean no use strict;
, no my
s anywhere in it...
Most of the code I had from the Atari ST was in GFA-Basic, I wouldn't want to touch those dusty floppies.
We have a test harness that was orginally written to run on Windows 3.1. While the veneer has been updated a lot, the guts are still the same. It still has some far/long pointer terminology in the core.
from an old EISPACK Fortran routine:
C THIS SUBROUTINE IS A TRANSLATION OF THE ALGOL PROCEDURE ELMHES, C NUM. MATH. 12, 349-368(1968) BY MARTIN AND WILKINSON. C HANDBOOK FOR AUTO. COMP., VOL.II-LINEAR ALGEBRA, 339-358(1971). C C GIVEN A REAL GENERAL MATRIX, THIS SUBROUTINE C REDUCES A SUBMATRIX SITUATED IN ROWS AND COLUMNS C LOW THROUGH HIGH TO UPPER HESSENBERG FORM BY C STABILIZED ELEMENTARY SIMILARITY TRANSFORMATIONS. ... C QUESTIONS AND COMMENTS SHOULD BE DIRECTED TO BURTON S. GARBOW, C MATHEMATICS AND COMPUTER SCIENCE DIV, ARGONNE NATIONAL LABORATORY C C THIS VERSION DATED AUGUST 1983.
Copy&paste as the core development strategy makes me very, very sad.