Jump to content
IGNORED

Ultimate1MB


candle

Recommended Posts

Hi Candle-

 

Very, very nice. Will this allow the SDX pass-through (type) cartridge control features that an original SDX cart has?

 

(For instance, if one takes an original SDX cart (or Flash version) and places the SDX cart and a regular cart such as Atari Basic, etc. on a cartridge extender, the Atari will not boot. If you try to boot the SDX cart and then insert the 2nd cart in the cart extender, the Atari will instantly lock up. However, if you "stack" the 2nd cart on top of the SDX cart, then the pass-through functions and most non-game carts will work fine.)

 

Thanks,

Larry

Link to comment
Share on other sites

Should have asked earlier... will it have a mode where you can just run traditional banking with independant CPU/Antic access (and of course, less extended RAM as a result) ?

I don't know if this 130XE feature is important but IMHO everything goes against RAM standardization is bad.

So, if possible, programmers should try to keep maximum compatibility, now with 64KB machines, in the future with 320KB machines (thanks to the upcoming external memory expansion).

Edited by Philsan
Link to comment
Share on other sites

i once designed +256kb memory expansion that was antic mode compatible

outcome was that some demos and games that required more than additional 64k didn't work properly, thus the question arise - is this really a nessesity?

but as i said before its completly possible

Link to comment
Share on other sites

I'd say forget ANTIC mode and get the hardware out there as fast as possible! icon_smile.gif

 

Seriously, ANTIC mode would have been a VERY useful feature outside of games if RAMdisks had been written to properly cooperate with it. As it stands, it's not something that can be usefully employed in applications using DOS unless every RAMdisk handler is re-written to recognize when the display RAM is held in extended memory. I see limited gains to be had from designing in ANTIC mode compatibility: it's surely just another switch or jumper we don't need. Not being a big games player, however, I may be overlooking something. After all, I don't miss artifacting on my modified machines...

 

If one purpose of this upgrade is simple installation and lack of ambiguity and multiple standards for the end user to worry about, extra operating modes may simply complicate things.

Edited by flashjazzcat
Link to comment
Share on other sites

Hello guys

 

It's not that hard to incorporate separate ANTIC and CPU banking into a memory expansion. Adding a switch shouldn't be that hard either. Without separate ANTIC and CPU banking, it would be possible to address 2MB using just $D301, with, you can only address 1MB. Is there any software that will support 2MB at the moment?

 

There is only one standard at the moment and that one was invented by Atari when they created the 130XE, all others are kludges. There are upgrades that: can't use 4 bit combinations since the corresponding RAMbanks are in main memory, use ANTIC access independantly from the CPU but only with half the numbers of banks, use BASIC with half the numbers of banks, don't give ANTIC access to extended memory, give ANTIC access to extended banks when the CPU has access to the extended banks. And there are probably even more types of upgrades.

 

Detecting with banks can be used is not that hard. It can be done in a jiffy.

 

Software that does not test which bits of memory are used is never compatible to every memory upgrade, new or old. No testing means it will work with one and only one type of memory upgrade.

 

greetings

 

