PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Micro64 - Der detailgetreuste C64-Emulator


Rooter
2012-07-16, 00:18:15
Ein (fast) 1-Mann-Projekt vom Programmierer von Farbrauschs fr-051 Brotkästchen (http://pouet.net/prod.php?which=24547) Emulators. Schon 2008 im Forum64 angekündigt (http://www.forum64.de/wbb3/board2-c64-alles-rund-um-den-brotkasten/board107-sonstiges/board43-emulatoren/21608-micro64-der-c64-emulator/) gibt es jetzt endlich etwas zum downloaden und testen:
http://micro64.de/

Der Detailgrad der Emulation ist beeindruckend:

alle Komponenten zyklenexakt, teilweise sogar halbzyklenexakt
komplexe PAL Emulation über die GPU
1541 Emulation: Erstmals in einem C64-Emulator vollständige Emulation der Laufwerksmechanik inkl. Spindleanlauf-/Stopverhalten, Trägheit der Bauteile, PLL-Bitfehler bei ungültiger GCR-Codierung und NRZI-Codierung etc. Ähnlich wie bei WinUAE wird auch das Laufwerksgeräusch simuliert.

Auf der Homepage ist auch ein YouTube-Video eingebettet welches die PAL Emulation zeigt, hier kann man so ziemlich alles denkbare einstellen, sogar den Lochabstand und die Kissenentzerrung. :D

MfG
Rooter

labecula
2012-07-16, 17:07:28
Boah, als vom berechneten Bild mal abgesehen (was mit den enstprechenden Einstellungen wirklich aussieht,als würde man vor einem Röhrenfernseher sitzen - und ich meine dabei nicht künstlich erzeugte Scanlines) ist der emulierte und scheinbar wirklich auf Analog/digital basis berechnete Sound des SID der Hammer. Da kann kein anderer in Sachen Timing und Klang mithalten... Brachial... Wer Turrican2 oder Shades mit dem Ding mal über Kopfhöhrer hört, der merkt das das Teil wirklich mit dem Brotkasten mithalten kann. ICh hoffe das von dem Emu der SID-Player ausgekoppelt wird... Unbeschreiblich!

Rooter
2012-07-16, 21:02:11
Was auf jeden Fall noch überarbeitet gehört sind die Laufwerksgeräusche, z.B. wenn man während des Ladens die Disk entnimmt (Detach). Das klingt hier eher nach einem kleinen 3,5" Amiga-Laufwerk als nach dem harten Anschlagen der 1541. :D

MfG
Rooter

ShadowXX
2012-07-17, 00:09:19
Boah, als vom berechneten Bild mal abgesehen (was mit den enstprechenden Einstellungen wirklich aussieht,als würde man vor einem Röhrenfernseher sitzen - und ich meine dabei nicht künstlich erzeugte Scanlines)

Hast du da mal gute Parameter. Ich verhuntze die Darstellung meist mehr als das ich Sie Röhren-Like hinbekomme.


ist der emulierte und scheinbar wirklich auf Analog/digital basis berechnete Sound des SID der Hammer. Da kann kein anderer in Sachen Timing und Klang mithalten... Brachial... Wer Turrican2 oder Shades mit dem Ding mal über Kopfhöhrer hört, der merkt das das Teil wirklich mit dem Brotkasten mithalten kann. ICh hoffe das von dem Emu der SID-Player ausgekoppelt wird... Unbeschreiblich!
Aus welche Einstellung hat du den SID? Auf SINC?

piefke
2012-07-17, 00:12:42
Ich vermisse die Emulation einer Datasette? :(

Rooter
2012-07-17, 00:29:32
Ich vermisse die Emulation einer Datasette? :(:confused: Habe noch kein TAP geladen aber drück mal F9 für das Hauptmenü. Da gibt es doch "Datasette controlls..."

EDIT: Okay, .TAP scheint er nicht zu schlucken wenn man sie mit "Load..." auswählt. :-/

MfG
Rooter

ShadowXX
2012-07-17, 00:45:29
Das "offizielle" Tape-Format (aka das meistgenutze) ist aber auch t64 und nicht tap.
tap sind die Original-Sound-Aufnahmen eines Tape.

Ich wüsste jetzt auch keinen tieferen Grund tap anstatt t64 zu nutzen.

Es gibt in mrco64 ja auch die Datasetten-Settings...da bin ich aber noch nicht so durchgestiegen.

BeRo
2012-07-17, 08:41:08
Hallo :)

Ich bin der Entwickler von Micro64. Also Micro64 unterstützt nur TAP in der Datasette Emulation.

Also um eine TAP zu laden, lädt man diese normal mit dem LOAD Menüpunkt, und dann tippt man LOAD+<enter> auf dem BASIC Screen, und dann geht man wieder ins Menü, diesmal zu "Datasette Controls..." und dort dann Play.

T64s werden zwar auch von Micro64 unterstützt, aber diese werden zur Zeit noch on-the-fly intern zu Diskettenimages konvertiert und über die Diskettenlaufwerk Emulation geladen. Ich war/bin bisher einfach zu faul gewesen, einen internen on-the-fly T64 -> TAP Konverter zu implementieren.

Und den Weg über KERNAL ROM Patches inkl. Illegal-JAM-Opcode-Hooks in der Emulation für die T64 Images zu gehen, was einige andere C64 Emulatoren, sobald ein T64 Image geladen wird, aber tun, werde ich nicht gehen. Denn ein meiner Grundsätze bei Micro64 ist dass das KERNAL und das BASIC ROM ungepatcht bleiben und ich auch keine fiesen Illegal-JAM-Opcode-Hook-Hacks einsetze.

labecula
2012-07-17, 09:04:22
Hast du da mal gute Parameter. Ich verhuntze die Darstellung meist mehr als das ich Sie Röhren-Like hinbekomme.

Meine Parameter sind "zu dreckig" als das ich sie posten werde :-) Ich habe nun das Feeling wie damals auf meinem alten Campingfernseher, inkl. schlechtem Signal und matschigem Kissenbild mit schlehcter Eckenausleuchtung. Das mag für mich genau das 1985er Röhrenfeeling sein, wird dir aber sicherlich ganz und garnicht zusagen :-)
Und kein Witz, ich spiele sonst nie alte C-64 Games, weil die Bilder entweder zu pixelig waren oder zu künstlich,matschig. Jetzt sieht es auf meinem LCD aus wie damals auf meinem Fernseher und ich habe gestern recht lange Space Taxi gezockt. Ein herrliches Gefühl. Fehlt nur noch der Quickshot oder ein anderer C-64 Knüppel...

