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

28. March 2024, 12:01:44

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: 1
Guests: 114
Total: 115

114 Guests, 1 User
HAL6128

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.

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: 20.12.2023)
http://futureos.cpc-live.com/files/LambdaSpeak_RSX_by_TFM.zip --> RSX ROM für LambdaSpeak (Update: 26.12.2021)

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