440488@UOTTAWA.BITNET (Doctor Who) (04/14/88)
Recently I was browsing thu an ST magazine, Reset to be specific and I noticed an ad for a product by Alpha Systems called Megadisk. It is one megabyte of ram that plugs into the cartridge port. But according to the infamous Abacus book ST Internals, (p96) writing to this address creates a bus error. They tried putting a ram disk in the port but without sucess. How did Alpha get around this so that the Megadisk would work with out creating bus errors? Doctor Who 440488@UOTTAWA.BITNET 'If Doctor Who #2 killed Doctor Who #4, would it be considered as suicide?'
hase@netmbx.UUCP (Hartmut Semken) (04/18/88)
In article <8804132155.AA23202@ucbvax.Berkeley.EDU> 440488@UOTTAWA.BITNET (Doctor Who) writes: > How did Alpha get around this so that the Megadisk would work with >out creating bus errors? It's easy: whenever you *read* the adress range from FC0000+ you actually *write* an adress to the adress bus, right? Now: read adress FC000+(A1) with (a1).b containig the data to be written. A simple PAL can write the Data into RAM. Works just fine as an I/O Port. I attached an IBM-PC hard disk controller (OMTI) to this I/O and use the interface for EC-BUS card as well. hase -- Hartmut Semken, Lupsteiner Weg 67, 1000 Berlin 37 (auf der Karte: links) hase@netmbx.UUCP I think, you may be right in what I think you're thinking. (Douglas Adams)
unpowell@csvax.liv.ac.uk (04/19/88)
In article <8804132155.AA23202@ucbvax.Berkeley.EDU>, 440488@UOTTAWA.BITNET (Doctor Who) writes: > > Recently I was browsing thu an ST magazine, Reset to be specific and I > noticed an ad for a product by Alpha Systems called Megadisk. It is one > megabyte of ram that plugs into the cartridge port. > But according to the infamous Abacus book ST Internals, (p96) writing > to this address creates a bus error. They tried putting a ram disk in > the port but without sucess. > > How did Alpha get around this so that the Megadisk would work with > out creating bus errors? > > Doctor Who Who knows? One Meg seems a little optomistic as the ST only has 128K of address space available for the cartridge port. Where will this extra memory go? Mark Powell ******************************************************************************** "...there's no success JANET unpowell@uk.ac.lis.csvax like failure and UUCP {backbone}!mcvax!ukc!mupsy!lis-cs!unpowell failure's no success ARPA unpowell%csvax.lis.ac.uk@nss.cs.ucl.ac.uk at all..." B.Dylan ********************************************************************************
wes@obie.UUCP (Barnacle Wes) (04/24/88)
In article <542@csvax.liv.ac.uk>, unpowell@csvax.liv.ac.uk writes: > In article <8804132155.AA23202@ucbvax.Berkeley.EDU>, 440488@UOTTAWA.BITNET (Doctor Who) writes: > > megabyte of ram that plugs into the cartridge port. > > But according to the infamous Abacus book ST Internals, (p96) writing > > to this address creates a bus error. They tried putting a ram disk in > > the port but without sucess. > > > > How did Alpha get around this so that the Megadisk would work with > > out creating bus errors? > > Who knows? One Meg seems a little optomistic as the ST only has > 128K of address space available for the cartridge port. Where will this > extra memory go? First, how to write to the cartridge port: You fake it by assigning one of the address lines as a read/write line. This, of course, halves the amount of memory you can put on it, but that's life. So, whenever you 'read' an address with the high-order address bit set, that tells the logic on the cartridge to grab whats on the bus on the next 'data' cycle and write it to the location specified by the low-order 16 bits of the original address, or some such rot. Second, how to address one meg of data in a ramdisk with only 128K (or 64K with read/write line) of address space: Simple. The Ramdisk doesn't work with addresses, it works with sectors. You send the ramdisk either a 'read sector' or a 'write sector' command, followed by 512 bytes (or whatever your 'sector' size is) of data. You'd probably need a 1-sector buffer on the ramdisk in addition to the memory used for the disk emulator. This would be pretty easy to do as an embedded application with an HD64180 cpu, or something like that. Wes Peters P.S. - Don't ask me the particulars of the interfaces, those are hardware problems. Call an engineer. -- /\ - "Against Stupidity, - {backbones}! /\/\ . /\ - The Gods Themselves - utah-cs!utah-gr! / \/ \/\/ \ - Contend in Vain." - uplherc!sp7040! / U i n T e c h \ - Schiller - obie!wes
hase@netmbx.UUCP (Hartmut Semken) (04/27/88)
In article <542@csvax.liv.ac.uk> unpowell@csvax.liv.ac.uk writes: >> But according to the infamous Abacus book ST Internals, (p96) writing >> to this address creates a bus error. They tried putting a ram disk in >> the port but without sucess. WRITING to the adresses of the rom port does not generate a DTACK respose and ends in a bus error. READING is possible, of course. >> >> How did Alpha get around this so that the Megadisk would work with >> out creating bus errors? Simple. READ the port and let a littlie GAL take the lower byte of the adress bus out to the world (RAM or port or write only memory or the like). > Who knows? One Meg seems a little optomistic as the ST only has >128K of address space available for the cartridge port. Where will this >extra memory go? It's a RAMDisk. The idea is the same as with the EMS boards for PCs: a little window is "currently" accessed and this window is sliding over the Meg, or two or... hase -- Hartmut Semken, Lupsteiner Weg 67, 1000 Berlin 37 hase@netmbx.UUCP I think, you may be right in what I think you're thinking. (Douglas Adams)