labecula
2012-07-17, 09:06:31
Hallo :)

Ich bin der Entwickler von Micro64. Also Micro64 unterstützt nur TAP in der Datasette Emulation.

Also um eine TAP zu laden, lädt man diese normal mit dem LOAD Menüpunkt, und dann tippt man LOAD+<enter> auf dem BASIC Screen, und dann geht man wieder ins Menü, diesmal zu "Datasette Controls..." und dort dann Play.

T64s werden zwar auch von Micro64 unterstützt, aber diese werden zur Zeit noch on-the-fly intern zu Diskettenimages konvertiert und über die Diskettenlaufwerk Emulation geladen. Ich war/bin bisher einfach zu faul gewesen, einen internen on-the-fly T64 -> TAP Konverter zu implementieren.

Und den Weg über KERNAL ROM Patches inkl. Illegal-JAM-Opcode-Hooks in der Emulation für die T64 Images zu gehen, was einige andere C64 Emulatoren, sobald ein T64 Image geladen wird, aber tun, werde ich nicht gehen. Denn ein meiner Grundsätze bei Micro64 ist dass das KERNAL und das BASIC ROM ungepatcht bleiben und ich auch keine fiesen Illegal-JAM-Opcode-Hook-Hacks einsetze.

Danke für die Erklärung! Im Übrigen wäre einige von uns sicherlich extrem dankbar, wenn Du den SID-Part in Zukunft auskoppeln und als separaten Player rausgeben könntest (Die GUIs drumherum können ja andere bauen :-) )

