Herzlich willkommen in unserem Gästebuch!

Zum Eintragen hier klicken.

Zeige Einträge 1 bis 12 von 156

Seite: (1) [2[3[4[] [»]

Name Kommentar

s IP angucken


erstellt am 04. April 2020 um 5:48 Uhr MEZ   Eintrag löschen  Kommentar hinzufügen  Eintrag bearbeiten
Hi Georg,

I have hit a wall, please help.

how do I convert .SID Files into .BIN files, suitable for playback in c64 studio?.

thanks


Kommentar von Endurion:
You have to know the SID file format, this link may help:

https://www.hvsc.c64.org/download/C64Music/DOCUMENTS/SID_file_format.txt

The SID file format has a header, usually fixed length, followed by the actual player. Careful! Some SIDs have a lot more data stored than they actually need; when the SID player and data is spread throughout the memory.

If you're lucky you have a fixed length header, so it might work like this:

!bin "mymusic.sid",,$7c+2

$7c is the data offset for version 2, plus 2 bytes for the loader address.

What's left is calling the routine. Usually the players have one song init jump, and one update jump. You can look at the header or any SID player should show you these values. Then it's down to (usually! may not apply to your specific SID!)

lda #songnumber
jsr MUSIC_INIT

and every frame
jsr MUSIC_PLAY

Hope that helps!


s IP angucken


erstellt am 22. März 2020 um 10:32 Uhr MEZ   Eintrag löschen  Kommentar hinzufügen  Eintrag bearbeiten
Hi Georg,

I have accidentally deleted my .asm file. I only have the .prg file, which is protected by

; BASIC Loader

*=$0801 ; 10 SYS (2064)

!byte $0E, $08, $0A, $00, $9E, $20, $28, $32
!byte $30, $36, $34, $29, $00, $00, $00

; Our code starts at $0810 (2064 decimal)
; after the 15 bytes for the BASIC loader

and it come up as sys (2064) on VICE bootup:

HOW CAN I EXTRACT THE .ASM FILE FROM .PRG FILE?

you help will be greatfull.

thanks

Syed




Kommentar von Endurion:
Hi,

You can try with the Disassembler, in C64Studio, Tools->Disassembler.

Load the .prg. The disassembler should be able to auto-detect the SYS code and start with $0810 as first jump address. If it doesn't add $0810 as "jump to" label.
It tries to follow any jmps or jsrs. If you know of any code that is not detected you need to add "jump to" labels with their addresses. You can look at the disassembly in the left window and check if everything was properly detected.

Obviously all variables/label names are gone, so there's a bit of work a head.

Hope that helps somewhat.

s IP angucken


erstellt am 22. März 2020 um 10:32 Uhr MEZ   Eintrag löschen  Kommentar hinzufügen  Eintrag bearbeiten
Hi Georg,

I have accidentally deleted my .asm file. I only have the .prg file, which is protected by

; BASIC Loader

*=$0801 ; 10 SYS (2064)

!byte $0E, $08, $0A, $00, $9E, $20, $28, $32
!byte $30, $36, $34, $29, $00, $00, $00

; Our code starts at $0810 (2064 decimal)
; after the 15 bytes for the BASIC loader

and it come up as sys (2064) on VICE bootup:

HOW CAN I EXTRACT THE .ASM FILE FROM .PRG FILE?

you help will be greatfull.

thanks

Syed



s IP angucken


erstellt am 28. Februar 2020 um 15:38 Uhr MEZ   Eintrag löschen  Kommentar hinzufügen  Eintrag bearbeiten
Ich habe zuerst versucht meine Firewall abzuschalten, was nicht funktioniert hat, und dann habe ich VICE und C64 Studio neu installiert und den Computer neu gestartet. Jetzt funktioniert alles, obwohl ich nicht weiss genau warum! Jedenfalls, danke für die Hilfe! fröhlich


Kommentar von Endurion:
Anderer Weg, aber Hauptsache, es klappt fröhlich




s IP angucken


erstellt am 26. Februar 2020 um 11:17 Uhr MEZ   Eintrag löschen  Kommentar hinzufügen  Eintrag bearbeiten
Hallo,

Der Aufruf ist:
Calling Cbääärogram FilesGTK3VICE-3.4x64sc.exe with -truedrive +virtualdev -initbreak 0xa871 -remotemonitor -moncommands "C:UsersMikaelAppDataLocalTemptmpD670.tmp" "C:Fridhem1PrivatMickeDatorProgrammeringC64New Solutiontypeandrepeat.prg"
Connection attempt 1RemoteDebugger.Connected Exception:System.Net.Sockets.SocketException: Det gick inte att göra en anslutning eftersom måldatorn aktivt nekade det 127.0.0.1:6510
vid System.Net.Sockets.Socket.EndConnect(IAsyncResult asyncResult)
vid C64Studio.VICERemoteDebugger.Connected(IAsyncResult iar)failed 1 times, giving up

"Det gick inte att göra en anslutning eftersom måldatorn aktivt nekade det" wird auf Deutsch ungefähr "Es war nicht möglich eine Verbindung herzustellen, weil der Zielcomputer es aktiv verweigert hat"

Der VICE-monitor sagt:
BREAK: 1 C:$a871 (Stop on exec)
#1 (Stop on exec a871) 239 060
.C:a871 08 PHP - A:3A X:05 Y:14 SP:f8 ..-...ZC 4948773
(C:$a871)


/Mikael



Kommentar von Endurion:
Ah, danke, das hilft! Das sieht so aus, als ob die Socket-Verbindung zum VICE nicht aufgemacht werden darf.
Die Debugger-Verbindung läuft über den Port 6510. Wird der evtl. von einer lokalen Firewall geblockt? Ohne die Verbindung geht das Debuggen nicht.


s IP angucken


erstellt am 25. Februar 2020 um 9:46 Uhr MEZ   Eintrag löschen  Kommentar hinzufügen  Eintrag bearbeiten
Seit ein Paar Wochen bin ich besitzer eines C64 Maxis und jetzt habe ich C64Studio gefunden. Das Programm ist wirklich gut. Danke!

Ich habe auch eine Frage. Ich habe nähmlich genau dasselbe Problem als Andreas, mit "Run To Cursor" und VICE. Der Monitor öffnet sich mit "Stop on exec $a871" und danach funktioniert "Run to Cursor" nicht.

Das Merkwürdige ist dass ich schon C64 Studio Version 6.3.2, zusammen mit VICE 3.4 r37296M (GTK3 3.22.30, GLib 2.58.3), benutze. Mit den Lösungen, die Andreas beschreibt, habe ich auch leider kein Erfolg gehabt. Debug Start Address in Project Properties ist schon 0.

Haben Sie einige Vorschläge?

Vielen Dank,
Mikael


Kommentar von Endurion:
Hi,

Das sollte eigentlich inzwischen alles wieder sauber laufen.

Könntest du einmal bitte den Aufruf (steht im Output-Fenster) und während VICE läuft, den Inhalt der Batch-Datei (moncommands) aus dem Aufruf hier rein pasten?

Danke!
Sonst, wenn es schneller gehen soll, bitte per email fröhlich


Jeff Dyers E-Mail Adresse s IP angucken


erstellt am 19. Februar 2020 um 10:31 Uhr MEZ   Eintrag löschen  Kommentar hinzufügen  Eintrag bearbeiten
Your program is really great, and I have had fun with it but last night I had a problem, the IDE is quite slow to start up on my PC even with SSD, I accidentally started two copies running, I worked for an hour or so but when I closed down, the second copy came up with a message "file contents have been changed outside the program, reload". I am used to this from notepad++, C# etc, but just selected cancel/ignore, and shut down without changing anything in this editor session, of course, all my work was overwritten and I lost it all.

Can you put a splash screen on that shows immediately, and also only save to disk if the editor window contents have changed?

My changes were a completer rewrite of my sprite positioning, with 16 bit x position, speed > 1 px per frame, now I have to redo it all.


Kommentar von Endurion:
Ouch, sorry for the problems that caused.

The Splash screen is easy to implement. Save should only do something when it's marked modified, but I'll check again to not overwrite in that particular case.

Thanks for the feedback! fröhlich


s IP angucken


erstellt am 07. Februar 2020 um 13:03 Uhr MEZ   Eintrag löschen  Kommentar hinzufügen  Eintrag bearbeiten
Hi Georg,

once the screen has been drawn in C64 STUDIO, and chars have been defined, how do we export them into c64 studio? ie chars not ABCDEFGH...……


SCREEN_LOCATION = $0400
COLOR_LOCATION = $d800


;BASIC header
* = $0801
!basic

;copy char and color data
lda #00
sta 53280
sta 53281
lda #02
sta 53283
lda #4
sta 53284

ldx #0
- lda CHAR_DATA,x
sta SCREEN_LOCATION,x
lda CHAR_DATA + 1 * 250,x
sta SCREEN_LOCATION + 1 * 250,x
lda CHAR_DATA + 2 * 250,x
sta SCREEN_LOCATION + 2 * 250,x
lda CHAR_DATA + 3 * 250,x
sta SCREEN_LOCATION + 3 * 250,x

lda COLOR_DATA,x
sta COLOR_LOCATION,x
lda COLOR_DATA + 1 * 250,x
sta COLOR_LOCATION + 1 * 250,x
lda COLOR_DATA + 2 * 250,x
sta COLOR_LOCATION + 2 * 250,x
lda COLOR_DATA + 3 * 250,x
sta COLOR_LOCATION + 3 * 250,x

inx
cpx #250
bne -

;endless loop
rts
;jmp -



CHAR_DATA
COLOR_DATA = CHAR_DATA + 1000

;this includes 1000 bytes of characters plus 1000 bytes of colors
!media ".charscreen",charcolor


Kommentar von Endurion:
Do you mean you drew a character set?

You can include it's data with !media as well:

CHARSET_DATA
!media "my.charsetproject",CHAR,0,256

From there you have to copy the CHARSET_DATA to a memory location where you want your charset to be. And then set up the VIC registers accordingly.

The values for the VIC depend on where you want your charset to be. Note that this piece of code turns off the I/O temporarily to copy the charset under a address under the ROM (e.g. $d000 or $e000 or...)
This code is just a naive copy, more sophisticated games probably use some packer to do this (e.g. Exomizer):

;block interrupts
;since we turn ROMs off this would result in crashes if we didn't
sei

;only RAM
lda #$30
sta PROCESSOR_PORT

ldy #0
-
lda CHARSET,y
sta CHARSET_LOCATION,y
lda CHARSET + 1 * 256,y
sta CHARSET_LOCATION + 1 * 256,y
lda CHARSET + 2 * 256,y
sta CHARSET_LOCATION + 2 * 256,y
lda CHARSET + 3 * 256,y
sta CHARSET_LOCATION + 3 * 256,y
lda CHARSET + 4 * 256,y
sta CHARSET_LOCATION + 4 * 256,y
lda CHARSET + 5 * 256,y
sta CHARSET_LOCATION + 5 * 256,y
lda CHARSET + 6 * 256,y
sta CHARSET_LOCATION + 6 * 256,y
lda CHARSET + 7 * 256,y
sta CHARSET_LOCATION + 7 * 256,y

iny
bne -


lda #$36
sta PROCESSOR_PORT

cli

s IP angucken


erstellt am 15. Januar 2020 um 18:23 Uhr MEZ   Eintrag löschen  Kommentar hinzufügen  Eintrag bearbeiten
Super, vielen Dank, es funktioniert perfekt,
ich bin wirklich begeistert vom C64 Studio, hervorragend gemacht!

Herzliche Grüße
Andreas javascript:setsmile(' fröhlich ')

s IP angucken


erstellt am 14. Januar 2020 um 23:07 Uhr MEZ   Eintrag löschen  Kommentar hinzufügen  Eintrag bearbeiten
Ergänzung zu meinem Eintrag bezüglich meiner Probleme mit dem Debugging:

Ich habe jetzt herausgefunden, dass es mit einem Workaround funktioniert:
Wenn ich unter "Preferences" beim Emulator die Parameter "Debug" anpasse, so dass ich eine feste Adresse für -initbreak vergebe, die nach der "Basic-Aufruf-Zeile" liegt:

"-remotemonitor -initbreak 0x80e"

und im Editor einen Breakpoint unterhalb dieser Adresse definiere, dann funktioniert das Debugging, d.h. er hält beim definierten Breakpoint an und es wird auch die Zeile in der er gerade ist Gelb hervorgehoben.

Wenn aber "-initbreak 0x801" eingestellt wird (was ja identisch mit der "Basic-Aufruf-Zeile" meines Programms im Speicher ist), dann geht es nicht, dann hält das Programm nicht am Breakpoint an.

Ich vermute, dass es sich um einen Bug handelt.

Viele Grüße
Andreas


Kommentar von Endurion:
Das ist leider ein unglücklicher Bug, den ich eingebaut hatte.
Bitte die neue Version vom Link laden. Das müsste dann die Version 6.3.2 anzeigen.

Falls das nicht klappt, bitte im Solution Explorer in die Eigenschaften des Projektes gehen. Dort gibt es ein Eingabefeld "Debug Start Address", da steht vermutlich 2049 drin. Das ist natürlich Quatsch. Bitte dort den Wert 0 eintragen.

Die neue Version korrigiert das automatisch.

Ich hoffe, damit klappt es wieder, und danke auch für die Info!

s IP angucken


erstellt am 14. Januar 2020 um 21:53 Uhr MEZ   Eintrag löschen  Kommentar hinzufügen  Eintrag bearbeiten
Vielen Dank für das sehr schöne Programm!

Seit einigen Tagen schaue ich mir die C64 Programmierung an, ich hatte eine kleine Unterbrechung von 1989 bis Anfang 2020 zwinker

(Auslöser ist der C64 Maxi der gerade erschienen ist und meine ungebrochene Begeisterung für den Computer seit damals)

Jetzt möchte ich endlich Assembler erlernen und bin ich auf das wunderbare C64 Studio gestoßen.

Heute habe ich versucht das Debugging zu erlernen bzw. zu testen, allerdings bislang ohne Erfolg.
Das Programm bleibt weder offensichtlich in der Zeile stehen wo ich "Run to Cursor" ausgeführt habe, noch wird eine Zeile im Editor "gelb". Erst wenn ich dann auf den Button "Debug step" klicke, öffnet sich ein Fenster mit dem Namen "Diassembly" in dem es dann auch eine gelb eingefärbte Zeile gibt, allerdings springt er zu irgendeinem anderen Programm unter "* = $e5d4" obwohl mein Programm bei der Adresse "*=$0801" liegt.

Ich bin neu mit dem Programm C64 Studio, aber habe schon einiges ausprobiert und bin mittlerweile ratlos. In der Versionshistorie habe ich gesehen, dass bei der Debugging Funktion kürzlich einen Bugfix gab.

Hast Du/Sie vielleicht eine Idee was ich falsch mache?

Beste Grüße
Andreas


Ich verwende:

WinVICE-2.4-x86 (habe auch andere getestet)
C64 Studio 6.3

Das minimale Programm mit dem ich das Debugging ausprobieren wollte, lautet:

*=$0801
!byte $0c,$08,$e2,$07,$9e,$20,$32,$30,$36,$32,$00,$00,$00

lda #$41
ldx #$ff

loop
sta $03ff,X
dex
bne loop
rts

s IP angucken


erstellt am 09. Dezember 2019 um 15:03 Uhr MEZ   Eintrag löschen  Kommentar hinzufügen  Eintrag bearbeiten
Hi,

I run the website dosgames.com and am interested in including any of your original MS-DOS based games on my website so that people can easily find them and freely download them. It looks like all of the games posted on your website are the Windows versions, so if you have any of the DOS versions that you could send me and would be willing to allow me to post them, please let me know, thank you!

Darren


Kommentar von Endurion:
Hi,
Sounds fine with me. That'll require a bit of digging though. I've got the source of most and some ready versions, I just need to package them.

You can always contact me via my official email address (Impressum)

Best regards,
Georg

Seite: (1) [2[3[4[] [»]

Administration


Gästebuch Hauptseite | Meine Hauptseite

powered by unzes gb 3.1.1
© 2001 - 2003 by Daniel Köhler