Jump to content
IGNORED

OSS cartridges


candle

Recommended Posts

Not that I know of.

 

4 banks includes the "fixed" one that appears at $B000-BFFF. Newer banking scheme gives 4 bank options = 3 banks to $A000 segment plus "switched off" option.

 

Plus, aren't ROMs always singular or paired up same-sized chips, so size always = a power of 2.

Link to comment
Share on other sites

i would not know

4 banks would be 27256 eprom chip, but all i see is 16k images that do work as intended - i wanted to pile them up on SDX build and try to make them swichable as they would be separate carts on SDX cart slot

i've build once small configurable cart having 512 of flash rom and 512k of ram, and since its cpld based i can implement any bank switching i want with it

i've already did XEGS super cart, SDX cart and MaxFlash 8mbit cart (with upper 512k mapped on ram chip), now i'm experimenting with pass-through feature that original SDX cart has

Link to comment
Share on other sites

well

how about simulated pass through SDX cart that has 4 OSS cars inside?

under SDX "CAR" command turns selected OSS cart on, and POKE $D5C0,n select n cart (n=0 -> Action!, n=1 Basic XL, n=2 -> Basic XE and finally n=3 -> MAC/65)

 

28% of CPLD resources were taken by this, so there is plenty of space for really complicated banking schemes

 

and here is the code for it

 

RD4_Int<='0';

WR0<=NOT (PHI2 AND NOT RW);
WR1<=NOT (PHI2 AND NOT RW);
RD<=NOT (PHI2 AND RW);
CLK<=NOT CCTL AND PHI2;

ROM<=NOT (NOT S5 AND ENABLED);
CS0<='1';

ROM_Mapper:				process (SDX_REG,OSS_REG,EXTERN)
begin
	if EXTERN='1' then
		AB(5)<='1';
		AB(4 downto 2)<=CAR_TYPE;
		AB(1)<=OSS_REG(1);
		AB(0)<=OSS_REG(0);
	else
		AB(5)<='0';
		AB(4)<='0';
		AB(3)<=not SDX_REG(4);
		AB(2)<=not SDX_REG(2);
		AB(1)<=not SDX_REG(1);
		AB(0)<=not SDX_REG(0);
	end if;
end process;

CAR_TYPE_Register:	process (clk, A_Bus,DataIN)
begin
	if A_Bus(7 downto 5)="110" and RW='0' and falling_edge(clk) then
		CAR_TYPE<=DataIN(2 downto 0);
	end if;
end process;

SDX_Register:			process (clk, A_Bus)
begin
	if A_Bus(7 downto 5)="111" and RW='0' and falling_edge(clk) then
			SDX_REG<=A_Bus(4 downto 0);
		end if;
end process;

SDX_Mux:					process (SDX_REG,S4,S5,RD4_Int,RD5_Int)
begin
	if	SDX_REG(3)='1' and SDX_REG(2)='1' then					-- "11" - SDX Off, Ext Off
		S4_Int<='1';
		S5_Int<='1';
		RD4<='1';
		RD5<='1';
		EXTERN<='0';
		ENABLED<='0';
	elsif SDX_REG(3)='1' and SDX_REG(2)='0' then				-- "10" - SDX Off, Ext On
		S4_Int<=S4;
		S5_Int<=S5;
		RD4<=RD4_Int;
		RD5<=RD5_Int;
		EXTERN<='1';
		ENABLED<='1';
	else																	-- "01" or "00" - SDX On, Ext Off
		S4_Int<='1';
		S5_Int<='1';
		RD4<='0';
		RD5<='1';
		EXTERN<='0';
		ENABLED<='1';
	end if;
end process;

OSS_Register:			process (clk, A_Bus)
begin
	if A_Bus(7 downto 5)="000" and RW='0' and falling_edge(clk) then
			OSS_REG(1)<=A_Bus(3);
			OSS_REG(0)<=A_Bus(0);
		end if;
end process;

OSS_Enable:				process (OSS_REG)
begin
	if OSS_REG="10" then
		RD5_Int<='0';
	else
		RD5_Int<='1';
	end if;

end process;

 

currently, only Bob1200xl has this cart, and there are only few in existence, but hey - its a nice toy ;)

Link to comment
Share on other sites

