Zum Eintragen hier klicken.
Name | Kommentar |
erstellt am 08. April 2022 um 2:40 Uhr MEZ Hi, !MACRO DELAY V1,V2 LDA #V1 ;DELAY STA 0 LDY #V2 Q1 DEY BNE Q1 DEC 0 BNE Q1 !END doesnt seem to work, error 46;E1200;D:Commodore 64MY MUSICrandomtest1.asm;Redefinition of label Q1 46;E1200;D:Commodore 64MY MUSICrandomtest1.asm; already defined in D:Commodore 64MY MUSICrandomtest1.asm at line 46 46;E1200;D:Commodore 64MY MUSICrandomtest1.asm;Redefinition of label Q1 46;E1200;D:Commodore 64MY MUSICrandomtest1.asm; already defined in D:Commodore 64MY MUSICrandomtest1.asm at line 46 46;E1200;D:Commodore 64MY MUSICrandomtest1.asm;Redefinition of label Q1 46;E1200;D:Commodore 64MY MUSICrandomtest1.asm; already defined in D:Commodore 64MY MUSICrandomtest1.asm at line 46 Please help, using c64 studio v6.9 thanks Answer: Ah, you're using global labels inside the macro. Try putting a . in front: !MACRO DELAY V1,V2 LDA #V1 ;DELAY STA 0 LDY #V2 .Q1 DEY BNE .Q1 DEC 0 BNE .Q1 !END |
|
erstellt am 02. April 2022 um 9:51 Uhr MEZ Hallo Endurion, > Kommentar von Endurion: > Hi, > Hast du die Version hier von der Homepage benutzt? Welche Version von WinVICE? > Habe es gerade mit 2.4 und 3.2 getestet, kein Problem dabei. wow, danke für die schnelle Rückmeldung! Ich hatte es mit VICE 3.6.1 (64bit SDL2) ausprobiert. Heute habe ich VICE 3.6.1 (64bit GTK3) verwendet und damit läuft das Spiel! :-) Und ich finde es cool. Vielen, vielen Dank dafür! Viele Grüße CowboyKlaus |
|
erstellt am 02. April 2022 um 5:07 Uhr MEZ I recently upgraded from C64Studio 6.5 to 7.1 on Windows 10, and I tried to compile an ASM file that previosuly worked on version 6.5, but it said "build failed" and it gave this info in the output window: "An error occurred during building an element System.ArgumentOutOfRangeException: Index and length must refer to a location within the string. Parameter name: length at System.String.InternalSubStringWithChecks(Int32 startIndex, Int32 length, Boolean fAlwaysCopy) at C64Studio.Types.TokenInfo.get_Content() at C64Studio.Parser.ASMFileParser.ParseTokenInfo(String Source, Int32 Start, Int32 Length, Map`2 TextCodeMapping) at C64Studio.Parser.ASMFileParser.PrepareLineTokens(String Line, Map`2 TextCodeMapping) at C64Studio.Parser.ASMFileParser.PreProcess(String[] Lines, String ParentFilename, ProjectConfig Configuration, String AdditionalPredefines, Boolean& HadFatalError) at C64Studio.Parser.ASMFileParser.Parse(String Content, ProjectConfig Configuration, CompileConfig Config, String AdditionalPredefines) at C64Studio.Parser.ParserBase.ParseFile(String Filename, String SourceCode, ProjectConfig Configuration, CompileConfig Config, String AdditionalPredefines) at C64Studio.MainForm.ParseFile(ParserBase Parser, DocumentInfo Document, ProjectConfig Configuration, String AdditionalPredefines, Boolean OutputMessages, Boolean CreatePreProcessedFile, Boolean CreateRelocationFile) at C64Studio.Tasks.TaskCompile.BuildElement(DocumentInfo Doc, String ConfigSetting, String AdditionalPredefines, Boolean OutputMessages, BuildInfo& BuildInfo, FileInfo& FileInfo)" Even before that, when i simply loaded that ASM file, it said this in the output window: "An exception occurred: System.ArgumentOutOfRangeException: Index and length must refer to a location within the string. Parameter name: length at System.String.InternalSubStringWithChecks(Int32 startIndex, Int32 length, Boolean fAlwaysCopy) at C64Studio.Types.TokenInfo.get_Content() at C64Studio.Parser.ASMFileParser.ParseTokenInfo(String Source, Int32 Start, Int32 Length, Map`2 TextCodeMapping) at C64Studio.Parser.ASMFileParser.PrepareLineTokens(String Line, Map`2 TextCodeMapping) at C64Studio.Parser.ASMFileParser.PreProcess(String[] Lines, String ParentFilename, ProjectConfig Configuration, String AdditionalPredefines, Boolean& HadFatalError) at C64Studio.Parser.ASMFileParser.Parse(String Content, ProjectConfig Configuration, CompileConfig Config, String AdditionalPredefines) at C64Studio.Parser.ParserBase.ParseFile(String Filename, String SourceCode, ProjectConfig Configuration, CompileConfig Config, String AdditionalPredefines) at C64Studio.Tasks.TaskParseFile.ProcessTask() at C64Studio.Tasks.Task.RunTask()" I tried deleting 7.1 and going back to 6.5, but when I tried to run it it gave this error message before it even opened: "System.NullReferenceException: Object reference not set to an instance of an object." Please help me! Kommentar von Endurion: The old version probably can't work with the modified settings file. Could you email me the offending code file so I can fix the crash? Sorry about the problems! |
|
erstellt am 01. April 2022 um 21:34 Uhr MEZ Hallo Endurion, komischerweise stürzt Downhill Challenge bei mir mit einem Plopp-Geräusch ab, wenn es nach dem Starten den Titelscreen erreicht. Probiert habe ich es auf der aktuellsten Version von CCS64, WinVice und Yace64. Außerdem habe ich das Image noch von einer anderen Quelle geladen (CSDB) -- leider dasselbe Ergebnis. Mache ich was falsch? VG, CK Kommentar von Endurion: Hi, Hast du die Version hier von der Homepage benutzt? Welche Version von WinVICE? Habe es gerade mit 2.4 und 3.2 getestet, kein Problem dabei. |
|
erstellt am 05. März 2022 um 12:09 Uhr MEZ Hi Georg, Please find below the data statements from BASIC Program. If all data is correct then you should not get the error!. The original program did not copy line 700 DATA numbers and hence error. Please convert this program into ML for me! thanks Syed Kommentar von Endurion: See your email reply! |
|
erstellt am 05. März 2022 um 12:04 Uhr MEZ 600 REM ***** LESS DATA! ******* 610 DATA 0,1,1432,2,3406,2,3215,2,2864,2,3215,2,3406,2 620 DATA 2145,12 630 DATA 1432,2,3406,2,3215,2,2864,2,3215,2,3406,2 640 DATA 4291,6,2145,6,0,0 700 DATA 710 DATA 8583,2,7647,2,6812,2,6430,2,5728,2,5103,2,0,0 800 DATA 15294,40,11457,4 810 DATA 8583,44,11457,4 820 DATA 12860,40,11457,4,8583,4,7647,48,0,0 |
|
erstellt am 28. Februar 2022 um 2:05 Uhr MEZ Hi Georg, below is an example BASIC Program, how to convert it into ML? especially the DIM H(500,2) AND H(I,K)= HF%? FROM LINE 10 TO LINE 200, PLEASE HELP CONVERT!!! THANKS SYED 1 REM *******CONTROLLING MULTIPLE VOICES WITH INDEPENDENT DURATION****** 2 REM ****CHAPTER 33*********** 10 FOR S=54272TO54296OKES,0:NEXT 15 M=54272 20 DIM H(500,2),L(500,2),D(500,2) 30 V(0)=17:V(1)=17:V(2)=17 40 REM ***LOAD ARRAY**** 100 FOR K=0 TO 2 110 I=0 120 READ N,DR 130 IF DR=0 THEN 200 140 WF=V(K):WX=WF-1 150 HF%=N/256:LF%=N-256*HF% 160 IF DR=1 THEN H(I,K)= HF%:L(I,K) = LF%(I,K)=WF:I=I+1:GOTO120 170 FOR J=1TODR-1:H(I,K)= HF%:L(I,K) = LF%(I,K)=WF:I=I+1:NEXT 180 H(I,K)= HF%:L(I,K) = LF%(I,K)=WX 190 I=I+1:GOTO120 200 NEXT K 250 REM ****SOUND SETTINGS**** 300 POKE 54277,0OKE 54278,255 310 POKE 54284,0OKE 54285,255 320 POKE 54291,0OKE 54292,255 330 POKE 54296,15 399 REM ******FACING THE MUSIC****** 400 P1=02=03=0 410 POKE 54272,L(P1,0)OKE 54273,H(P1,0) 420 POKE 54279,L(P2,1)OKE 54280,H(P2,1) 430 POKE 54286,L(P3,2)OKE 54287,H(P3,2) 440 POKE 54276,D(P1,0)OKE 54283,D(P2,1)OKE 54290,D(P3,2) 445 FOR T=1 TO 3:NEXT T 450 P1=P1+12=P2+13=P3+1 455 IF D(P1,0)=0 THEN2000 460 IF D(P2,1)=0 THEN2500 465 IF D(P3,2)=0 THEN3000 470 GOTO 410 600 REM ***** LESS DATA! ******* 610 DATA 0,1,1432,2,3406,2,3215,2,2864,2,3215,2,3406,2 620 DATA 2145,12 630 DATA 1432,2,3406,2,3215,2,2864,2,3215,2,3406,2 640 DATA 4291,6,2145,6,0,0 700 DATA 710 DATA 8583,2,7647,2,6812,2,6430,2,5728,2,5103,2,0,0 800 DATA 15294,40,11457,4 810 DATA 8583,44,11457,4 820 DATA 12860,40,11457,4,8583,4,7647,48,0,0 2000 P1=1:GOTO460 2500 P2=49:GOTO 465 3000 P3=12=1:RESTORE:GOTO410 Kommentar von Endurion: Hi, The BASIC program runs onto BAD SUBSCRIPT ERROR IN 170 for me. It fills beyond the 500 indices. This looks like a logical error for me. Regarding the DIMs, you just need to set aside a certain place in memory with the required size: C64Studio/ACME like: H !fill 500 * 2 You could also probably just prefill the memory with the data instead of calculating it on the fly, depends on what your goal is; to keep size small, or to startup fast. Kommentar von Endurion: Do you have a version of the BASIC program that runs successfully? In that case I can take a look, but the version here seems to overrun an array and never get to actually playing music. |
|
erstellt am 17. Januar 2022 um 16:38 Uhr MEZ Hi. Really enjoyed playing Soulless 2 on .CRT!! Firstly, just letting you know there is a possible softlock that can occur in the second level (Temple) after getting Armour of Gods, but before getting the armour gun. There is wall that can be shot to enter a secret room on the right. If you shoot the wall open, equip the armour and enter that room on the right, then the armour gets stuck in the shootable wall when exiting again. There is not enough space to land the armour. So without the armour gun you are stuck. You can leave the armour in the room on the right, but without the armour equipped it is impossible to get to the armour gun. The length of the floor spikes is too far to jump across. So quit and restart from beginning. After getting used to the up+diagonal jumping controls, I played through the whole game using savestates in VICE. This is the only major bug i found. The only other glitch is sometimes i noticed taking damage from invisible enemy projectiles, especially the monkeys in level 1. Overall, the quality of the game is outstanding! Having such fantastic modern tools for C64 game development like CBM Prg Studio, C64 Debugger, SpritePad, CharPad, etc makes it so much easier to achieve such high quality game and presentation. I certainly hope to learn more machine code and use these great tools to write my own C64 game in the near future. Have already started putting all the ideas together. Have dreamed of doing this since i got my first C64 in 1989. If only all commercial C64 games had even had half the quality of Soulless 2. Well worth the money! Thanks Finally, I loved how Soulless 2 reuses some great elements of Armour of Antirad, but with significant graphical enhancements. Look forward to another adventure with King Rizek. Kommentar von Endurion: Glad you like it And really good job on finding that gameplay bug. That one never occurred to us. Regarding tools, yeah, it's incredible nowadays. All the info that's available under your finger tips. I used C64Studio (of course) for Soulless 2. I'll happily forward your feedback to Smila, he did the graphics and the overall design of the game. |
|
erstellt am 17. Januar 2022 um 0:59 Uhr MEZ the download on your site currently for c64 studio has a ransomware trojan inside the zip Kommentar von Endurion: Thanks for the info. Luckily it really hasn't. It's a false positive. I've had it checked, and confirmed as false positive with Microsoft. Unfortunately it'll take a while for the signature updates to spread. |
|
erstellt am 16. Januar 2022 um 15:03 Uhr MEZ My problem is a little bit more complicated, I need to concat a label by expression. Is there the possibility for using a global counter for using within a label? !mymacro a,b,c { lab##(a*8+b*2+c) lda #$ff } !for a = 0 TO 2 !for b = 0 TO 2 +mymacro a,b,0 +mymacro a,b,1 !end !end I also tried to use a variable !mymacro q { lab##q lda #$ff } i =0 !for a = 0 TO 2 !for b = 0 TO 2 i = a * 8 + b * 2 +mymacro i i = i + 1 +mymacro i !end !end It seems the paramater of mymacro are always interpreted as STRING using ##. |
|
erstellt am 16. Januar 2022 um 2:49 Uhr MEZ Hi Is there a way for using dynamical labels? I tried to concat a label with a variable within a macro, but it does not work I want to get this code: lab0 lda #$ff sta $0400 lab1 lda #$ff sta $0400 lab2 lda #$ff sta $0400 !macro mymacro z { lab##z lda #$ff sta $0400 } !for i = 0 TO 2 mymacro i !end Kommentar von Endurion: Hi, That way you posted should be exactly how it works: !macro mymacro z { lab##z lda #$ff sta $0400 } !for i = 0 TO 2 mymacro i !end Assembles fine for me. If it doesn't for you, can you show me the exact errors you get? |
|
erstellt am 14. Januar 2022 um 8:22 Uhr MEZ Hi, I have just tried to update to version 7.0 and got a virus warning from Windows Defender and the C64Studio.exe was deleted. It reports it having Worm:Win32/DroInux. Is it safe to install? Thank you very much. Alexis. Kommentar von Endurion: Hi, Yes. Others informed me of that issue, and I contacted Microsoft about this. It was a false positive, they updated the signature. Thanks for informing me! Best regards, Georg |
|
Administration |