• Welcome to Schneider / Amstrad CPC Forum.
Welcome to Schneider / Amstrad CPC Forum. Please login.

02. May 2026, 13:15:13

Login with username, password and session length

Shoutbox

TFM

2024-04-08, 20:42:44
Happy Sonnenfinsternis!  :)

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!

Recent

Members
Stats
  • Total Posts: 12,844
  • Total Topics: 1,528
  • Online today: 528
  • Online ever: 1,724
  • (16. January 2020, 00:18:45)
Users Online
Users: 0
Guests: 144
Total: 144

144 Guests, 0 Users

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 1 Guest are viewing this topic.

TFM

Quote from: BadCPC on 12. March 2021, 14:32:46
Hey TFM,
mit JavaCPC 1-9= F1-F9
wincpc 1-9 auf zehnerblock

vieleicht liegts da bei dir dran  :P
Daran lag es wohl, aber das kann ja keiner wissen. Habe sogar die F-Tasten probiert, auch erfolglos. Gut, Problem gelöst.
TFM of FutureSoft
http://www.futureos.de --> Das Betriebssystem FutureOS (Update: 24.12.2025)
http://futureos.cpc-live.com/files/LambdaSpeak_RSX_by_TFM.zip --> RSX ROM für LambdaSpeak (Update: 29.01.2025)

Devilmarkus

So, nach einigem Brainstorming mit BadCPC funktioniert nun auch die Kriegsseqzenz so, wie sie soll, und auch die Statistiken werden ohne Syntax Error ausgegeben (DEC$ is a Bitch on the 464)
Was noch fehlt: Speichern / Laden (Braucht man das, oder kann das weg?)
Dann noch rausfinden, wieso es manchmal in seltenen Fällen sporadisch Pixelfehler darstellt (Irgendwo zerschießt es noch zu viel Firmware)
https://cpcwiki.de
Dein Deutsches CPCWiki!

BadCPC

Jupp danke auch Devil, für das pushen, hat sehr geholfen.
Aber wie gesagt der Fehlerteufel hatte auf dem 464 zugeschlagen, nach etwas tracen im basic hab ich dan seine Bitch (dec$) gefuden.

So erstmal mal viel spass beim, testen wir bleiben drann, vieleicht kommt ja bald eine echte final mit save/load raus,

Gruß Bad

BadCPC

So wir wollen ja den 664 nicht vergesse,
anbei eine testversion ohne load/save der Speicherstände


start mit run"ka664
LG BAD

BadCPC

ich habe hier grad einen kleine hänger,
habe die save/loadroutine angepasst trotzdem ärgert der mich,

Auf &8A80 ist der sprung zum save, geht soweit

Auf &8A70 ist der sprung zur laderoutine , habs zwar angepasst, aber greift da nicht auf disc zu grrr

habe eine erweiterung für den 6128 zur banknutzung geschrieben

;; bankswap für kaiser
org &8300
.scr_set_border         equ &bc38
.scr_set_ink equ &bc32
.cas_in_open equ &bc77
.cas_in_direct equ &bc83
.cas_in_close equ &bc7a

himem equ &A67B
lastbyte       equ &ABFF
lenght         equ lastbyte - himem
setbank_fnt      equ &7FC4        ;font
setbank_1_1    equ &7FC5        ;kroen
setbank_1_2    equ &7FC6        ;amsdoshimem
setbank_0_1    equ &7FC0        ;normal
di
;copy orig amdos to bank_1_2
.saveamsdos
      LD BC,setbank_1_2           ;set Bank 2
      out (C),C                   ;set Bank 2
       ld   hl,himem
       ld   de,&4000
       ld   bc,lenght
       ldir
ld BC,setbank_0_1
out (c),c
ei
ret
;copy amsdos_bak  this destroys the charset
.restoreamdos
di
LD BC,setbank_1_2           ;set Bank 2
       out (C),C             ;set Bank 2
       ld   hl,&4000
       ld   de,himem
       ld   bc,lenght
ldir
ld BC,setbank_0_1
out (c),C
ld a,&00
ld (&b735),a ; set font to normal
ei
ret

;-- load font
; load fonts
.loadfont
di
       ld bc,setbank_fnt
       out (c),c
           ld hl,fnt
           ld de,(fntadr)
           ld bc,(fntl)
       call loadfile
       ld BC,setbank_0_1
out (c),c
ei
ret
;-- reinit fnt
.reinitfnt
di
       ld bc,setbank_fnt
       out (c),c
       call &77E0
      ld bc,setbank_0_1
      out (c),c
ei
ret

.loadfile
        call cas_in_open
        ex de,hl
        call cas_in_direct
        call cas_in_close
ei
ret

.fnt        db "fntldr.bin"
.fntadr     dw &77E0
.fntl       dw &0A00


und hier die geänderte lade/saveroutine

cas_out_open            equ &BC8C
cas_out_direct          equ &BC98
cas_out_close           equ &BC8F
cas_in_open equ &bc77
cas_in_direct equ &bc83
cas_in_close equ &bc7a
org &8a3E ;loader
push af
       ld hl,filename
       push hl
       ld de,(&AE66)
       ld b,end_filename-filename
       call loadfile
       pop hl
       ld a,50
       ld (end_filename-1),a
       ld b,end_filename-filename
       ld de,&AC00
       call loadfile
       pop af
       ei
       ret
.loadfile
        call cas_in_open
        ex de,hl
        call cas_in_direct
        call cas_in_close
        ld a,49
        ld (end_filename-1),a
ret
ei
ret
org  &8a70 ; entry
call &8318 ; restore AMSDOS from bank
call &8a3e ; load the savegame
call &8350 ; restore font
ei
ret

