dirkwhoffmann / virtualc64

VirtualC64 is a cycle-accurate C64 emulator for macOS
https://dirkwhoffmann.github.io/virtualc64
Other
356 stars 33 forks source link

ISEPIC Cartridge #413

Closed rossimariolee closed 5 years ago

rossimariolee commented 6 years ago

Hello, is it possible to add the ISEPIC cartridge to those already supported by VirtualC64? Thank you

http://www.ar.c64.org/wiki/ISEPIC

mortinus commented 6 years ago

ISEPIC ... great cartridge. I hope Dirk can make both ISEPIC and STARDOS work on VIRTUALC64. This cartridge in those years possessed it in many people, but because I do not see a FREEZE button but I see a lever? ...what purpose does it serve ? img_0876_oc-500x500

Alessandro1970 commented 6 years ago

Marco van den Heuvel wrote: The isepic cart has a switch which controls if the registers and ram is mapped in. When the switch is switched away from the computer the cart is put in 'hidden' mode, where the registers, window and ram is not accessable. When the switch is switched towards the computer the cart is put in ultimax mode, with the registers mapped, and the current page being mapped into any unmapped ultimax memory space, it will also generate an NMI. Which activates the freezer.

I saw this cartridge but I never liked it: it does not work without the utility disk. In fact, after inserting the cartridge you have to load the software [LOAD "*", 8,1] then select the option and move the switch if necessary. There was no reset button that I remember. untitled 52 isepic_top

rossimariolee commented 5 years ago

Greetings, At this point is it possible to implement ISEPIC? The cartridge vanished at the end of 1985 but still sold 20,000 units around the world, mostly by word of mouth at local computer clubs and niche magazines

mortinus commented 5 years ago

...remember those 2 kB RAM, on the cartridge, that could be reprogrammed...

Alessandro1970 commented 5 years ago

Hi, dear C64 friends. You may need these: 1) Isepic Tool disk: https://csdb.dk/release/?id=63335 2) Isepic Cruncher: https://csdb.dk/release/?id=115512 3) Isepic Defroster: https://csdb.dk/release/?id=28949 4) Isepic File Copier: https://csdb.dk/release/?id=166336 5) Isepic Fixer: https://csdb.dk/release/?id=83189 6) Isepic Textboot Maker: https://csdb.dk/release/?id=86456 7) Isepic-Files-Changer: https://csdb.dk/release/?id=136476

UgoCaneFifone commented 5 years ago

Great! All downloaded !

UgoCaneFifone commented 5 years ago

ISEPIC Manual: https://ia800804.us.archive.org/25/items/Isepic_V1.0_Manual/Isepic_V1.0_Manual.pdf

DaitarnIII commented 5 years ago

I liked this cartridge

UgoCaneFifone commented 5 years ago

Help me, please ! I downloaded all the files you put on, but I can not find the .CRT file! Where is the ISEPIC cartridge file?

Alessandro1970 commented 5 years ago

UgoCaneFifone

I believe that it must be implemented, as for the time of EasyFlash; there is no CRT file.

dirkwhoffmann commented 5 years ago

Hmm, yes, interesting. It seems like there is no Rom on board. The software has to be loaded from the Isepic tools disk. But there are only 2KB Ram on board, so the Isepic "operation system" has to be very small. I hope that we're not completely on the wrong track here.

If there is really no Rom (hence no .crt file), we could add an option to the Cartridge menu:

Expansion -> Attach ISEPIC (just below Attach GEO/NEO Ram)

There must also be an option for the switch (which needs to be toggled manually a couple of times in the freezing procedure). Maybe, it would be nice to have an icon in the bottom bar which displays the current position of the switch and toggles it when pressed.

Alessandro1970 commented 5 years ago

Icon in the bottom bar, great

mortinus commented 5 years ago

These isepic drivers (language c) could help ?

isepic_source.zip

dirkwhoffmann commented 5 years ago

Does anybody know how to attach an ISEPIC cartridge in VICE (x64sc). I need to run the VICE debugger to compare the behaviour with my own solution (which is broken yet).

The ISEPIC cartridge is somewhat complicated to emulate, because it uses a very special "custom" memory mapping. Since there are no schematics of the cartridge, it's hard to tell which memory chuncks need to be blended in under certain circumstances. Reading the VICE source code does not really help here (too obfuscated) ...

Alessandro1970 commented 5 years ago

Hi, you have to download VICESDL version than use F12 to access the menu: 1) 1 2) 2 3) 3


isepic

dirkwhoffmann commented 5 years ago

I also came across the picture you posted, and it seems to be the only "schematic" available. I found out that the big chip is the 2KB Ram storage. The uppermost chip contains NOR gates and the chip left to the switch contains D flip-flops. The chips at the bottom are NAND gates with 8 inputs each.

One of the open questions I'm facing is how the NMI line is connected to the switch (pulling the switch towards the computer triggers an NMI). The NMI line is the left most pin at the other side of the board:

isepic

There are two possibilities which I cannot decide by looking at the available pictures:

1) The NMI line is hold down until the switch is pushed back. 2) The NMI line raises a short period time after pulling down (there are some capacitors and resistances which may do the job).

dirkwhoffmann commented 5 years ago

OK, I managed to mount an ISEPIC crt in VICE SDL.

Unfortunately, the SDL version does not support drag and drop, so I have to type LOAD "*",8 myself to load the ISEPIC software. I managed to type LOAD, but I'm stuck with '"'. Seems to be impossible on a German keyboard 🤔. The virtual keyboard in VICE doesn't show '"' either.

Do we really need this cartridge?

dirkwhoffmann commented 5 years ago

