home *** CD-ROM | disk | FTP | other *** search
- u
- The 6502-RAMROM as drive expander
- Part 2
- ==============================
- i Wolfgang Moser and Nicolas Welte
-
- Now, with the patched ROMs, I was able
- to Flash other ROM banks without the
- need to switch back to the original
- CBM DOS 2.6 ROM (which worked
- flawlessly with all previous tests).
- Problems with the prototype another
- problem manifested when analyzing the
- [store-to-ROMk problem with the drive
- expansion 6502-RAMROM prototype What
- happens, when someone wants to flash
- the whole ROM, but the DD2 RAM
- configuration is selected?
-
- Because the DD2 RAM overlays the
- drive's address space from 0x8000 to
- 0x9FFF the Flash-ROM cannot be
- addressed there. Furthermore, DD2 went
- crazy, whenever the Flash enable
- switch was set. Nicolas detected the
- problem by carefully reviewing the
- 1541 GAL equations.
-
- The Flash option switch disables the
- overlaying RAM for write operations.
- Not a big task, because only the GAL
- needs to be replaced, I thought. First
- we decided to patch the floppy DOS ROM
- part of Dolphin-DOS 2.0. The ROM code
- should not access the 8kB RAM at the
- memory address location
- 0x8000...0x9FFF anymore, but at the
- addresses 0x6000...0x7FFF. That way no
- changes to the 6502-RAMROM would
- needed, because the RAMboard
- configuration could be used instead.
- And flashing the full 32kB ROM bank
- should become possible, too. But
- Nicolas reported, that the patched
- DD2-6 ROM didn't work, although other
- tests with the VICE emulator showed no
- problems. He found out, that there was
- a real hardware problem, that depends
- on the special address decoding
- behaviour of the CBM drive series (RAM
- and especially VIA locations mirrored
- at different addresses; IRQ flag
- handling). Since the PET and VIC20
- computers don't contain such mirrored
- device address spaces, this problem
- couldn't be detected with the
- PET/VIC20 6502-RAMROM prototypes.
-
- The Solution Nicolas worked out a
- solution, that needed the least
- possible changes to the PCB in
- combination with changed GAL
- equations. Without the GAL, this fix
- would have been a huge patch orgy.
- Unfortunately you have to redo the
- patch if you want to use the
- 6502-RAMROM in a VIC20 or PET again.
- Although not needed I installed some
- jumpers to easily configure the PCB
- for both options.
-
- In the meantime I tested flashing
- other Flash-ROMs with different sizes.
- I had an AT29C020 as spare and tested
- the bigger flashing page size. Reading
- out the ROM contents with the
- c't-Flasher at my PC again showed no
- differences. Note: you can't
- access/flash half of the banks of this
- ROM type without further hardware
- modifications. Then I tested an
- AT29C256 as a small replacement for my
- C64 Kernal switch board.
-
- [AT29C256 to 32 pin Flash-Adaptor,
- bottom view,
-
- [AT29C256 to 32 pin Flash-Adaptor,
- top view,
-
- Before I had to build a small Flash
- adaptor, because the 29C256 has got a
- different pinout (28 pins) than the
- standard 32 pin Flash ROM chips. I
- hacked Nicolas' Flash-ROM board a
- little bit by cutting some traces.
- Although the Flash-ROM PCB was not
- designed for this purpose it fitted my
- needs best (instead of building a
- cable wired adaptor).
-
- Flashing the 29C256 with the least
- possible page size brought me a very
- small kernal switch board in a few
- minutes; thanks to the well designed
- Flasher software , that is able to
- burn different parts of the ROM chip
- in several steps (by selecting a start
- address of 0x8000, 0xA000, 0xC000 or
- 0xE000).
-
- 6502-RAMROM final release test report
- from Womo, 2003-02-16 Retesting
- different flashing scenarios to check,
- that the problems with Dolphin-DOS
- were gone After I got the new changed
- GALs I repeated all the earlier tests:
- Flashing the original CBM DOS V2.6
- into bank 0 Selecting bank 0 and
- flashing the patched SpeedDOS 40
- tracks ROM into bank 1 Selecting bank
- 1 and flashing the original
- Dolphin-DOS 2.0 ROM into bank 2.
- Because of the applied SpeedDOS ROM
- patch, the Flash procedure went
- flawlessly.
-
- Selecting bank 2, configuring the DD2
- RAM configuration and flashing the
- patched Dolphin-DOS-2.0-6 ROM (RAM a
- location 0x6000 to 0x7FFF) into bank
- 3. No problems with that and it shows,
- that you can now Flash the ROM
- locations from 0xA000 to 0xFFFF, when
- the original Dolphin-DOS 2.0 is
- enabled. But don't try to Flash the
- ROM location at 0x8000. Because it is
- used by DD2's RAM, the drive may
- become stubborn.
-
- Selecting bank 3, configuring the
- RAM-Board configuration and flashing
- the Dolphin-DOS 3.0 ROM into bank 0.
- With the patched DD2-6 ROM the full
- ROM bank (0x8000 to 0xFFFF) could be
- flashed without any problem, thanks to
- the hardware modification and the new
- GAL. After preparing some matching C64
- Kernal ROMs [AT29C256 to C64
- Kernaladaptor, top view,
-
- [AT29C256 to C64 Kernaladaptor,
- bottom view,]
-
- I started testing the burned SpeedDOS
- and Dolphin-DOS versions. As mentioned
- earlier the patched SpeedDOS and also
- the original Dolphin-DOS ROM worked
- without problems. I also tested some
- special Dolphin-DOS copy programs
- (Dolphin-Copy) without problems. The
- patched Dolphin-DOS-2.0-6 (RAM at
- 0x6000) is another task, with this
- ROM, the Dolphin-Copy program doesn't
- work, because the RAM location seems
- to be hardcoded into the copy tool. I
- also tested Dolphin-DOS 3.0, which
- worked fine with the exception that it
- was nearly as slow as the original CBM
- DOS.
-
- No wonder, because DD3 makes use of an
- extra parallel port chip (6821 PIA)
- within the drive. It cannot
- communicate over the standard parallel
- port cable connected to the VIA 6522,
- therefore it has to use the slow
- serial bus transfer routines.
-
- The future and some ideas Until now,
- mainly the ROM part of the 6502-RAMROM
- was tested, in the future I'll have to
- look at the RAM configurations,
- especially in some applications for
- the maxRam-Mode. Perhaps Markus
- Brenner wants to jump in here and
- extends his Burstnibbler based
- transfer tool [mnibk , so that much
- more sophisticated copy protections
- can be dumped to G64 disk images. I
- already started analyzing the
- Dolphin-DOS 3.0 DOS ROM looking for
- all the parallel port accesses to the
- 6821 PIA. Maybe I'm able to patch it,
- so that it makes use of the VIA 6522
- parallel port.
-
- This way people may use Dolphin-DOS
- 3.0 without hardware hacking; that
- means adding an additional 6821 PIA
- into the floppy. I should take my
- 1571 floppy drive sometime and test it
- with the 6502-RAMROM, too.
-
- There are other floppy speeders,
- especially designed for this drive.
- Not only to mention Dolphin-DOS 3.0
- for the 1571, but especially
- Prospeed-1571. With this drive, the
- maxRam mode of the 6502-RAMROM cannot
- be used, it would overlay the 1571's
- CIA and the registers of the WD177x
- controller.
-
- It may be interesting what could
- happen, if the maxRam mode is used
- nevertheless. Not enough, there are
- more problems with the Commodore 1571
- disk drive.
-
- Since there is incredibly little space
- between the mainboard and the
- transformer assembled over it, I
- currently don't know, how to insert
- the 6502-RAMROM into the 1571 drive
- best. One solution may be to connect
- the board with some flat cable to the
- processor socket. As for the parallel
- cable connector (1571 Burstnibbler
- cable compatible) I already built
- another lowest profile adaptor.
-
- [Inserted 1571 low profileparallel
- cable adaptor,
-
- [Space upon 1571 low profile parallel
- cable adaptor,
-
- [1571 low profile parallel cable
- adaptor, top view,
-
- [1571 low profile parallel cable
- adaptor, bottom view,
-
- Conclusion and application scenarios
- Speeder system [emulatork[Emulatingk
- different DOS ROMs and simple speeder
- systems like Jiffy-DOS, SpeedDOS or
- Dolphin-DOS is the playfield of the
- 6502-RAMROM, when inserted into
- Commdore's disk drives. You only need
- to add a simple parallel cable for
- some of these systems.
-
- Atmel Flash device programmer
-
- In combination with a patched
- Dolphin-DOS (DD2-6) , this hardware
- extends your floppy disk drive to a
- full blown high speed Atmel Flash
- device programmer. You will never need
- to handle with EPROMs and EPROM
- burners again. There is no need
- anymore for transfering the ROM files
- slowly to the computer memory before
- they can be written to the EPROM. The
- well designed flasher software makes
- your life even simpler.
-
- Maybe you want to replace your system
- ROMs with DD2-6, which requires some
- little hardware modification (using
- address line A14 for switching the
- upper and lower part of the DD2 ROM at
- 0xA000/0xE000); this way you can flash
- the whole chip. Nicolas is also
- working on more functions, like
- programmable bank switching about
- unused VIA/CIA port lines.
-
- Maybe not only Dolphin-DOS-2.0-6 can
- speed up the Flash process a little
- bit, but other drive speeders like
- Jiffy-DOS, too. Because of the special
- designed In-System-Flash software, the
- whole process is not really slow on a
- 1541 drive equipped with a standard
- CBM DOS (35 seconds for 32kB).
-
- So you don't need to install a speeder
- system or ROM in any case, instead it
- is an option. And Nicolas said, the
- Flash software contains some potential
- for speedups with the 1541 drive.
- Let's wait, test and see...
-
- RAM (only) expander (1541/1571
- RAMBoard) and RAM diagnostic
- moduleMore applications of this board
- may rely on the RAM option only, you
- could save some money by not making
- use of the Flash-ROM chip. Copy
- software like the well known tool
- series Maverick already know how to
- use a RAMBoard equipped drive which
- the 6502-RAMROM can easily be
- configured to [emulatek.
-
- Perhaps Michael Klein (cbm4linux or
- other people may want to develop
- special software, that makes use of a
- maxRAM equipped disk drive (nearly
- 32kB of RAM usable). Not to mention
- the RAM diagnostic functionality that
- replaces the drive's builtin RAM by
- the one from the 6502-RAMROM.
-
- Things, the 6502-RAMROM can't do
- easily Because the hardware was mainly
- designed for universality and
- simplicity, it is not a general
- speeder system hardware emulator.
- Systems like Dolphin-DOS 3.0,
- Professional-DOS or Prologic-DOS
- cannot be used without further
- extensions or ROM patches. This
- purpose may be the job of another
- hardware extension board, one of the
- projects I am currently working on.
-
- Taken from the website
- http://d81.de/6502RamRom/
-
- i Wolfgang Moser and Nicolas Welte Re
- printed with owners consent Notes From
- Wolfgang Moser on the project
- ====================================
-
- Email: -Wolfgang Moser
-
- in general I agree about reprinting
- parts of my online article, if
- authorship is made clear and the
- origin of this article is named.
- Spelling corrections may be done. Then
- the article sometimes contains
- outdated informations, like e.g.:
-
- "Nicolas is also working on more
- functions, like programmable bank
- switching about unused VIA/CIA port
- lines."
-
- Nicolas is currently not working on
- extensions to the 6502-RamRom, it
- perfectly does its job as it is.
-
- Since Nicolas also may want to agree
- to reprint my article or because he
- wants to point out other things, he
- got a Bcc copy of this mail.
-
- Commodore Free I received no email
- from Nicolas but decided to print the
- article
-
-
- ...end...
-
-