So da bin ich mal wieder, gut ding will weile.
Hier mal wieder nen testdisk für kaiser6128
start mit run"k6128f
cpc 6128 only at this time
Gruß Bad
So da bin ich mal wieder, gut ding will weile.
Hier mal wieder nen testdisk für kaiser6128
start mit run"k6128f
cpc 6128 only at this time
Gruß Bad
zwischenstand, bis auf sound geht soweit alles grrr.
der ärgert mich noch ein bissle
Hi , zusammen da ich leider auch arbeite und nicht viel zeit habe so ein zwischenstand zu KAISER6128
Und nein ich habe euch nicht vergessen.
Splitscreen läuft
Billanzierung läuft
Krönung kann laufen, wird noch richtig eingebaut, wird dann beim starten in die 2.Bank geladen
Zeichensatz geht
Sound hmm ärgert mich noch bin aber relative nah dran. Ist leider auch interrupt gesteuert
Steuerung im Krieg ärgert mich auch noch ! auch hier sind die Grafiken da.
Ist halt ne harte nuss das auf 6128 umzucoden !!
So ist es Kaiser auf 6128, xd
zerlege das gerade, such aber noch Freiwillige zum mitmachen,
hab aber schon ein paar info's für euch.
Mein Ziel eine Version für 464/6218
GAMESIZE 0000 - B7FF : &B800
Basic-Calls
Line Adress
5, 745 87B0
747 8A30 -> Lade Kroenung
4503 8A70 -> Load saved game
4503 8A80 -> Save the Game
10000 8B20 -> Save Routine 1. 0000-B800 2. BE00-BEFF
625 90C8 -> Display Paper
556 91DF -> Display Waage
4121 9247
4116 969A
4163 98B9
10000 BE90,8B20
Basic Pokes
Line Adress Wert HEX
472 A32A 8A
707 A329, A32A 1A,8A
738 A329, A32A 10,8A
746 8AFF- Name des Spielers
766 A329, A32A 10,8A
4113 A341+C, A341+k A,3
4115 A341+i fix
4160 A329, A32A 22,8A
Basic Peeks
6 A32B
869 A341+i FNcst
870 b0 DEF FNb(a)=PEEK(b0+a):DEF FNw(a)=PEEK(b0+a)+&100*PEEK(b0+a+1) : b0=&A380 -> Line 4202
Engine
Fullsize 75F0 - A4FF :
? 75F0 - 7BFF :
TAPECACHE 7C00 - 847F : 2K Tapebuffer = &0800
? 8480 - 85FF : Gap filled with &00
NAME 8A2A - 8A2F ; KAISER - Dateiname
Tapeaction 8A30 - 8A66 ; Laderoutine Kroenung
8A70 - 8A7B ; Selcet Memory and Load
Select 8A80 - 8A9C ; Select Memory for Save and Save
Tapeaction 8AA0 - 8AC2 ; Saveroutine ?
8AD0 - 8A8F ; Save Game 0000-B7FF und Stack BE00-BFFF
Loader 8B00 - 8BFF ; Copy of loader BE00-BEFF
8B20 - ; Save Game 0000-B7FF und Stack BE00-BEFF
Paper 9000 - 90EE ; entry 90c8
9000 - 90C7 : Paper-Form
90C8 - 90EE : Paper-Routine
Unknown 90EF - 90FF :
Waage 9100 - 9284 : entry 91DF
9100 - 91BF : Grafiks
91C0 - 9284 : Waage-Routine
9900 - 9A00 : War
9A00 - Text Krieg
9A60 - ?
9A70 - Angreifer
Symbols A500 - AC00 : Zeichensatz
Kroenung: eigenständige Datei
Fullsize 4000 - &7FFF : Size 16K &4000
entry &4a00 -> &4f70
&4FB7 LD HL,&B1D9 -> LD HL,&B7D4 :HW-Colours
&4FE1 LD HL,&B1D9 -> LD HL,&B7D4 :HW-Colours
All Firmwares
464 6128
B1D9 B7D4 hw pen and paper colors
B939 B941 OK
B93D B945 OK
B176 B426 464(B107-B186) 6128(B3B4-B8B3)
B4F5 B63F OK
B96E B971 OK
B970 B978 OK
B187 B434
B530 ? ?
BCAA auf 899e
BCBE auf 9cba
Wer lust hat kann sich ja bei mir melden, such speziel jemanden der mir interuptgesteurt soundwieder-korregiert
Was noch nicht funktioniert Sound -> Krieg -> und von der krönung der Text und die Runterfahrende Krone
Wie ist denn hier der aktuelle Stand?
Gibt es eine mittlerweile eine lauffähige 6128 Version?
So melde mich auch mal das was er meint ist tatsächlich möglich
Dazu geht man wie folgt vor
10 REM ::: :CODE ;achtung da sinde 2 leerstellen sehr wichtig
nun poke man den 2ten : Doppelpunkt weg Poke &170+LB+HB+TOKEN(REM)+:,0
also Poke &174,0
so nun hat er gewünschten effeckt
auch wahr,
btw bin grad im chat
hab ich idee , wenn quelle null ignorieren wenn nicht kopieren und auf null setzen wenn quelle komplett null ist hast du alles
Hee leuts ich bin für ein
PUSH HL
Wie währe es mit DIM A("A","B") habs aber selbst lange nicht mehr gemacht.
Mit dim kannste nämlich arrays erzeugen .
Zu deiner frage b=rnd(16384)
poke ziel+b,peek(quell+b)
hehe
ist nur ein beispiel musst halt dann nur aufpassen das keine zahl 2 mal vorkommt und keine nachkommazahl hat
Hi, nette board hier.
Bin selbst ein alter CPC-Suchti. Hatte damals auch einen 6128 mit GT65 und Scartkabel + Dobbertin-X-Floppy, leider beim Umbau in PC-Gehäuse geschrottet.
Hab zu Zeit WINCPC recht guter CPC-Emu.
Nun hats mich wieder erwicht, damals hatte ich selbst ein paar Routinen in ASM geschrieben. Leider hab ich ich die Listen davon nicht mehr aber vieleicht kann mir ja einer von euch helfen. MIt dem Basic-Code kann ich für die das Vertikale und Horizontale einblenden des Screen schon dienen, leider bekomme ich das nicht so ganz in asm hin.
1 rem Bild aufbau von oben nach unten
10 Mode 0
20 CLS
30 gq=16384:Rem hier vorher ein bild hinladen memory &3fff vorher nicht vergessen
40 gz=49152: Rem screenspeicher hier wird das bild hingepoked
50 for tn=0 to 1999 step 80
60 for n=0 to 7
70 tr=n*2048
80 for tp=0 to 79
90 poke gz+tn+tr+tp,peek(gq+tn+tr+tp)
100 next:next:next
Alles anzeigen
Aufbau von links nach rechts folgt noch.
So wie versproch der nächste Basic-Code von links nach rechts
1 rem bildaufbau von links nach rechts
10 MODE 1:REM MODE anpassen wenn nötig
20 gq=16384:REM MEMORY &3FFF und bild nach &4000 (16384) nicht vergessen
30 gz=49152
40 for cols=0 to 79
50 for t=0 to 24
60 for p=0 to 7
70 poke gz+p*2048,peek(gq+p*2048)
80 next p
90 gz=gz+80:gq=gq+80
100 next
110 gz=49153:gq=16385:rem adressen zurücksetzen und um eins erhöhen
120 gq=gq+cols:gz=gz+cols:rem nächstes pixel in der zeile bestimmen
130 next
Alles anzeigen
habs eben mal neu gecodet *ggg*
So nun beides in einem achtet auf st
Auch hier gilt erst eine Memory &3fff und laden eines bildes nach &4000
10 REM Bildaufbau hori und vert kann gesteuert durch st
20 REM Ihr koennt ja mal mit st bis 79 probieren
30 st=20: REM 1=vert 79=hori
40 FOR b=0 TO 79 STEP st+1
50 gq=16384:REM hier vorher ein bild hinladen memory &3fff vorher nicht vergessen
60 gz=49152: REM screenspeicher hier wird das bild hingepoked
70 FOR tn=0 TO 1999 STEP 80
80 FOR n=0 TO 7
90 tr=n*2048
100 FOR tp=b+0 TO b+st
110 POKE gz+tn+tr+tp,PEEK(gq+tn+tr+tp)
120 NEXT:NEXT:NEXT
130 NEXT b
140 PRINT:PRINT:PRINT:PRINT
Alles anzeigen
So nu werd ich gemein der erste RSXler für euch
Der macht das gleiche wie das erste script nur in ASM/Maschinensprache als RSX
|SCRDOWN,mode
.kl_log_ext equ &bcd1
ORG &8000
ld hl,work_space ;;address of a 4 byte workspace useable by Kernel
ld bc,jump_table ;;address of command name table and routine handlers
jp kl_log_ext ;;Install RSX's
.work_space ;Space for kernel to use
defs 4
.jump_table
defw name_table
jp scrdown
name_table
defb "SCRDOW","N"+&80
defb 0
scrdown
di
ld a,(ix+0) ; get screen mode from |SCRDOWN,x
call &bc0e
.start
LD HL,&C000 ;HL is 'adr' variable
LD DE,&4000
LD C,200 ;Rows
.clear_area
PUSH HL
PUSH DE
LD B,80
.clear_line
LD A,(DE)
LD (HL),A
INC HL
INC DE
DJNZ clear_line
POP DE
CALL scr_sou_next_line
POP HL
CALL scr_next_line ;SCR_NEXT_LINE
DEC C
JR NZ,clear_area
ei
RET
scr_next_line:
ld a,h
add a,8
ld h,a
ret nc
ld a,l
add a,&50
ld l,a
ld a,h
adc a,&c0
ld h,a
ret
scr_sou_next_line:
ld a,d
add a,8
ld d,a
cp &80
ret c
ld a,e
add a,&50
ld e,a
ld a,d
adc a,&C0
ld d,a
ret
Alles anzeigen
Danke noch an Devil und seinem Dritten unbekannten , für den letzten tip, manchmal hat man halt ein Brett vorm Kopf.
naja wie gesagt, hab da lange nicht mehr drauf gecoded
oops da war ein fehler-teufel jetzt stimmts aber.
MfG BAD_CPC