Herzlich willkommen in unserem Gästebuch!

Zum Eintragen hier klicken.

Zeige Einträge 97 bis 108 von 246

Seite: [«] [[7[8(9) [10[11[12[] [»]

Name Kommentar

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


Fredrik Rooss E-Mail Adresse Fredrik Rooss Homepage s IP angucken


erstellt am 05. Dezember 2019 um 11:52 Uhr MEZ   Eintrag löschen  Kommentar hinzufügen  Eintrag bearbeiten
Thanks!
An other question: Now I got a Graphics screen background and 7 sprites working. Excuse my ignorance but how do I put other stuff on the screen like scores, lived etc.
I've been trying to write to the screen buffer but I won't work when the graphicscreen mode is set.

Regards / Fredrik.



Kommentar von Endurion:
Hi Fredrik,

Well, two basic choices: Either copy character like images in the bitmap, or do an IRQ split between bitmap and text mode, so you can have sort of a status line.

This might be a start: https://www.c64-wiki.com/wiki/Raster_interrupt


Fredrik Rooss E-Mail Adresse Fredrik Rooss Homepage s IP angucken


erstellt am 26. November 2019 um 12:06 Uhr MEZ   Eintrag löschen  Kommentar hinzufügen  Eintrag bearbeiten
This is the DisplayScreen.asm without highres and added one sprite.
Whatever I do I can't get the sprite to be anything else than 255x64 i.e a square.


* = $0801

GETIN = $FFE4
SCNKEY = $FF9F


SCREEN_CHAR = $9000 - $0400;$0400
BITMAP_LOCATION = $a000

!basic
lda #0
sta $D020
sta $D021
;lda #$18
;location for bitmap and screen char
lda #( ( BITMAP_LOCATION % $4000 ) / $400 ) + ( ( SCREEN_CHAR % $4000 ) / 1024 ) * 16 + 1
sta $D018

;Enable char/bitmap multicolour
lda #$18
sta $D016

lda #$3B
sta $D011

;VIC bank 2
lda #$15
sta $dd00

ldx #48
sta $0400

ldx #0
.CopyLoop
lda $4000 + 0 * 250,X
sta SCREEN_CHAR + 0 * 250,X
lda $4000 + 1 * 250,X
sta SCREEN_CHAR + 1 * 250,X
lda $4000 + 2 * 250,X
sta SCREEN_CHAR + 2 * 250,X
lda $4000 + 3 * 250,X
sta SCREEN_CHAR + 3 * 250,X

lda $4400 + 0 * 250,X
sta $D800 + 0 * 250,X
lda $4400 + 1 * 250,X
sta $D800 + 1 * 250,X
lda $4400 + 2 * 250,X
sta $D800 + 2 * 250,X
lda $4400 + 1 * 250,X
sta $D800 + 1 * 250,X

!for ROW = 0 TO 31
lda $2000 + ROW * 250,x
sta BITMAP_LOCATION + ROW * 250,x
!end
inx
cpx #250
beq .Done
jmp .CopyLoop
.Done

v = 53248

ldx #200
stx 2040

ldx #0
stx v+23
stx v+29
ldx #3
stx v+39

ldx #100
stx v
stx v+1

ldx #0
rd lda foe,x
sta 12800,x
inx
cpx #63
bne rd

ldx# 1
stx v+21

endless
jsr endless
rts

foe:
!byte $00,$00,$00,$00,$00,$00,$00,$00
!byte $00,$00,$00,$00,$00,$28,$00,$00
!byte $aa,$00,$82,$82,$82,$aa,$aa,$aa
!byte $aa,$55,$aa,$8a,$be,$a2,$82,$aa
!byte $82,$00,$aa,$00,$00,$00,$00,$00
!byte $00,$00,$00,$00,$00,$00,$00,$00
!byte $00,$00,$00,$00,$00,$00,$00,$00
!byte $00,$00,$00,$00,$00,$00,$00,$81

;bitmap data
* = $2000
!media "multicolor.graphicscreen",BITMAP

;charscreen colors
* = $4000
!media "multicolor.graphicscreen",SCREEN

;color ram colors
* = $4400
!media "multicolor.graphicscreen",COLOR





Kommentar von Endurion:
Just a few small issues: The sprite data was not in the same VIC bank (12800 =$3200) is not inside $8000 to $bfff. Also, when you change the screen address and VIC bank, the sprite pointers move with the screen address.
You set the screen address to $8c00, so the sprite pointers are at $8c00 + 1016. Once that is changed the sprite shows up.

* = $0801

GETIN = $FFE4
SCNKEY = $FF9F


SCREEN_CHAR = $9000 - $0400;$0400
BITMAP_LOCATION = $a000

SPRITE_LOCATION = $8000

!basic
lda #0
sta $D020
sta $D021
;lda #$18
;location for bitmap and screen char
lda #( ( BITMAP_LOCATION % $4000 ) / $400 ) + ( ( SCREEN_CHAR % $4000 ) / 1024 ) * 16 + 1
sta $D018

;Enable char/bitmap multicolour
lda #$18
sta $D016

lda #$3B
sta $D011

;VIC bank 2
lda #$15
sta $dd00

ldx #48
sta $0400

ldx #0
.CopyLoop
lda $4000 + 0 * 250,X
sta SCREEN_CHAR + 0 * 250,X
lda $4000 + 1 * 250,X
sta SCREEN_CHAR + 1 * 250,X
lda $4000 + 2 * 250,X
sta SCREEN_CHAR + 2 * 250,X
lda $4000 + 3 * 250,X
sta SCREEN_CHAR + 3 * 250,X

lda $4400 + 0 * 250,X
sta $D800 + 0 * 250,X
lda $4400 + 1 * 250,X
sta $D800 + 1 * 250,X
lda $4400 + 2 * 250,X
sta $D800 + 2 * 250,X
lda $4400 + 1 * 250,X
sta $D800 + 1 * 250,X

!for ROW = 0 TO 31
lda $2000 + ROW * 250,x
sta BITMAP_LOCATION + ROW * 250,x
!end
inx
cpx #250
beq .Done
jmp .CopyLoop

.Done
v = 53248

ldx #200
;stx 2040
ldx #0
stx SCREEN_CHAR + 1024 - 8

ldx #0
stx v+23
stx v+29
ldx #3
stx v+39

ldx #100
stx v
stx v+1

ldx #0
rd lda foe,x
;sta 12800,x
sta SPRITE_LOCATION,x
inx
cpx #63
bne rd

ldx #1
stx v+21

endless
jmp endless

foe:
!byte $00,$00,$00,$00,$00,$00,$00,$00
!byte $00,$00,$00,$00,$00,$28,$00,$00
!byte $aa,$00,$82,$82,$82,$aa,$aa,$aa
!byte $aa,$55,$aa,$8a,$be,$a2,$82,$aa
!byte $82,$00,$aa,$00,$00,$00,$00,$00
!byte $00,$00,$00,$00,$00,$00,$00,$00
!byte $00,$00,$00,$00,$00,$00,$00,$00
!byte $00,$00,$00,$00,$00,$00,$00,$81

;bitmap data
* = $2000
!media "multicolor.graphicscreen",BITMAP

;charscreen colors
* = $4000
!media "multicolor.graphicscreen",SCREEN

;color ram colors
* = $4400
!media "multicolor.graphicscreen",COLOR




Fredrik Rooss E-Mail Adresse Fredrik Rooss Homepage s IP angucken


erstellt am 25. November 2019 um 21:05 Uhr MEZ   Eintrag löschen  Kommentar hinzufügen  Eintrag bearbeiten
Hello. I just been fiddeling around with C-64 studio. I tried to use the DisplayScreen.asm example as a skeleton for a simple game.
The multicolor Graphics screen works fine but ALL my sprites are just squares as if data is all 255. If I remove the grahics screen code the sprites work fine...
Any idea why this is?

regards / Fredrik.


Kommentar von Endurion:
Hi Fredrik,
I'd have to see the code to know more.
It could be, that the sprite data is pushed outside the VICs 16k bank? Or the sprite pointers to not match up with the sprite data?
Remember, the VIC can only see 16k at once.


s IP angucken


erstellt am 23. November 2019 um 12:53 Uhr MEZ   Eintrag löschen  Kommentar hinzufügen  Eintrag bearbeiten
It all right , I’ve figured it out. Thanks anyway

Syed

s IP angucken


erstellt am 23. November 2019 um 8:43 Uhr MEZ   Eintrag löschen  Kommentar hinzufügen  Eintrag bearbeiten
Hi Georg,

with TEXT SCREEN EDITOR, how do you load saved screens.
How do you save screens?.

I have character set saved and loaded, but cannot save/load custom screens using TEXT SCREEN EDITOR?....


PLEASE HELP

Thanks

Syed

s IP angucken


erstellt am 23. November 2019 um 2:59 Uhr MEZ   Eintrag löschen  Kommentar hinzufügen  Eintrag bearbeiten
Hi Georg,

Another question: how do you draw character screen from saved character files and then reload them in c64 studio in character screens.

Basically how do you load saved character screens?

your doing a great job , keep it up!

regards

Syed


Kommentar von Endurion:
Hi,

I've created a small sample project, which will be part of the next release. Here's the packed project: http://www.georg-rottensteiner.de/webmisc/Sample%20Project%2015%20-%20Character%20Screen.zip

Hope that helps!
Georg

Seite: [«] [[7[8(9) [10[11[12[] [»]

Administration


Gästebuch Hauptseite | Meine Hauptseite

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