Jump to content

Curt Vendel's Photo

Curt Vendel

Member Since 23 Apr 2001
OFFLINE Last Active Mar 21 2015 9:40 AM

#1578843 Donkey Kong source code

Posted by Curt Vendel on Sat Aug 30, 2008 3:31 PM

This came off of 2 sets of tapes marked Dyer, which is unusual as most tape backups are of all directories of a DEC system at Atari. So when an individuals directory is the only part of a backup, it usually meant that one of the programs got his directory backed up special. There was a lot more on his backup tapes.



Curt

Someone should show Landon this thread.

Allan




#1462757 ST Star Raiders Source Code

Posted by Curt Vendel on Sun Feb 10, 2008 10:45 PM

A good friend asked if I could post some ST game sources... I though everyone would enjoy this one in particular.



Curt

Attached Files




#1462634 Breakout 2000 Source Code

Posted by Curt Vendel on Sun Feb 10, 2008 6:24 PM

Source Code to Breakout 2000 - 2 parts...



Curt

Attached Files




#1462633 Cybermorph Sources

Posted by Curt Vendel on Sun Feb 10, 2008 6:22 PM

Source Code to Cybermorph...



Curt

Attached Files




#1461728 Checkered Flag Source Code

Posted by Curt Vendel on Sat Feb 9, 2008 11:11 AM

Here is the Source Code to Checkered Flag.



Curt

Attached Files




#1142496 FIdoNet...?

Posted by Curt Vendel on Fri Sep 22, 2006 8:45 AM

Fidonet was a Godsend when it came out, allowing you to locally call into your BBS and read email from all over the place, its a shame that ego's and fifetomes started to be created and only special "rings" would bring emails from priviledged selected BBS' That was the only bad thing that occured with Fidonet. I was actually trying to get fidonet running on my 8bit Atari 800 BBS for a while, but it was just too daunting a task to accomplish with my meger basic programming lanuage skills at the time :-)

I miss BBS'ing, it was a lot of fun :-)



Curt

I used Fido back in the days, but just as a point. There were several BBS here in Czech. I think 4 or 5 of them were running on Atari machines. My friend had BBS called JoyBBS running on Atari MEGA STE which was also a Fido node and I used it for sending and receiving mails.
For BBS access we used Connect and for mail combination of Semper and LED. I think you can find both on Atari ftp servers.
It was great time...




#1016291 ST cartridge slot?

Posted by Curt Vendel on Fri Feb 10, 2006 8:57 AM

Its a software package that turns the cartridge into a C: drive and boots from it, then the terminal comes up and you can use any of the serial ports to directly connect to a host or a modem...

It's quite useful as I use my ST with the cart as a terminal to access my DEC Vax mini-computers and its great to use to talk with various serial devices.



Curt

I Have an Atari VT-100 Terminal Emulator cartridge I use in that slot

View Post

It is interesting. How it works? Does it have its own serial port or is it software only? Can you post some info about it?

View Post




#1014761 ST cartridge slot?

Posted by Curt Vendel on Tue Feb 7, 2006 5:38 PM

I Have an Atari VT-100 Terminal Emulator cartridge I use in that slot and I have an Ethernec Networking interface that I use in that slot as well.


Curt


#956260 XL Translator Source...

Posted by Curt Vendel on Fri Oct 28, 2005 11:16 PM

TITLE 'The ATARI Translator ---------------------'
SUBTTL 'Program Identification and Revision History'
; ================================================================
;
; ATARI Translator
;
; Version 1
; September 20, 1983
;
; This auto-booting diskette installs an ATARI 800 Operating
; System (Revision B) in RAM "under" the ROM-based O.S. in
; an XL-line computer. It exists to allow consumers to run
; most 3rd party software which would otherwise fail to exe-
; cute on the XL computers due to "violations" of the rules
; for proper Operating System usage. It is NOT meant to en-
; courage continued disregard for the stated O.S. guidelines
; by independent software vendors.
;
; Once this disk has been loaded, the user is prompted to
; remove it and insert the application diskette (or cassette)
; and press the [SELECT] key. When this occurs the system
; undertakes a COLD START in the new, RAM-based O.S. envir-
; onment. For all intents and purposes, the machine should
; then look exactly like an ATARI 800 (with the few caveats
; outlined below) and the program should boot and run fine.
;
; In order to properly service a [RESET]-triggered WARM START,
; the RAM-based O.S. has been modified to continually "watch"
; the contents of the DOSINI vector. When/if the application
; sets this vector the O.S. saves the contents and steals it
; back so that it always points to some code which re-enables
; the soft O.S. upon [RESET]. A normal WARM START is then
; processed by the soft O.S. This [RESET] key handling only
; works for applications which do not themselves jump through
; DOSINI. Side 'B' of the TRANSLATOR diskette has been config-
; ured to allow programs of this class (ie. any which boot the
; 850 Interface Module) to run properly. However, in this case
; the [RESET] key will not reselect the RAM-based O.S.
;
; The Translator assumes the following conditions for proper
; operation:
;
; + 64K RAM system (ie. 600XL w/expansion module)
; + The application does not write to PORTB ($D301)
; + IRQs and NMIs are not permanently disabled by the
; application (or [RESET] may not function correctly)
; + On a 1450XLD, application is booted from SIO-based disk
; + Application does not alter locations $0160 thru $0170
; + Application does not expect RAM in 4K block at $C000
;
; By configuring the system as an ATARI 800, the application
; will not be able to take advantage of certain XL-specific
; features, such as function keys F1-F4, the HELP key, PBI
; peripheral devices, etc.
;
; MODS: Joe Miller Add graphics and code for [RESET] 83-09-15
; Greg Riker Original version 83-03-20
;
; ================================================================
SUBTTL 'Macro Definitions'
LIST I,-M

