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

Was it helpful?

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 mys 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.

Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top