dirkwhoffmann / virtualc64

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

StarDOS Cartridge #414

Closed rossimariolee closed 5 years ago

rossimariolee commented 6 years ago

Is it possible to fully support the StarDOS cartridge in VirtualC64? (Including the button and the "_" command to start the commands) Thank you

StarDOS.zip Stardos_Reverse_preliminary.zip StarDOS_Manual.zip

Alessandro1970 commented 6 years ago

Hello, I'm not at home and I'm not behind the Mac to try the VirtualC64 but I think that the command "_" is perhaps used only in the first version while instead to start the menu you need to insert the following character: "£" I've never had this cartridge, let me know how fastload works: is it automatic or is there a command that replaces LOAD? Does the cartridge have buttons? Does it have a reset button?

untitled 2

mortinus commented 6 years ago

StarDOS cartridge, unfortunately, it does not work on HOXS and from what we read on LEMON64 gave a hard time to VICE for copying files and other... From the photo the button is noticed, but I do not know if it is a RESET ... stardos_pcb2

A classmate of mine had it but I do not remember any particular button, maybe it was just a reset. He copied files like a rocket ...

puleyo commented 6 years ago

Also interested in this cartridge, we hope it will be fully supported on VirtualC64 The manual is interesting

dada08ms commented 6 years ago

very interesting bye

DaitarnIII commented 6 years ago

Interesting for me too, I will follow the topic update messages via email!

UgoCaneFifone commented 6 years ago

All crazy about this STARDOS! hehehe Okay I'll follow you! This cartridge also interests me!

Alessandro1970 commented 6 years ago

On the original StarDOS cartridge, two databits are switched so if you read the EPROM it will look like garbage. This program switches those two bits so the code is readable again. After you have changed the code to your liking, run it through this program again to switch the bits and then you can burn the code to an EPROM and use it in the original StarDOS cartridge.

StarDOSfix.exe (C) Magnus Starseth 2017

Usage: StarDOSfix

This program fixes the switched D1-D2 bits in the ROM. Run it again on the "decoded" file to make a file that can be programmed into a PROM and used in the StarDOS cartridge.

They switched places on the D1 and D2 data pins, probably as some form of obfuscation of the code. StarDOSfix.zip

Alessandro1970 commented 6 years ago

the stardos hardware is kindof perverted. it has two "registers", which are nothing more than the IO1 and/or IO2 line connected to a capacitor. the caps are then connected to a flipflop. now multiple reads of one of the "registers" charges a capacitor, which then when its charged enough causes the flipflop to switch. the output of the flipflop then controls the GAME line, ie it switches a rom bank at $8000 on or off.

the original stardos code reads either $de61 or $dfa1 256 times in a loop
to succesfully switch.

the second rom bank contains a kernal replacement. the necessary select
signal comes from a clip that has to be installed inside of the c64.

Source: https://sourceforge.net/p/vice-emu/code/HEAD/tree/trunk/vice/src/c64/cart/stardos.c

Alessandro1970 commented 6 years ago

stardos-v1-4-decoded.zip

stardosprg.zip

http://www.andrew.cmu.edu/user/dave64/Commodore/StarDOS/

This is what I found on the web

Alessandro1970 commented 6 years ago

Here is the wiring diagram, the button is a reset button. Reading the manual the commands are clear and practical, excellent cartridge. stardos_dwg

DaitarnIII commented 6 years ago

There are the cartridge handling for StarDOS cart:

1) https://sourceforge.net/p/vice-emu/code/HEAD/tree/trunk/vice/src/c64/cart/stardos.c

2) https://sourceforge.net/p/vice-emu/code/HEAD/tree/trunk/vice/src/c64/cart/stardos.h

Harlock70 commented 6 years ago

I will be very happy for this enhancement, thanks.

dirkwhoffmann commented 6 years ago

Unfortunately, I have to set the priority to low. The cartridges's hardware is so unusual that it's not compatible with the current software architecture.

UgoCaneFifone commented 6 years ago

... is there any hope of being able to use this cartridge?

mortinus commented 5 years ago

Good morning, Excuse me, maybe I missed some passages, but why was this issue closed? All in all, the StarDOS is an excellent cartridge and would be positive if the VirtualC64 could support it. Is there a chance to reopen this ISSUE?

Alessandro1970 commented 5 years ago

kwak-pauwel-8-34l

mortinus commented 5 years ago

Thanks, I like this cartridge.

... what beer is that? Wonderfully bestial the mug!

Alessandro1970 commented 5 years ago

...great beer from Belgium