Insgesamt eine fantastische Arbeit, die uns alten C-64 Veteranen das Herz höher schlagen lässt. Mit soviel Herzblut sollten andere Coder auch mal an ihre Projekte herangehen. Gibt es eine ToDo Liste die uns den Weg für die Zukunft zeigen könnte?

Rooter
2012-07-17, 11:24:36
Hallo :)Hallo BeRo, willkommen im Forum! Wie hast du diesen Thread denn so schnell gefunden? ;)

Die Frage die dir vermutlich am meisten gestellt wird ist die einer Dokumentation der Tastenbelegung. Wäre echt super wenn du die zum Download packen könntest, muss ja nix hübsches sein, eine Quick'n'dirty Textdatei reicht völlig. Denn das Einzige was ich bisher gefunden habe ist das hier:
https://groups.google.com/forum/?fromgroups#!topic/micro64/u6gKfIAmxCQ

Und: Was hat es mit der SDL Version auf sich?

MfG
Rooter

thomas62
2012-07-17, 11:46:47
@Bero

vielleicht etwas seltsam !

Mal werde ich gefragt ob NORMAL oder FAST geladen werden soll. Und manchmal kommt diese Abfrage gar nicht.
Ich lade so LOAD":*",8,1 oder so LOAD"*",8,1:RUN

mfg

BeRo
2012-07-17, 13:42:22
Insgesamt eine fantastische Arbeit, die uns alten C-64 Veteranen das Herz höher schlagen lässt. Mit soviel Herzblut sollten andere Coder auch mal an ihre Projekte herangehen. Gibt es eine ToDo Liste die uns den Weg für die Zukunft zeigen könnte?

Es gibt keine wirkliche ToDo-Liste. Ich setze immer das um, was mir halt grad so in den Sinn kommt. :)

Hallo BeRo, willkommen im Forum! Wie hast du diesen Thread denn so schnell gefunden? ;)

Auf meinem Server ist Piwik, eine Google Analytics ähnliche aber server-lokale Webseitenstatstik Software, installiert. Also durch den Referrer beim HTTP Request durch einen Link zu micro64.de, den hier einer von euch angeklickt hat. :)


Die Frage die dir vermutlich am meisten gestellt wird ist die einer Dokumentation der Tastenbelegung. Wäre echt super wenn du die zum Download packen könntest, muss ja nix hübsches sein, eine Quick'n'dirty Textdatei reicht völlig. Denn das Einzige was ich bisher gefunden habe ist das hier:
https://groups.google.com/forum/?fromgroups#!topic/micro64/u6gKfIAmxCQ

Also die Tastaturbelegung ist zu Frodo fast ähnlich mit paar Abweichnungen. Also die C64-Tasten selbst sind positionstechnisch wie bei einer C64 Tastatur, wenn das System mit englischem Tastaturlayout läuft, wo Micro64 zumindest unter Windows automatlisch prozesslokal (also nicht systemweit) das Systemtastaturlayout auf englisch umstellt.


Und: Was hat es mit der SDL Version auf sich?

MfG
Rooter

Also SDL 1.2.x hat viele Bugs, und SDL 2.0, was viele Bugs weniger hat, ist noch nicht als stabil deklariert. Darum gibt es jeweils zwei Binaries, einmal als SDL 1.2.x Variante und einmal als SDL 2.0 Variante, bis SDL 2.0 vom SDL Entwicklungsteam als stabil deklariert wird.

Und bei der SDL 1.2.x Variante läuft der OpenGL Render Kram im gleichen einen UI-Thread, während bei der SDL 2.0 Variante der OpenGL Render Kram in einem extra getrennten Thread läuft, damit der nicht den UI-Thread bei der Abfrage der Eingabegeräte nicht stört, z.B. wenn VSync aktiviert ist, besonders bemerkbar ist es bei den Quarter und Half Timestep Einstellungen, wo die Eingabegeräte dann jede 5ms (200Hz) bzw. jede 10ms (100Hz) abgefragt werden als sonst üblich nur jede 20ms (50Hz) (= full frame timestep einstellung). Alle anderen aktuellen C64 Emulatoren fragen immer nur jede 20ms (50Hz) die Eingabegeräte ab. Sprich bei Micro64 kann der InputLag je nach Timestep Einstellung viel geringer sein als bei den anderen C64 Emulatoren. Wichtig ist nur dass dann man auch DoubleBuffering deaktiviert, denn sonst wäre es ja kontraproduktiv. :)

