[Coco] CoCo 512K EEPROM+External Controller Walkthrough (Final)

Chad H chadbh74 at hotmail.com
Fri Nov 20 21:56:08 EST 2015


P.S.  As far as prices for the current boards I'm looking at the following numbers right now ...

$25.00 - 512K Cartridge board (Includes 1 x 29F040 or 28SF040, programming)
$25.00 - External Controller (Include 3ft cable, Blue backlit 16 x 2 character LCD, programming)
 $4.00 - FT-232 MicroUSB (includes 1.5 foot MicroUSB cable and adapter for between the FT-232 and controller)

** Shipping is free to the 48 continental U.S. states.

For those who would want one of the Cartridge boards WITHOUT the external interface (No connector or IC's), I will discount $10 down to $15.00 for the board.  This will be a jumper-only board.   The parts could always be installed at a later time.

To be honest, I'm not particularly excited with these prices.  $50 bucks for this setup sounds a little pricy to me when I try to put my foot in the other shoe so to speak.  However, with cost of the PCB's, parts and time spent with assembly it seems more reasonable.  If there develops a significant demand for these I will do a medium run with OSHpark to get the PCB prices lower.  I'm also starting to source more and more of the IC's and components from china wholesalers. A year ago I ordered a spool of 5000 x 1K ohm SMD resistors for $12.00 thinking it was cheap, why not, even though I would never use them all.  Now, I'm finding more and more need for them with projects like this and buying in bulk becoming more appealing.

For those that are big hardware tinkerers themselves, particularly those that are good with soldering/SMD rework, I could sell blank boards at cost (+shipping) and provide bill of materials to build them out yourselves.  We in this community all have different talents, ideas and desired and I'm all about having as many options as possible with new hardware/software.  I'm certainly willing to provide such options where practical.

- Chad H
http://sites.google.com/site/cbhlab101/

-----Original Message-----
From: Coco [mailto:coco-bounces at maltedmedia.com] On Behalf Of Chad H
Sent: Friday, November 20, 2015 8:31 PM
To: 'Ron'
Cc: 'CoCoList for Color Computer Enthusiasts'
Subject: Re: [Coco] CoCo 512K EEPROM+External Controller Walkthrough (Final)

Thanks.   While I understand what you are getting at, off the top of my head I'm not sure how I would proceed with that.  Hardware speaking, the remote controller is already capable of monitoring SCS line triggers.  The sketch I made only uses about 25% roughly of the available 32K flash space on the Atmega 328 microcontroller, so there is plenty of room for users to customize their software to add features and/or change behaviors.  The .BIN loader code that is attached to the beginning of each 8K section of .BIN files triggers the SCS line at the  end of each 8K so that the next 8K can be loaded.  I will paste that source code below.  I suppose someone a lot more clever than I could do some assembly coding and special coding on the Arduino controller side to perform more advanced switching functions like you are speaking about.  The key would of course be making the software on both ends able to communicate the intent of the required action when the SCS line is triggered.   I can imagine special Arduino code for a specific program or mult-program combination (multi-cart) that might allow 2 programs to work together, though I'm not sure how one would make this into a 'universal' code.   If there are other lines on the cartridge bus that would need to be monitored then hardware changes would need to be made to allow that.  Neither the EEPROM cartridge board nor the external controller is reading/writing CPU registors, CoCo memory locations, etc.  With the existing hardware configuration, I doubt that functionality would be possible.


.BIN loader code used in my Multi-Bank Builder Tool ...

; Code contributed by William Astle - Thank you very much!

	*.BIN single/multisegment bootloader for ROM Pak
SEGCNT	equ 0
	org $C000
	LDX #PAYLOAD	; point to start of binary payload
	CLR SEGCNT	; initialize the segment counter
NEXTBLK	BSR FETCH	; get a byte
	BNE POST	; br if postamble
	BSR FETCH	; fetch MSB of length
	TFR B,A		; put it somewhere useful
	BSR FETCH	; fetch LSB of length
	TFR D,Y		; save length counter
	BSR FETCH	; fetch MSB of address
	TFR B,A		; save it
	BSR FETCH	; fetch LSB of address
	TFR D,U		; put it in a pointer
NBYTE	BSR FETCH	; fetch data byte
	STB ,U+		; save it at destination
	LEAY -1,Y	; done block?
	BNE NBYTE	; brif not
	BRA NEXTBLK	; go handle next "amble"
POST	BSR FETCH	; eat unneeded length
	BSR FETCH
	BSR FETCH	; get MSB of exec address
	TFR B,A		; save it
	BSR FETCH	; get LSB of exec address
	TFR D,X		; put it in a pointer
	JMP ,X		; transfer control to it
FETCH	CMPX #$DFFF	; end of block?
	BLO FETCH1	; brif not
	LDX #PAYLOAD	; reset to start of payload area
	INC SEGCNT	; bump segment number
FETCH0	LDB $FF40	; trigger segment flip
	LDB $DFFF	; get segment that's loaded
	CMPB SEGCNT	; does it match?
	BNE FETCH0	; brif not
FETCH1	LDB ,X+		; fetch byte
	RTS
PAYLOAD	FCB 255



- Chad H
http://sites.google.com/site/cbhlab101/


-----Original Message-----
From: Ron [mailto:ron at kdomain.org] 
Sent: Friday, November 20, 2015 8:12 PM
To: Chad H
Subject: re: [Coco] CoCo 512K EEPROM+External Controller Walkthrough (Final)

Hi Chad,

I've been watching your progress with this and really enjoyed the recent video you posted.  I am interested in purchasing one of these, however, I would like the programmer (FT-232) as well.

What would the entire assembled package cost?

One other question (and please excuse my ignorance as I'm not very knowledgeable about hardware design) but would there ever be the possibility of evolving this project into some sort of "virtual" MPI?  
The ability to use features of 2 different carts at the same time (i.e. 
like a DISK ROM and something else)?

Thanks so much for your time.

-Ron





-----
No virus found in this message.
Checked by AVG - www.avg.com
Version: 2016.0.7227 / Virus Database: 4460/11030 - Release Date: 11/19/15


-- 
Coco mailing list
Coco at maltedmedia.com
https://pairlist5.pair.net/mailman/listinfo/coco

-----
No virus found in this message.
Checked by AVG - www.avg.com
Version: 2016.0.7227 / Virus Database: 4460/11037 - Release Date: 11/20/15



More information about the Coco mailing list