[stella] Introducing ..... Da Vinci, taking the 2600 to the next level

Subject: [stella] Introducing ..... Da Vinci, taking the 2600 to the next level
From: mickey_m@xxxxxxxxx
Date: Thu, 30 Jan 2003 06:56:13 +0000
Ok guys, I have been working on this cart since Oct. and almost ready for
the tester circuit boards to be printed.  The board design is done, but I 
have just a couple software bugs and a couple hardware bugs to work out 
before I commit to board printing.  I think I have listed all the features
currently supported, I will update list if I find something missing.  Please
give feedback good and bad, features that are missing that would be helpful,
and features that are just dumb.  Pictures of proto hardware and software
screen shots to come in the next couple days.  This wont be coming out next
week, there is still a lot to do, bootloaders, manuals, labels, exhaustive
testing by someone with a large cart collection, parts to order .....  But
it shouldnt be too long.

I call this cart

		Da Vinci

	- Serial Port for PC
		Bulk data transfers are done to and from PC with the Xmodem 
                or Xmodem CRC protocols at 19200 baud, for more reliable
		data transfers.  Serial Port also offers a power connection
                for those that wish to design hardware to work with the
                Da Vinci, see below.
	-Operating System Independent
		All basic functions are supported via graphical ANSI terminal
		emulation. Just use any of the many terminal programs
                (including the crappy hyperterminal) that support ANSI and
                the Xmodem protocol.  More advanced tasks can be accomplished
                through third party interface, see below.

	- 64K SRAM
		Allows all game types to be emulated.  Only the current game 
                is placed in SRAM.  Multi carts were not figured into the
                design of the Da Vinci because the Da Vinci is a multi cart.
	- 2MB Removable Smart Media Flash Card
		A cartridge for your cartridge.  Allows for an infinite
                storage capacity for every cart ever made.  Have a card for
                development and a card for your game library.

	- All Bankswitching supported except Pitfall II and starpath, but may
		be possible with future expansion, see below.
	- Cart Cloning
		Simply plug a cart into the Da Vinci via supplied card edge
		connector cable and press button on Da Vinci.  You now have 
                a VCS playable copy of the game, and a copy on Flash Card if
	- Cart Dump to bin
		Auto bankswitching detecting allows a stella compatible bin
                to be transferred to attached PC.
	- Cart Dump to vin
		A Da Vinci style bin will be downloaded to attached PC.
                Basically the same as a bin file just with a header that
                contains cart info.
	- bin to SRAM
		Play any valid bin as if you had the actual cart.
	- vin to SRAM
		Just a little easier to use, no bankswitching settings and
                cart names needed to be entered, they are included in the file.
	- SRAM to PC
		A Bulk dump of the SRAM allows developers to see how their
		software is effecting RAM if bankswitching allows.
	- Write or Read Single Bytes from Cart or SRAM.
	- Write Cart to Flash Card
	- Write SRAM to Flash Card
	- Read Flash Card to SRAM
	- View and Edit Hex Editor
		The on board software provides a basic hex editor for quick
                code changes in SRAM or view code on cart.
	- Software Adjustable Timing Model
		Because VCS clocks tend to not be at all consistent, a
                software adjustable value for address delay and data delay 
                are provided to make bankswitching as flexible as possible.
	- Supplied with the cart will be a power cord, serial cable and a
		card edge to card edge connector to allow a cart to be
		attached to Da Vinci for read, write, dump, etc.
Third Party Features
	A software interface is supported that can be used in place of the
        ANSI graphical interface.  The protocol allows for third parties to
        easily write software that can perform the functions the Da Vinci
        already provides, or write new more complex functions.  For example,
        the file system manipulation of the Flash Card is only rudimentarily
        supported through the Da Vinci.  Simple write file, read file, delete
        file, list files are supported.  Through the third party interface a
        piece of software could be easily written to do a full back up of the
        Flash Card, or to rearrange the files in alphabetical order on Flash
        Card, or to integrate the Da Vinci with a software development tool.
	These added function are accessed easily through the serial port of
        the Da Vinci.  Simple commands can be sent and the Da Vinci will
        reply accordingly.
	Available Functions:
		- Directory of Flash Card
		- Write/Read File to Flash Card
		- Delete File from Flash Card
		- Initialize Flash Card
		- Read/Write Cart Byte
		- Read/Write SRAM Byte
		- Set Automatic Loading of File From Flash Card (default
                        game to load when the Da Vinci is powered up)
		- Set Bankswitching Type of Current File Loaded in SRAM
		- Change VCS Timing value
		- Raw Dump Cart
		- Raw Dump SRAM
		- Detect Cart Bankswitching type
	Combine these with power available through serial port and a third
        party could create for example a LCD display so you could select a
	game from the Flash Card to be loaded and played from SRAM (removing
        the need to be near a PC to swap games).

Features In-progress:
	- Downloadable upgrades to microcontroller firmware, no special
                hardware will be required.  If software upgrade is needed,
                simply download software then upload it to the Da Vinci.
                Instant access to bug fixes and new features.
	- Downloadable upgrades to CPLD(the bankswitcher), no special hardware
		required.  Instant fixes and feature upgrades.
	- A special bankswitching type so users could write software that
                allows game selection from Flash Card while in VCS.
	- Adding areas to circuit board for 2 chips that can be added later
                to allow Pitfall II and Starpath emulation.
Future Features:
	- Simple disassembler.
Archives (includes files) at http://www.biglist.com/lists/stella/archives/
Unsub & more at http://www.biglist.com/lists/stella/

Current Thread