Mathy (who has proven that you don't need to loose separate ANTIC and CPU access, software control over BASIC, OS ROM/RAM, the selftest or even Missile Command (on the XEGS) and can still have 1MB on an upgrade that still only uses the standard address ($D301))

Link to comment
Share on other sites

Hi Jon

 

.... extra operating modes may simply complicate things.

 

If that is what you want, why choose an upgrade that has:

 

it contains 512k flash chip that stores SpartaDos X (448kB for SDX) and up to 4 system roms

it is compatible with 1200XL/XL/XE in any version and XEGS systems

it also has RTC onboard for use with SDX, as i've used SPI bus part an SPI host is embaded in CPLD logic onboard

 

IIRC Lotharek offers a much simpler memory upgrades that also has 1MB.

 

greetings

 

Mathy

Link to comment
Share on other sites

Gary - it would require of yet another wire to solder, but it is possible

question is if its desirable

 

I like soldering wires and I would prefer an 64KB extended memory ANTIC compatible mode for the few demos that require it.

I don't thing there is software that requires more than 64KB in ANTIC compatible mode so that would be OK. But the CompyShop 256 extended memory ANTIC compatible mode would be nice since that extension was fairly popular as well.

 

Isn't it possible to make it so that in the default installation, it is just 1MB mode and if you solder a switch and extra wires, you have a switchable ANTIC compatible mode?

 

Robert

Edited by rdemming
Link to comment
Share on other sites

We don't have a standard RAM size nor a standard RAM mode.

Standardization is a word unknown in A8 word... icon_frown.gif

The result... only few programs use more than 64KB.

Since there are so few programs that use more than 64K wouldn't it make sense to TRY to create a new standard and than adapt those few programs to work with the new standard?

 

Allan

  • Like 1
Link to comment
Share on other sites

It would be hard for extended RAM detection software to establish the existence of ANTIC mode. If the bits of PORTB have unspecified and ambiguous meanings depending on the configuration of the upgrade, software will have a hard time detecting it. What would be really nice, now we're talking about it, is for an upgrade to map onto some hardware or ROM locations with a banking table which software could search for and pick up. One of the reasons SDX is so wonderful is that it kindly provides application programmers with a complete table of all the banks on the system. Imagine a system where a program could look somewhere and say "Aha! This Atari is fitted with a 256K ANTIC mode compatible RAM upgrade!" Kind of like looking for VBXE, I suppose, and older or unaware programs would be free to ignore it.

Edited by flashjazzcat
Link to comment
Share on other sites

It would be hard for extended RAM detection software to establish the existence of ANTIC mode.

Not at all :-)

 

Just setup two different playfields (for example a single blank pixel and a set pixel) in standard and extended RAM, then place a player over the pixel and check the collision register.

 

so long,

 

Hias

Link to comment
Share on other sites

Not at all :-)

 

Just setup two different playfields (for example a single blank pixel and a set pixel) in standard and extended RAM, then place a player over the pixel and check the collision register.

Well, I can say for certain that it would have been hard for Flash's algorithm detection routines to detect that method. :)

Link to comment
Share on other sites

here is example code for handling SPI communications with DS1305 RTC, just for illustration - might be desired if someone would like to write drivers for other DOS'es as well

 

;----------------------------------------------------
;SPI input/output (Ultimate1MB)
; Candle'O'Sin
;----------------------------------------------------

;----------------------------------------------------
; Lables
SPI_IO	equ	0xD5FF
SPI_CS	equ	0xD5FE

;----------------------------------------------------
;SPI_DOut - SPI Data Out - sends a byte through SPI
; interface
; accu - byte to send
SPI_DOut:	sta	SPI_IO
	nop	; wait 2 cycles
	rts	; and 6 more - 8 cycles total
;----------------------------------------------------

;----------------------------------------------------
;SPI_DIn - SPI Data In - receives a byte through SPI
; interface
; accu - received byte
SPI_DIn:	sta	SPI_IO	; dummy write, to start 
			; SPI clock
	nop
	nop
	nop
	nop		; wait 8 cycles
	lda	SPI_IO	; read received byte
	rts
;----------------------------------------------------

;----------------------------------------------------
;SPI_RTCS - SPI RTC Select - selects SPI device (RTC)
; accu - select (1) or unselect (0)
SPI_RTCS:	sta	SPI_CS
	rts
;----------------------------------------------------

;----------------------------------------------------
;RTC read time example

;----------------------------------------------------
;RTC_GetTime - reads secods, minutes and hours from DS1305
RTC_GetTime:	lda	#1
	jsr	SPI_RTCS	; enable RTC
	lda	#0		; start from address 0
	jsr	SPI_DOut	; write address byte
	jsr	SPI_DIn		; get the seconds
	sta	Seconds
	jsr	SPI_DIn		; get the minutes
	sta	Minutes
	jsr	SPI_DIn		; and finally hours
	sta	Hours
	lda	#0
	jsr	SPI_RTCS	; disable RTC
	rts
Seconds		.byte	0
Minutes		.byte	0
Hours		.byte	0
;----------------------------------------------------

spi.zip

Link to comment
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.
Note: Your post will require moderator approval before it will be visible.

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...
  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...