@Bero

vielleicht etwas seltsam !

Mal werde ich gefragt ob NORMAL oder FAST geladen werden soll. Und manchmal kommt diese Abfrage gar nicht.
Ich lade so LOAD":*",8,1 oder so LOAD"*",8,1:RUN

mfg

Das kommt nur wenn man Einzeldateien (z.B. aus einem Diskimage) direkt auswählt und laden möchte, also sprich bei * und :* nie. Am kompatibelsten ist die NORMAL Ladevariante, denn die FAST Ladevariante tut nicht immer, da diese über ProgramCodeMemoryInjection und CPU ProgramCounter Umbiegung funktioniert.

labecula
2012-07-17, 13:47:17
Vielleicht ist eine fehlende ToDo Liste das Beste was Du machst für Deine Arbeit. Ohne Zwang, nur das worauf und wann man etwas Bock hat! top!

Ach, btw: Auf meinen deutschen Windos hat Micro64 trotzdem Z und Y vertauscht :-)

Ach und nochwas: Wenn ich Fullscreen GPU nutze, dann habe ich einen Effekt, den ich im Video und auf Screenshots nicht sehe (und irgendwie finde auch die von mir gemachten Screenshots nicht). Und zwar scheint sich für jede Charzelle eijn kleiner Rand um selbige zubilden, so dass man so etwas wie ein unscheinabren karrierten Hinetrgrund hat. Ich würde es dir gerne zeigen, aber wie gesagt finde ich keine Screenshots. Schalte ich auf CPU oder CPU+GPU um, dann ist dieser Schattenwurf nicht mehr da (und leider auch nicht die Kissenverzerrung).

ShadowXX
2012-07-17, 13:57:07
Hallo :)

Auch von mir ein Hallo.

Könntest du vielleicht in kurz erklären was die Unterschiede in den SID work Level Einstellungen sind (also Fast, Nearest, Linear, Qubic, FastSINC und SINC)?

Ist SINC die beste Einstellung?

labecula
2012-07-17, 15:52:18
Das würde mich im Detai auch mal interessieren.

BeRo
2012-07-17, 18:59:24
Ach, btw: Auf meinen deutschen Windos hat Micro64 trotzdem Z und Y vertauscht :-)

Das ist weil Micro64 auch auf einem deutschen Windows mit einem englischen Systemtastaturlayout läuft. Bei bestimmten Windowsversionen kann man das prozessweise setze, was Micro64 genau ja macht.


Ach und nochwas: Wenn ich Fullscreen GPU nutze, dann habe ich einen Effekt, den ich im Video und auf Screenshots nicht sehe (und irgendwie finde auch die von mir gemachten Screenshots nicht). Und zwar scheint sich für jede Charzelle eijn kleiner Rand um selbige zubilden, so dass man so etwas wie ein unscheinabren karrierten Hinetrgrund hat. Ich würde es dir gerne zeigen, aber wie gesagt finde ich keine Screenshots. Schalte ich auf CPU oder CPU+GPU um, dann ist dieser Schattenwurf nicht mehr da (und leider auch nicht die Kissenverzerrung).

Evtl. mal ein normales Foto machen? :)

Könntest du vielleicht in kurz erklären was die Unterschiede in den SID work Level Einstellungen sind (also Fast, Nearest, Linear, Qubic, FastSINC und SINC)?

Ist SINC die beste Einstellung?

Ja, SINC ist die beste aber auch die langsamste Einstellung.



