Welcome to Schneider / Amstrad CPC Forum. Please login or sign up.

28. March 2024, 11:49:18

Login with username, password and session length

Shoutbox

TFM

2024-01-15, 17:06:57
Momentan billige Farbbänder auf Ebay für PCW

Devilmarkus

2023-07-09, 10:37:40
Zweiter 👋😂🤣

TFM

2023-06-13, 14:21:49
Sommerloch!

TFM

2023-05-30, 17:00:20
Erster ;-)

Recent

Members
Stats
  • Total Posts: 11,653
  • Total Topics: 1,328
  • Online today: 80
  • Online ever: 1,724
  • (16. January 2020, 00:18:45)
Users Online
Users: 2
Guests: 118
Total: 120

118 Guests, 2 Users
HAL6128, Rennert

Was für Kaiserverrückte oder die es werden wollen, Kaiser am 6128

Started by BadCPC, 11. August 2020, 20:49:16

Previous topic - Next topic

0 Members and 3 Guests are viewing this topic.

BadCPC

So ich haue hier mal was hin,
Hört sich verrückt an, ist es vieleicht aber nicht,

Ich bin gerade mit Kaiser für 6128 beschäftig,

Das berühmte original Splittscreen geht auf dem 6128. Ja ich habs gemacht.
Der so coole Zeichensatz ist auch auf dem 6128 verfügbar.

So zwei wichtige Dinge habe ich da noch zu erledigen.
1. Der Sound hmmm
2. Im Krieg die Steuerung.

Wer nett wenn ich da unterstüzung bekäme.

Mit freundliche grüßen


xesrjb


Devilmarkus

Ich bin ja auch ein Wenig in dem Projekt involviert, aber mir fehlen da absolut die Kenntnisse, wie man die Routinen weiter verbiegen könnte, deswegen hab ich dich ja mal hier ins Forum geschmuggelt ;)

Was ich nur immer wieder sagen kann: Firmwarebereiche des 464 mit dem 6128 vergleichen, ggf. im Code relocaten, klappt ja bislang auch ganz gut.

GGf. kann man ja sogar Bereiche des 6128 "verpfuschen" dass er eigentlich denkt, er ist ein 464? Die Routinen sind ja alle auch "Writeable"....

Ich erinnere mich daran, dass es für den 464 immer in den Sonderheften einen 6128 Emulator gab, das muss ja auch umgekehrt möglich sein...?
https://cpcwiki.de
Dein Deutsches CPCWiki!

TFM

Super Projekt! Viel Glück Euch beiden!

Die Sprungadressen kann man anpassen. Was dem 6128 "fehlt" kann man eventuell ins E-RAM legen.  ;) :)
TFM of FutureSoft
http://www.futureos.de --> Das Betriebssystem FutureOS (Update: 20.12.2023)
http://futureos.cpc-live.com/files/LambdaSpeak_RSX_by_TFM.zip --> RSX ROM für LambdaSpeak (Update: 26.12.2021)

BadCPC

Vieleicht gibts ja noch einen verrücklten der da mit machen möchte,will. Aktuellen stand der ding auf Disk sowie das Assemblerlisting der Grafik-Soundroutinen währen dann auch zugänglich

Gerne auch per PN

Vieleicht gibts ja auch jemanden der die Musik sag ich mal, Sound/ent/env sauber rauszieht damit eine init routine baut, tu mich da noch schwer mit grrr

Edit. Habe die ENT/ENV aber die werde ja nicht richtig initialiesert &BCAA &BC.. &BC.., lade die zur zeit dirket in die ENT/ENV Bereich.

BadCPC

So leute jetzt hau ich mal ne frage zu Sound raus

Mit

     
      LD HL,soundblock
      CALL &BCAA
      ret
soundblock
     db  . . . . .

byte 0 - channel status byte
byte 1 - volume envelope to use
byte 2 - tone envelope to use bytes
3&4 - tone period byte
5 - noise period byte
6 - start volume bytes
7&8 - duration of the sound, or envelope repeat count