In the 18th century there was a very well-known brewer in the Dendermonde area; his name was Pauwel Kwak. He brewed his own beer, which was dark and heavy. He also has had a coaching inn on the road between Mechelen and Gent, where the mail coaches used to stop for a break.

In those days, the Napoleonic Code ruled that coach drivers were forbidden to drink beer with their passengers and so they were not allowed to leave the coach to quench their thirst. Pauwel Kwak invented an efficient solution to this problem by offering the famous Kwak beer in a special glass that could be fixed to the carriage, so the drivers could also enjoy one.

This story inspired a brewer from nearby Buggenhout and since the 1980s the Pauwel Kwak is brewed by Brouwerij Bosteels, which also produces the popular Tripel Karmeliet and the DeuS Brut des Flandres.

mortinus commented 5 years ago

...Napoleonic code... :rofl: :rofl: :rofl:

I will try to drink it!

mortinus commented 5 years ago

found it !!!

It is easy to buy in Auchan, a very good beer with a wonderful color. Thank you I find it much nicer and more pleasant than my favorite St Denise

Thanks again for the suggestion, excellent with French fries... :grin:

mortinus commented 5 years ago

There are also the StarDOS handling file of the VICE version to peek into too...

stardos.c https://sourceforge.net/p/vice-emu/code/HEAD/tree/trunk/vice/src/c64/cart/stardos.c

stardos.h https://sourceforge.net/p/vice-emu/code/HEAD/tree/trunk/vice/src/c64/cart/stardos.h

dirkwhoffmann commented 5 years ago

I looked at the details again. This cartridge is so weird internally that it's really not worth the effort. E.g., according to the schematics, address line A13 is fed into a multiplexer and is then mapped to the Exrom line. To emulate this properly, the expansion port would have to emulated for alle memory accesses and not only for those in the cartridge address range (if I understand the schematics correctly). This would slow down the emulator even if no StarDos cartridge is attached. Therefore, I think it's better to live without it. As Alessandro already pointed out, ActionReplay 7.5 is a brilliant alternative.

dirkwhoffmann commented 5 years ago

I've reopened it, because I don't like giving up on things.

dirkwhoffmann commented 5 years ago
bildschirmfoto 2018-11-11 um 11 10 34

There is no real underscore on a C64 keyboard (just a graphics symbol that looks like an underscore). Which key do they mean??? Does anybody know how to type a pound sign in VICE? (I don't find a suitable key, at least not on a German keyboard).

Alessandro1970 commented 5 years ago

...the underscore was a print error, already found it.

Alessandro1970 commented 5 years ago

The only way to use VICESC on mac is to use the VICESC SDL it has a virtual keyboard (F12 and find it in the menu): schermata 2018-11-11 alle 14 13 56

schermata 2018-11-11 alle 14 13 23

dirkwhoffmann commented 5 years ago

The current build (3.2 alpha 2) at

http://www.dirkwhoffmann.de/virtualc64/VirtualC64_ActionPower.zip

contains experimental support for StarDos:

bildschirmfoto 2018-11-11 um 16 49 37

However, there seem to be some remaining bugs. I.e., FileCopy and DiskCopy don't seem to work. I tried to run cartridge in VICE, but I don't get the SDL version running on my machine.

When I start x64sc (SDL version), the app closes immediately after launching. Do I need to install some additional SDL stuff? 🤔 All I need is a pound key 😫.

Alessandro1970 commented 5 years ago

Have you get the sdl library for osx ? https://www.libsdl.org/

dirkwhoffmann commented 5 years ago

"Have you get the sdl library for osx ?"

No 🙄. OK, I should have read the manual ...

I got the SDL framework now and copied it in /Library/Frameworks. Now, VICE is running (without any menus though 😳). Anyway, I managed to load StarDos with the F12 menu and it's up and running. "File copy" looks as follows in VICE:

bildschirmfoto 2018-11-11 um 18 06 25

The bad thing: I have no idea what to do next, i.e., copying a file (I know the manual could help ...). The good thing: It looks the same in VirtualC64, so there is a real chance that StarDos is working (😎) ...

dirkwhoffmann commented 5 years ago

OK, here is the manual:

bildschirmfoto 2018-11-11 um 18 41 46

Hitting 'R' results in:

bildschirmfoto 2018-11-11 um 18 36 03

Using 'C', one can indeed copy single files to another disk:

bildschirmfoto 2018-11-11 um 18 53 47

😀

Alessandro1970 commented 5 years ago

It works fine, great job.

The freeze button should be disabled, the Stardos cartridge has only the reset button.

dada08ms commented 5 years ago

StarDOS works fine ! Thank you

UgoCaneFifone commented 5 years ago

WoooooW ! STARDOS works fine !!!

Thanks