tags:

views:

369

answers:

6

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 :-)

A: 

Most of the code I had from the Atari ST was in GFA-Basic, I wouldn't want to touch those dusty floppies.

Osama ALASSIRY
A: 

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.

johnbr
A: 

Copy&paste as the core development strategy makes me very, very sad.

User
A: 

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.
SumoRunner
A: 

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.

Steve Rowe
+1  A: 

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 mys anywhere in it...

R. Bemrose