wie kann ich 3,4,5,6,7,8 herrausfinden, wenn ich die ent/env blöcke habe ??

Vielen dank schon mal

BadCPC

So mal Stand der Dinge,

hänge leider immer noch am Sound und der Steuerung im Krieg.

Was dafür geht ist die Krönung. hab sie in die 2. Bank geladen und entsprechende Anpassungen gemacht.
Wie schon vorher erwähnt, Splittscreen, War (leider ohne Steuerung und Sound).
Muss noch ein paar optische anpassungen machen wegen der steuercode im Basicteil 6128 verhält sich da ja auch anders.
Die lieben Herren Programmierer von Kaiser machen es einem auch nicht leicht. Ich denke zwar das ich die IN`s für die Tastaturabfrage gefunden habe, weiss allerdings nicht von wo Sie angesprungen werden. Da scheint es Tabellen zu zugeben.
; keyboard in ??
LD      B,&FF                   ;;A040:   ..      06 FF
;; Port Read
                IN      A,(C)                       ;;A042:   .x      ED 78
                LD      C,A                         ;;A044:   O       4F
;; Port Read
                IN      A,(C)                       ;;A045:   .x      ED 78
                CP      C                            ;;A047:   .       B9
                JR      Z,&A045                  ;;A048:   (.      28 FB
                CP      &CC                        ;;A04A:   ..      FE CC
                JR      NZ,&A040                ;;A04C:    .      20 F2
                CALL    &BE90                   ;;A04E:   ...     CD 90 BE
                JR      &A040                     ;;A051:   ..      18 ED

Angesprungen wird hier auf &A045 weiss auch nicht wo der hinspeichert grrr.
Was ich auch in diesem zusammenhang seltsam finde ist der CALL &BE90, scheint ganz ohne wirkung zu sein.
Bleibe aber dran, Backtrace kann leider keiner der Emulatoren, währe natürlich coool.

Anbei mal für neugierge der Aktuelle stand als DSK start mit run"k6128
Sowie mal das Dissassmble von dem MC-Teil

Devilmarkus

Naja wir haben ja einige User hier, die sich mit Assembler recht gut auskennen, vielleicht helfen die ja mal mit  8)
https://cpcwiki.de
Dein Deutsches CPCWiki!

TFM

Wie man Tastaturen (sauber) abfragt etc. kann man hier finden:
http://www.cpctech.org.uk/

Ist zwar etwas unübersichtlich, aber durchaus hilfreich.
TFM of FutureSoft
http://www.futureos.de --> Das Betriebssystem FutureOS (Update: 20.12.2023)
http://futureos.cpc-live.com/files/LambdaSpeak_RSX_by_TFM.zip --> RSX ROM für LambdaSpeak (Update: 26.12.2021)

Devilmarkus

Quote from: TFM on 31. August 2020, 00:07:09
Wie man Tastaturen (sauber) abfragt etc. kann man hier finden:
http://www.cpctech.org.uk/

Ist zwar etwas unübersichtlich, aber durchaus hilfreich.

Dafür müsste man erstmal wissen, wie es hier bei Kaiser im Prinzip im Detail funktioniert, ich schätze mal, daran hapert es momentan noch.
https://cpcwiki.de
Dein Deutsches CPCWiki!

BadCPC

Igrendwas wird da noch falsch berechnet,
Setze ich Beispielsweise &9E52 von DEC A auf XOR A kann ich einmal nach Aufwärts drücken dann wiederholt es sich und der Corsour wander bis es nicht  mehr weitergeht hoch.
Was ich noch intressant finde ist der Bereich ab &9DC8 bis &9E00. hier werden Werte verändert.
Beim tracen bin ich dann auf folgenden werte für links,recht, rauf und runter gekommen &50,&51,&52,&58 und für Enter &62 was dann nicht zum setzen des Zero's führt.

Ich werde mir mal die Bereich von &9DC8 bis &9E00 mal genauer anschauen.

Nachtrag auf &A303 werden die X,Y Kordinaten zwischengespeichtert

Update: Movment fixed. SUB     &F5                     ;;9E36: muss SUB &3F sein xd


Devilmarkus

Wichtig wäre vllt auch, wenn du disassemblierten Code verwendest, dem auch Label zu verpassen, das geht im JavaCPC-Assembler mit ein paar wenigen Klicks. (Dafür muss der Code allerdings auch in reiner Form, von JavaCPC, disassembliert vorliegen)
Das würde vieles Übersichtlicher machen...
Genauso auch, dass du die Firmware-Label mit einfügst (Geht damit auch)
https://cpcwiki.de
Dein Deutsches CPCWiki!

BadCPC

Danke für den Hinweis Markus, update mit ein paar fixes.
Optisch bei bei der nameseingabe. Movement fix eingepflegt.

Start mit run"k6128c

So nur noch den sound hinbiegen da mag er noch nicht so richtig !!

wer direkt mal den Krieg testen möchen nach den namenseingaben break und gosub 4112

wer sich direkt mal krönen lassen möchte macht einfach einfach nach der namenseingabe, ein break, gibst t(c)=9:gosub 745 ein

so erstmal viel spass

BadCPC

Da bin ich mal wieder,
irgendwie hab ich grad nee kriese.

es gehen nur zwei sounds nicht, playerwechsel, und die amtsenthebung.

die routine wird irgend wie noch falsch gefüttert, ich weiss nur noch nicht warum.

wie bekannt werden paramter über &A329 geladen. diese dann von der routine ausgwertet
Vieleicht hat da jemand einen idee.
;soundpay @899E Call &BCAA mit HL nach &89F0
org &A329   
;db &00,&87       ;Wartime      OK              &8700
db &90,&87        ;Titelvergabe OK             &8790
;db &00,&8A       ;change player fail          &8A00     
;db &10,&8A       ;enthoben        fail          &8A10
;db &1A,&8A       ;fight         ok                  &8A1A
;db &22,&8A       ;canonshoot    ok            &8A22
;-------------------------------------
;
;db &00,&70       ;krönung          ok
;db &F0,&89       ;tempstore for sound
;db &c0,&89

in &89F0 stehen die richtigen werte für den jeweiligen sound auch wenns dann mehrere durchgänge sind.


;playerchange sound from Kaiser
;.snd8A00 ;change player
;db  &C1,&04,&C1,&14,&C1,&20,&01,&35
;parsed true &A329 and the Mainroutine @&8900
;grepped in runtime
org &a000
soundplay equ &BCAA
sound_ent equ &BCBF
sound_env equ &BCBC

ld a,3
ld hl,env3
call sound_env
ld a,4
ld hl,env4
call sound_env
ld a,1
ld hl,ent1
call sound_ent


ld hl,change
   call soundplay
ld hl,change1
   call soundplay
ld hl,change2
   call soundplay
ld hl,change3
   call soundplay 
ret

.change   db   &01,&03,&00,&DE,&01,&00,&00,&FF,&FF           
.change1  db   &01,&03,&00,&7B,&01,&00,&00,&FF,&FF
.change2  db   &01,&03,&00,&3F,&01,&00,&00,&FF,&FF
.change3  db   &01,&04,&00,&EF,&00,&00,&00,&FF,&FF


.ent1
     db &83,&05,&1E,&01,&0A,&E2,&01,&05,&1E,&01,&01,&D8,&01,&00,&00,&00
     
.env3
    db &02,&05,&03,&01,&03,&FF,&09,&01,&FF,&02,&00,&00,&00,&00,&00,&00
.env4
    db &03,&05,&03,&01,&06,&FF,&09,&01,&FF,&05,&00,&00,&00,&00,&00,&00

ich weiss ist nicht grad schön aber das ist der playerchange sound.

er wird nur leider ingame mit einem geschnarre brrrrp wiedergegeben hmm


BadCPC

So ich mal wieder hab mal was angehängt

Ist was zum anschauen oder schmunzeln


lg Bad