org &8a80
            call &8318
            ld de,(&AE66)
            ld hl,&7600
            or a
            sbc HL,DE
            EX DE,HL
            call save
            ld a,50
            ld (end_filename-1),a
            ld hl,&AC00
            ld de,&0C00
            call save
            call &8350
        ei
        ret
.save
push hl
push de
push af
;open the file to write
     ld b,end_filename-filename ; filename lenght
     ld hl,filename             ; filename
     ld de,&7600                ; puffer to use
     call cas_out_open

     pop af
     ld bc,&0000
     pop de
     pop hl
     ld a,2

call cas_out_direct
call cas_out_close
ld a,49
ld (end_filename-1),a
ei
ret

;;
.filename
defb "Kaiser.sa1"
.end_filename



ich finds echt seltsam, zumal wenn ich diese beiden compilier, und so teste gehts ja, nur irgend wie scheint mich das basicteil zu veräppeln

für tipps woran es liegt währe ich dankbar

eto

Feedback nach einer ersten Partie:

Es ging erstmal alles gut. Ich bin dann versehentlich auf Speichern geraten, da sollte ich dann eine Kassette einlegen, das war natürlich ärgerlich. Wenn Save nicht möglich ist, vielleicht könnte man zumindest den Menüpunkt deaktivieren, damit man nicht durch dicke Finger zum Reset gezwungen ist.

Bei schon recht fortgeschrittenem Spielstand und beim Wechsel auf das nächste Jahr bin ich in einen "Subscript out of range in 90" Fehler gelaufen. Aufgetreten ist er in der Fn n$ Funktion, für c=0. Mehr konnte ich auf die Schnelle nicht rausfinden.

War echt schön mal wieder in alten Erinnerungen zu schwelgen ;-) Danke für den Aufwand.

FirstDefender

Auf meinem Lapi kann ich es nicht Spielen :(

Sobald gefragt wird wieviele Spieler kann ich keine Zahl angeben

BadCPC

auf javacpc bitte die F-Tasten nutzen F1,F2,F3 . . .
bei wincpc geht auch der zahlenblock

BadCPC

Aaah mal einen kleinen stand der Dinge, arbeite immer noch dran, hab sogar in Kaiser eine einfach pack/unpack routine gefunden ;)
;; kaiser screen pack
                LD      HL,&C000
                LD      DE,packed_screen
pack_scr_loop1
                LD      B,&00
                LD      A,(HL)
pack_scr_loop2
                INC     HL
                INC     B
                JR      Z,pack_scr_loop3
                CP      (HL)
                JR      NZ,pack_scr_loop3
                BIT     7,H
                JR      NZ,pack_scr_loop2
pack_scr_loop3
                LD      (DE),A
                INC     DE
                LD      A,B
                LD      (DE),A
                INC     DE
                BIT     7,H
                JR      NZ,pack_scr_loop1
                RET



ooops was vergessem ;)

un_pack_scr
                LD      HL,packed_scr              ;;4FED:   !.P     21 00 50
                LD      DE,&C000                   ;;4FF0:   ...     11 00 C0
un_pack_scr_loop1
                LD      A,(HL)                     ;;4FF3:   ~       7E
                INC     HL                         ;;4FF4:   #       23
                LD      B,(HL)                     ;;4FF5:   F       46
                INC     HL                         ;;4FF6:   #       23
un_pack_scr_loop2
                LD      (DE),A                     ;;4FF7:   .       12
                INC     DE                         ;;4FF8:   .       13
                DJNZ    un_pack_scr_loop2                 ;;4FF9:   ..      10 FC
                BIT     7,D                        ;;4FFB:   .z      CB 7A
                JR      NZ,un_pack_scr_loop1              ;;4FFD:    .      20 F4
                RET                                ;;4FFF:   .       C9

TFM

TFM of FutureSoft
http://www.futureos.de --> Das Betriebssystem FutureOS (Update: 24.12.2025)
http://futureos.cpc-live.com/files/LambdaSpeak_RSX_by_TFM.zip --> RSX ROM für LambdaSpeak (Update: 29.01.2025)

Devilmarkus

Quote from: BadCPC on 21. October 2024, 22:08:06auf javacpc bitte die F-Tasten nutzen F1,F2,F3 . . .
bei wincpc geht auch der zahlenblock

Man kann auch im JavaCPC den Zehnerblock nutzen, einfach den Joystick deaktivieren.
https://cpcwiki.de
Dein Deutsches CPCWiki!

BadCPC

So überarbeite grad mal die Krönungs - Routine

angepasst an die neue Main. Dauert noch ein bissle ;)

BadCPC

Bäää, jetzt fühle ich mich veräppelt, die splitroutine mag mich nicht, ist der Zeichensatz ab &A500 geht soweit alles sauber, zieh ich die runter auf die neue addresse &9F70 zeigt der Müll an  :'(  :'( , >:(  >:( jetzt heisst es wieder suchen suchen suchen  :(  Text wird richtig angezeigt nur in die Zeichen für Figuren mauern . .  werden nich richtig angezeigt ;(

xesrjb

"Der Wein mit der Pille ist im Becher mit dem Fächer. Im Pokal mit dem Portal ist der Wein gut und fein,,

BadCPC

Dann frag was dazu, Symbol xx, verändert ja nur die 4 adressen &b734 - &B738 beim 6128 oder gibts da noch was anderes, ich setzt die nämlich mit ldir in mc auf den charset darauf, brauche ich für den on fly patch, finde ich nämlich echt seltsam. Irgendwo beklaut mich das game mit infos ;(((