Ste*_*ins 6 assembly 68000 legacy-code
最近几天因为工作生病而厌倦了我的大脑,我决定尝试挖掘一些旧代码.我可以找到一些我写过的古代Atari ST的二进制版本,但我找不到任何来源.我确实设法挖掘了一个旧的ModeX库,这个库是我在很久以前从传奇的旧x2ftp站点的存档中编写的.
http://ftp.lanet.lv/ftp/mirror/x2ftp/msdos
爆炸从过去:-)
; 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
Run Code Online (Sandbox Code Playgroud)
还有其他人想让自己看起来老了并张贴一些旧的学校代码吗?:-)很遗憾我没有任何68000 ASM的东西,尽管我现在甚至都不认识它!
啊......回忆:-)
我有一个 MUD,是我在 1990-1993 年大学期间编写和维护的。都是C。那是迪酷MUD的一个衍生品,叫SillyMUD,是我当时的骄傲和喜悦。
您仍然可以在 Intertubes 上到处找到该代码。