Just ordered an ISEPIC logic board. Will take some time to arrive though (shipped from Canada).

Alessandro1970 commented 5 years ago

I have read this: Expert Cartridge by the english company Trilogic came in the middle of 1986 relatively late to the european market but got into quite a success story due to its excellent software. Expert Cartridge is a RAM only cartridge carrying 8 kbyte of RAM which can be pre-programmed just like an ISEPIC.

http://rr.c64.org/wiki/Expert_Cartridge

dirkwhoffmann commented 5 years ago

"just like an ISEPIC". Cool, this might help a lot!!!

rossimariolee commented 5 years ago

...has the cartridge arrived from Canada ?

Bye

dirkwhoffmann commented 5 years ago

No ISEPIC from Canada yet. Still waiting.

dirkwhoffmann commented 5 years ago

Got it, but implementation will take some time. Busy with Amiga stuff ...

screenshot 2019-01-20 at 16 03 47
rossimariolee commented 5 years ago

Hi everyone, Is there any chance of having revision 3.4 with isepic and mach5 support ?

dirkwhoffmann commented 5 years ago

Not likely to come soon. Busy with Amiga stuff...

UgoCaneFifone commented 5 years ago

Hi everyone, but there would be some chance to use this ISEPIC, it's been a while ? ...please

bye

dirkwhoffmann commented 5 years ago

Ugo, why not switch to the Amiga? It comes with stunning 4096 colours, multiple independent DMA channels, two build-in co-processors and an incredibly fast, cutting-edge 68000 CPU running at unbelievable 7.2 MHz.

comm_006-m

😅

Alessandro1970 commented 5 years ago

🤣🤣🤣 🤪🤪🤪🤪 👏🏻👏🏻👏🏻

Alessandro1970 commented 5 years ago

Otherwise VirtualC64 when will reach version 3.4 will be the top!!!

shauladeneb commented 5 years ago

Wonderful, we are all waiting for this revision 3.4 to be able to try the Isepic and the Mach. We all hope that it is not too long to wait. Thank you. Bye

PakkunKinoppi commented 5 years ago

Hi, this is a great emulator for Mac! When will be completed the support for ISEPIC cart ?

dirkwhoffmann commented 5 years ago

Still busy working on vAmiga. The new emulator is so much fun at the moment I just can't stop working on it 🥳.

dirkwhoffmann commented 5 years ago

For fun, I started to reengineer the Isepic board. Although there are just a few simple ICs on the board, it turned out to be much more complicated than I thought. This is what I have so far:

isepic_schematics

It' incomplete and might be wrong in some details, too.

"...  to flip the ISEPIC switch away from the computer. This causes the ISEPIC 
cartridge to 'hide'."
dirkwhoffmann commented 5 years ago

Mapping of the on-board RAM (address bus A0 - A7):

schematics

Interestingly, A0 and A1 are swapped, but that's not important for emulation.

dirkwhoffmann commented 5 years ago

I think I got it right now.

With the latest code fixes, you can freeze a game as explained in the ISEPIC manual:

  1. Attach the ISEPIC cartridge
  2. Load the Isepic Starpoint Software Tooldisk:
Bildschirmfoto 2019-07-29 um 14 22 41
  1. Hit "P" to prepare a storage disk

  2. Export the disk to a D64 file

  3. Hit "C"

  4. Pull the switch to the left

Now, the C64 resets and you can do whatever you like, e.g., play BoulderDash.

  1. Pull the switch to the right to start the freezer
Bildschirmfoto 2019-07-29 um 14 15 36
  1. After freezing, export the disk to another D64 file.

  2. Quit the emulator and relaunch

  3. Insert the exported disk from the previous session. In my case, the disk looks like this:

Bildschirmfoto 2019-07-29 um 14 18 18
  1. LOAD "*",8,1

  2. When the ISEPIC menu comes up, hit "R" for Run

  3. Wait until loading is completed. It then shows:

Bildschirmfoto 2019-07-29 um 14 19 17
  1. Flip the switch and continue... 😎
Bildschirmfoto 2019-07-29 um 14 19 25
Alessandro1970 commented 5 years ago

Great! ...so the 3.4 release is near ?!

dirkwhoffmann commented 5 years ago

so the 3.4 release is near ?!

I'll integrate it in 3.3.3.

dirkwhoffmann commented 5 years ago

An ISEPIC capable VirtualC64 is here 😎:

http://www.dirkwhoffmann.de/virtualc64/VirtualC64_3.3.3b2.zip

Please reopen if you encounter any issues.

Haroldo64 commented 5 years ago

Thank You

rossimariolee commented 5 years ago

Thank you

PakkunKinoppi commented 5 years ago

Thank you ...but are there some problems with Mach 5 cartridge ? I have read the issue that it seemed to me that Mach 5 was a simpler cartridge than ISEPIC, it was common in Poland and it worked well with 1571 too.

dirkwhoffmann commented 5 years ago

...but are there some problems with Mach 5 cartridge ?

Mach 5 is yet to come. Since it requires a modification of the snapshot format (new cartridge), it has to be delayed to 3.4.

Depending on my time schedule, I can try to integrate it, skip 3.3.3, and go directly to 3.4.

Alessandro1970 commented 5 years ago

Hi

almost certainly revision 3.4 will be the best (for now)! This is very strange that everyone loves cartridges of all kinds but nobody has asked for the RetroReplay cartridge , in fact there are no interventions in that issue ???!!! Was this cartridge a clone of the Action Replay?

Alessandro1970 commented 5 years ago

Ah ok I have read that Retroreplay was the same of the Action Replay but these two differences:

"AR crashes when you read from dexx" What would it mean?