WATCH MACRO
%L LDA DOSINI+1 ;If DOSINI high byte has changed
CMP #high RAMLINK
BEQ ?X%K
STA SVDINI+1 ; Save new high byte
LDA #high RAMLINK
STA DOSINI+1 ; Replace w/WARM START trap address
;Endif
?X%K LDA DOSINI ;If DOSINI low byte has changed
CMP #low RAMLINK
BEQ ?Y%K
STA SVDINI ; Save application's low byte
LDA #low RAMLINK
STA DOSINI ; Restore WARM START trap address
?Y%K ;Endif
ENDM

PATCH MACRO DEST,SOURCE,COUNT
%L LDA #low %1 ;Copy 'COUNT' bytes from 'SOURCE' to 'DEST'
STA DEST
LDA #high %1
STA DEST+1
LDA #low %2
STA SOURCE
LDA #high %2
STA SOURCE+1
LDA #low %3
STA COUNT
LDY #0

?Z%K LDA (SOURCE),Y
STA (DEST),Y
INY
DEC COUNT
BNE ?Z%K

LDA #high %3
BEQ ?Q%K

INC SOURCE+1 ;NOTE: special case for O.S. copy
INC DEST+1
BNE ?Z%K
?Q%K
ENDM

ALIGN MACRO ;Page-aligned location counter
ORG [[high *]+1] shl 8
%L
ENDM

RESET SET *O ;Set conditional assembly parameter
INCLUDE D2:XLBOOT.ASM
INCLUDE D2:XLSCR1.ASM
INCLUDE D2:XLSCR2.ASM
INCLUDE D2:XLSCR3.ASM
INCLUDE D2:XLITES.ASM
SUBTTL 'Mainline'


; ------------------------------------------------------
; This is the TRANSLATOR mainline.
; It activates a textual prompt on the display and waits
; for the [SELECT] keypress. When [SELECT] is pressed,
; The XL O.S. is swapped out and the 400/800 Rev. B. O.S.
; is copied into RAM in its place. A few key patches are
; made to the RAM-based O.S. and WARM START recovery code
; is hidden in RAM at $CFxx. When this is done, a COLD
; START is invoked by the newly installed O.S.
; ------------------------------------------------------

ALIGN
SWAPOS LDA DLJMP ;Move display list 'JMP' address
STA DLJ ;Into zero page (for indirect STA)
LDA DLJMP+1
STA DLJ+1

LDA RAMSIZ
CMP #$C0
BCC TXTON ;If Cartridge (or BASIC) not present, then
LDX #low CRTLEN
LDA #0 ; Repeat
NOCART STA CARTIN,X ; Remove 'Cart. Present' message
DEX
BPL NOCART ; Until all characters removed
;Endif
TXTON LDA #1
STA TXTFLG ;Enable prompt message (via VBL)

SELECT LDA #8 ;Repeat
STA CONSOL ; Convention for reading CONSOL keys
LDA CONSOL ; Read CONSOL keys
AND #2
BNE SELECT ;Until [SELECT] pressed

LDA #0
STA SDMCTL ;Disable screen DMA
STA DMACTL
STA NMIEN ;Disable all interrupts
STA IRQEN

SEI
LDA PORTB ;Load current PORTB PIA status
AND #$FE ;Disable O.S. ROM (leave BASIC unchanged)
STA PORTB
PHA ;Hold that thought for a moment
EJECT

; Install REV B. O.S. Patches -------------------------