None = Der Tonerzeugungsanteil der SID Emulation ist hier quasi nahezu komplett inaktiv.
Fast = Nach jedem ~22,34122 SID Zyklus (985248/44100) wird ein Samplewert bei 44100 Hz berechnet, ohne Interpolation bzw. Resampling.
Nearest = Bei jedem SID Einzelzyklus wird ein Samplewert berechnet, ohne Interpolation bzw. Resampling, es wird einfach der jeweils nächst liegende 985248 Hz Samplewert in den 44100 Hz Output übernommen.
Linear = Bei jedem SID Einzelzyklus wird ein Samplewert berechnet und mithilfe linearer Interpolation ein 44100 Hz Output Samplewert zwischen zwei 985248 Hz Samplewerten berechnet.
Cubic = Bei jedem SID Einzelzyklus wird ein Samplewert berechnet und mithilfe Cubic Spline Interpolation ein 44100 Hz Output Samplewert zwischen vier 985248 Hz Samplewerten berechnet.
FastSINC = Bei jedem SID Einzelzyklus wird ein Samplewert berechnet und mithilfe SINC Resampling mit Kaiser als Fensterfunktion ein Output 44100 Hz Samplewert zwischen mehr über mehrere hunderte 985248 Hz Samplewerten berechnet.
SINC = Bei jedem SID Einzelzyklus wird ein Samplewert berechnet und mithilfe SINC Resampling mit Kaiser als Fensterfunktion ein 44100 Hz Output Samplewert zwischen mehr über mehrere tausende 985248 Hz Samplewerten berechnet.


Info-Links: http://de.wikipedia.org/wiki/Sinc-Funktion und http://de.wikipedia.org/wiki/Fensterfunktion#Kaiser-Fenster

labecula
2012-07-17, 20:32:14
Wenn ich ein normales Foto mache ist das Bild schwarz, er captured den Bildshcirminhalt also bei micro64 offenbar nicht.

BeRo
2012-07-17, 22:15:25
Wenn ich ein normales Foto mache ist das Bild schwarz, er captured den Bildshcirminhalt also bei micro64 offenbar nicht.

Ich meinte mit einer möglichst recht guten DigiCam den Bildschirm abfotografieren, wenn es nicht auf den Screenshots sichtbar ist. :)

Crazy_Bon
2012-07-17, 22:31:10
Ich werde mir bei Gelegenheit die Emu mal anschauen, ich bin gespannt was es taugt. :)

piefke
2012-07-17, 22:36:26
Ich hab gestern nicht gewusst das sich hinter F9 die Optionen verstecken, sieht gut aus.


North & South (als TAP) ist der Burner. :D

labecula
2012-07-18, 00:10:41
Ich meinte mit einer möglichst recht guten DigiCam den Bildschirm abfotografieren, wenn es nicht auf den Screenshots sichtbar ist. :)

Ohje, ob da die Details so bei rauskommen. Ich probiers mal mit einer durschnittlichen, die Gute Kamera liegt leider noch im Laden und wartet darauf gekauft zu werden :-)

Marc Wessels
2012-07-30, 21:33:58
Ich habe Schwierigkeiten mit Soundaussetzern, sobald ich VSync einschalte (50hz). Der SID läuft auf SINC.

Bin ich damit alleine?




SINC = Bei jedem SID Einzelzyklus wird ein Samplewert berechnet und mithilfe SINC Resampling mit Kaiser als Fensterfunktion ein 44100 Hz Output Samplewert zwischen mehr über mehrere tausende 985248 Hz Samplewerten berechnet.Das klingt übrigens absolut Bombe!

"Katakis" klingt bei CCS64, oder auch beim SID-Plugin für Winamp sogar richtiggehend falsch, während es mit Deiner Emulation perfekt klingt. Tolle Arbeit!

HeldImZelt
2012-07-31, 20:58:54
Gibt es Micro64 nur für Windows? Wie stehst du zu Android/Linux und Github?

Sunrise
2012-08-10, 23:30:15
Ich kann nur sagen, Hut ab an den Autor! Das Teil klingt absolut hammermäßig!

Gerade ein paar Stücke von Hülsbeck angetestet, u.a. Shades, To be on top und Jinks - klingt absolut traumhaft. Da könnte ich stundenlang zuhören. Werde jetzt noch ein paar Stunden weiter schwelgen...Gem-X läuft gerade (der Hammer).

Die Bildschirm-Anpassung an die alten Röhren ist auch der Wahnsinn. Respekt für diese geniale Idee!

Werde Micro64 auf jeden Fall weiter empfehlen.