Jump to content
Sign in to follow this  
PaultheRoman

Where can I download vcs.h & macro.h?

Recommended Posts

They can be found in the DASM source download. From the DASM project page, go to Files, and download the source for the version you are looking for. In the source distribution, those files can be found under machines->atari2600.

  • Like 1

Share this post


Link to post
Share on other sites

There's a vcs.h with a permissive license floating around somewhere, I think SvOlli knows where. macro.h on the other hand I can't say, but there's not terribly much in there

Share this post


Link to post
Share on other sites

It was part of my IRC backlog even:

 

11:19 < tjoppen> I feel like a new vcs.h with a good license may be in order
12:34 < SvOlli> tjoppen: you might want to check the vcs.inc from my releases. Also comes with a lot of nice infos like what bits are used, what the bits in NUSIZx do, etc.
12:36 < tjoppen> sounsd nice
12:37 < tjoppen> I just keep tabbing back and forth between stella.pdf
12:37 < SvOlli> http://xayax.net/2k_is_no_limit/2kisnolimit.7z
12:37 < SvOlli> for example, contains vcs.inc

You all should drop by in #vcsdev on IRCnet btw

Share this post


Link to post
Share on other sites

For convenience here's the link to the DASM SVN folder that contains macro.h and vcs.h.

 

https://sourceforge.net/p/dasm-dillon/code/HEAD/tree/trunk/machines/atari2600/

 

I recommend you to look this thread: D.K. VCS Source

 

It contain all the .h files. And more.

The D.K. VCS source does not contain the original macro.h anymore. Some of its functions are available in libvcs.asm.

libvcs.asm mostly is focused on fast prototyping. Generating a minimal kernel with it can look like this:

 

; ********************************************************************
;
;  libvcs.asm Demo
;
;  Andreas Dietrich 10/3/2018
;
; ********************************************************************

                PROCESSOR 6502

        	INCLUDE vcs.h
		INCLUDE libvcs.asm

                ORG ROMStart

; ********************************************************************
	
Start:		RESET			; initialize RAM and registers

; --------------------------------------------------------------------

VSync:          VERTICAL_SYNC		; produce sync signal and set timer
 
; --------------------------------------------------------------------

VBlank:		lda     INTIM		; wait for end of vblank area
                bne     VBlank

; --------------------------------------------------------------------

Kernel:         sta     WSYNC		; wait for next line
                sta     VBLANK		; and turn off vblank (A=0)

                ldy     #192		; draw colored lines
DisplayLoop:	sty     WSYNC
                sty     COLUBK
                dey
                bne     DisplayLoop

; --------------------------------------------------------------------

Overscan:       OVERSCAN		; overscan on, clear channels, set timer

OverscanEnd:    lda     INTIM		; wait for end of overscan
        	bne     OverscanEnd
                jmp     VSync

; ********************************************************************

ROMStart = $F000
ROMSize  = $0800

                ORG ROMStart + ROMSize - 3*2
        
NMI:            WORD    ROMStart
Reset:          WORD    ROMStart
IRQ:            WORD    ROMStart

Unfortunately, libvcs is poorly documented. Some day when I find the time, I'll make some tutorials.

 

LibVCSDemo.bin

LibVCSDemo.zip

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...
Sign in to follow this  

  • Recently Browsing   0 members

    No registered users viewing this page.

×
×
  • Create New...