PATCH $D800,OSOBJ,$2800 ;Copy Rev B. O.S. into RAM
PATCH RAMSCAN,PC0CODE,PC0LEN ;Copy O.S. patches to page $Cx
PATCH $F26F,PATSIZ,3 ;SPECL ram sizing patch

IF RESET ;If [RESET] processing enabled, then

PATCH $E737,PATIRQ,3 ; Low-level IRQ watchdog patch
PATCH $E7AB,PATNMI,3 ; Immediate VBLANK watchdog patch
PATCH $F173,PATROJ,3 ; Post stack-clear 'trojan horse'
PATCH $F366,PATCLD,3 ; Single boot sector fix


; Repoint the JMP (DOSINI) to our vector --------------

LDA #low SVDINI ; New vector for disk-booted init
STA DINI+1
LDA #high SVDINI
STA DINI+2

ENDIF ;Endif


; Save a few XL-O.S. WARM START descriminator bytes ----

PLA ;Reload current PORTB PIA status
STA SVPORTB ;Save it for WARM START restoration

LDA GINTLK ;Save Cartridge interlock flags
STA SVINTLK
LDA CARTCK ;Save Cartridge checksum (if needed)
STA SVCRTCK

LDX #2 ;Save XL O.S. power-up test bytes
RECON LDA PUPBT1,X
STA SVPUCHK,X ;for WARM START power-up check in XL
DEX ;(these are restored in TROJAN)
BPL RECON


; Finally, startup the RAM-based O.S. -----------------

JMP COLDSV ;Invoke Rev. B O.S. COLD START
SUBTTL 'Patches and WARM START Linkage'

; These 5 lines are PATCHed into the O.S. -----------+
; |
PATIRQ JMP DSCAN1 ;IRQ 'DOSINI' monitor |
PATNMI JMP DSCAN2 ;NMI 'DOSINI' monitor |
PATROJ JMP TROJAN ;Hides routine in stack |
PATSIZ JMP SIZRAM ;Limits RAMSIZ to $C0 |
PATCLD JSR COLDIN ;Special-case 'DOSINI' chk |
; |
; They are the only run-time changes to the O.S. ----+


; The following code is 'safed' in RAM at $Cxxx ----------------+
; |
; v

PC0CODE
LOC RAMSCAN

; -------------- This code, in turn, is moved into the stack,
; where (hopefully) it will remain untouched by
; normal execution of the application. It is
; needed to reselect the RAM O.S. on [RESET] --+
STKCODE ; |
SEI ;Disallow interrupts for switchback |
LDA #$FE ;Reestablish access to data at $Cxxx |
STA PORTB ;By momentarily deselecting ROM O.S. |
LDA SVPORTB ;Load previously saved PORTB status |
STA PORTB ;Reconfigure memory/disable ROM O.S. |
JMP WARMSV ;Re-invoke WARM START --> |
STKLEN EQU * - STKCODE ; |
; |
; -------------- End of Stack Usage -------------------------+


; The 'trojan' instructions are executed just after memory
; is cleared after both a COLD or WARM start in the 800 O.S.
; It deposits the above routine in the stack and restores
; some key values needed by the XL O.S. to descriminate be-
; tween a WARM and COLD start upon the user pressing [RESET].

TROJAN PATCH RAMLINK,STKCODE,STKLEN
LDA SVINTLK ;Restore XL-O.S. control bytes
STA GINTLK
LDA SVCRTCK
STA CARTCK

LDX #2 ;Restore 'magic' power-up bytes
REWARM LDA SVPUCHK,X
STA PUPBT1,X
DEX
BPL REWARM

LDA #2 ;Complete 'patched' code
STA LMARGN
JMP $F177 ;Return to O.S. initialization code


; Storage area for key TRANSLATOR variables --------------------+
; |
SVDINI DS 2 ;Application's DOSINI saved here |
SVPORTB DS 1 ;COLD START PORTB status saved here |
SVINTLK DS 1 ;Cartridge interlock flag saved here |
SVCRTCK DS 1 ;Cartridge checksum saved here |
SVPUCHK DS 3 ;O.S. WARM START test bytes saved here |
; |
; The above bytes should not be touched by the application -----+


; This ensures the O.S. stops sizing RAM at $C000 ---------------

SIZRAM CLC ;Patch to O.S. RAM sizing code
ADC #$10
STA TRAMSZ
CMP #$C0 ;Stop scan at $C000
BCS SIZRTS
JMP $F25F
SIZRTS RTS


; These routines 'WATCH' for the application stealing the
; DOSINI vector. If that happens, the new value is saved
; at SVDINI and DOSINI is re-stuffed with a vector to the
; [RESET] recovery code hidden in page 1.