Sounds cool. Is this to be some new flashcart or is it planned for building into your 1 meg RAM expansion?

 

Another thing - I've already hacked Mac-65, albeit not too elegantly, to work as a RAM-based app using VBXE banking.

No reason why all the OSS stuff couldn't be hacked to use a singular scheme if it helped out at all.

Link to comment
Share on other sites

it was quick project i did almost a year ago, just in responce to "corina" design - its cheaper and more versalie, yet noone seems interested ;)

SDX plus OSS carts would be cool.

 

Off Topic: would Turbo BASIC XL+compiler+linker+some DOS (MyDOS, BEWEDOS) ever be a possibility?

 

- Steve Sheppard

Link to comment
Share on other sites

Have no clue Steve, was it in form of cartridge? Can You make one? i'm not an 6502 coder, so i would not cope with such task, but most probably someone here would be capable od making it possible

Nir Dary created images for a XEGS cart version of Turbo BASIC XL and compiler. Linker was not included. I think the linker is something that was hacked together by someone else, but it works, and would be a nice addition as would some on cart DOS.

 

I'm not sure if the cart was switchable or standard XEGS cart.

 

My 6502 coding skills are pretty limited as well but I'm thinking that expanding the above cart is probably more a of coding task than of hardware.

 

- Steve Sheppard

Link to comment
Share on other sites

  • 4 months later...

 I've been playing a while with Candle's all-in-one cartridge, which was announced above. It's really great and very flexible !  :thumbsup:

 

I have enhanced the internal logic of CPLD and now it provides four cartridge "slots":

 

  1. SpartaDOS X 128kB (upgradable)
  2. 4xOSS cartridges (Action, Basic XL, Basic XE, Mac/65)
  3. Maxflash 1MB (flashable)
  4. Diamond GOS

Note that each "slot" uses a different banking scheme. The cartidge roms don't need to be patched because the logic mimics the original banking.

 

SDX controls all the stuff. To run one of the "virtual" cartridges, you just put its number to control register and then issue "CAR" from SDX command line. Under OSS cartidges you can return to SDX with "DOS" command.

 

Maxflash slot can be programmed with .BIN files prepared for the regular MF1 cartidges. I had to prepare a customized version of DLT flasher for the purpose, because the flashing utility from Atarimax does not operate on the virtual cartidge (differences in hardware).    

 

Diamond GOS slot has been done just for testing. I'm considering replacing it with another Maxflash 1MB slot.

Link to comment
Share on other sites

I've been playing a while with Candle's all-in-one cartridge, which was announced above. It's really great and very flexible ! icon_thumbsup.gif

 

I have enhanced the internal logic of CPLD and now it provides four cartridge "slots":

 

  1. SpartaDOS X 128kB (upgradable)
  2. 4xOSS cartridges (Action, Basic XL, Basic XE, Mac/65)
  3. Maxflash 1MB (flashable)
  4. Diamond GOS

Note that each "slot" uses a different banking scheme. The cartidge roms don't need to be patched because the logic mimics the original banking.

 

SDX controls all the stuff. To run one of the "virtual" cartridges, you just put its number to control register and then issue "CAR" from SDX command line. Under OSS cartidges you can return to SDX with "DOS" command.

 

Maxflash slot can be programmed with .BIN files prepared for the regular MF1 cartidges. I had to prepare a customized version of DLT flasher for the purpose, because the flashing utility from Atarimax does not operate on the virtual cartidge (differences in hardware).

 

Diamond GOS slot has been done just for testing. I'm considering replacing it with another Maxflash 1MB slot.

 

 

Sounds awesome - any chance this will be released?

 

 

I'd be interested in this too. icon_smile.gif

Link to comment
Share on other sites

this one won't go into production unless at least 25 units can't be sold - and this was blocking point for over a year now, so i'm not that convinced

for 8mbit version with 512kbytes of internal RAM and 72cell cpld (Trub's unit has 36 cells) estimate would be $37, but as i said - this requires at least 25 orders

then again - in what form it should sell? this is reprogrammable - configuration can be changed (so it would behave as stock SDX cart one day, and stock Corina or MAXFLASH next day), flash chips can be reprogrammed

with this one anyone can have cart tailored to his needs, but it requires fairly high level of knowledge

 

what this baby needs is a little bit of care from developers side

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...