COLDIN WATCH ;Special case for 1 boot sector disks
JMP (SVDINI)


DSCAN1 STA IRQEN ;Low-level IRQ patch
WATCH
JMP $E73A

DSCAN2 WATCH ;VBLANK NMI patch
JMP (VVBLKI)


CPYRT DB 'Copyright 1983 ATARI, Inc.'
DB $02,$BB,$5A,$30,$5F,$EE,$3D,$A8,$20
DB $47,$50,$52,$26,$4A,$42,$4D,$33,$20

ORG *O
PC0LEN EQU * - PC0CODE
; ^
; |
; This ends the code stored in $Cxxx ---------------------------+

ALIGN

INCLUDE D2:OSB800.ASM

SUBTTL 'End --------------------------------------'
RAMEND
END RAMLOAD


#853727 ColecoVision P.O.P. Display Kiosk Update

Posted by Curt Vendel on Wed May 11, 2005 10:09 PM

Great acquisition doubledown!

Can you do me a favor, can you give me the side dimensions of the unit, specifically the base depth and the monitor side depth?

I built a custom Colecovision kiosk (actually 2, I have another unit about 80% finished in the garage) and I'd like to get more specific info, I just built my own based on a photo and just guessed at the dimensions:


Posted Image



How I built it:

http://www.atarimuse...olecokiosk.html



Curt


#268255 Grey boxes

Posted by Curt Vendel on Fri Apr 11, 2003 10:09 AM

While going thru my 2600 collection the other day, I have some (not many) games boxed with instructions. I happend to notice that one of the boxes, Realsports Volleyball, is in a grey box with no color at all on it;  sort of a black and white or mono box.

Is there a story on why it was released in a non-color box (like a cost cutting plan)? Are there other games that were released this way?

Just curious....

Mendon


Mendon,

That's called: "Hi, I'm a Tramiel, I'm sitting on a boatload of old stock, lemme sell it, but do it on the mega cheap, so non-colored boxes are printed up to package the old stock to sell to squeeze out additional revenue from every nook and cranny within the firms assets"


Curt


#1581 Is the 5200 such a "SUPER" System?

Posted by Curt Vendel on Thu Feb 7, 2002 7:19 PM

Lately I've had the opportunity to pick up the 5200's arch-nemesis the Colecovision and I've got a fair amount of titles and some interesting things:

Controllers:

Everyone bitches and moans about the 5200 controllers. Well the fire buttons are definitely bad, they should never have been so small or rubbery, bad choice.

The Coleco controllers don't seem to fair any better then the 5200's in comfort and the short stalk is not as comfortable to use as the 5200 joystick.

One thing that definitely is a major plus is the pause button the 5200 controller.

Now, the Colecovision did outnumber the 5200 in peripherals, certainly the Super Action Controllers were cool, the Driving Controller was great and a major missing item from Atari's periperhal lineup.

However while both Colecovision and the 5200 had trakball controllers, the Colecovision is a bit of a kludge to have to get going and a bit of a pain.

While the 5200 trakball simply plugged in and you were ready to go, the Coleco roller controller is a pain to have to connect into the coleco power supply, you had to plug the controllers into the ports inside the controller and locked in after messing with the cords a few times, then you connected it up to the console, phew..... how annoying is that?

Not lets talk games....

While Colecovision touted itself as bringing home The Arcade Experience, the arcade titles (with the exception of Donkey Kong, jr. and Zaxxon) are mostly forgotten, or lackluster titles and didn't have much in the way of graphics and sound. While many complained that the 5200 had just rehashed 2600 games, lets face it, Pac Man, Centipede, Defender and so forth rocked!!! Space Invaders lost a lot in the translation.... lets look at Star Raiders, Space Dungeon and others Whoa!!! These games were amazing.


Expansion

Hands down, the Colecovision ruled at Expansion, with its 2600 module and upgrade to the Coleco ADAM, Coleco put a lot of thought into where they wanted the Colecovision to go.

Atari's 5200 had an expansion connector, but it seemed more like a token gesture then a well thought out path for expansion. Instead of putting all of the lines of the cartridge port out to the expansion bus plus additional lines for video input/output and so forth, the port should've also been put on the side of the 5200 and then thin wedges could be added to the side of the 5200 keeping its lines and look. The 2600 adapter was an example of nonsense to package a whole 2600 into a plastic case and have it sticking out of the 5200 like that.

So while Colecovision was certainly from a marking standby really catching people's attention, in a real hands down, direct side by side comparision, the 5200 really is the SUPER of the two Systems.


So, lets hear others commments and personal views, feelings and stories.


Curt

The Atari Museum http://www.atarimuseum.com