JavaCPC Update auf v2.9.5d ist verfügbar!
Update von v2.9.5b auf v 2.9.5d Änderungen:
Neue Funktionen:
- ModeX Paint zugefügt (Verfügbar über das Menü, Experimentiell)
- 4MB SNApshots können nun gespeichert und gelesen werden (SNA V2 Kompatibel)
Download hier:
https://sourceforge.net/projects/javacpc/files/JavaCPC%20Desktop/
Ihr könnt natürlich auch die interne Updatefunktion benutzen!
Was ist denn ModeX?
Ein spezieller Grafikmodus.
Damit sind mehr Farben möglich, und der Benutzer hat den Eindruck, es sind Grafiken in MODE 1 (Sind es ja zu 50% auch, jede Zeile wechselt zwischen MODE 0 und MODE 1)
Beispiel:
Quote from: Devilmarkus on 28. February 2017, 13:00:41
Ein spezieller Grafikmodus.
Damit sind mehr Farben möglich, und der Benutzer hat den Eindruck, es sind Grafiken in MODE 1 (Sind es ja zu 50% auch, jede Zeile wechselt zwischen MODE 0 und MODE 1)
Ich dachte der Rasterinterrupt beim CPC kann nicht jede einzelne Zeile manipulieren.
Der Source-Code (Für den Overscan-Modus)
ORG #8600
run &8600
; ENT $
;
;
; copyriht CMP / IMPACT In 2016
; Multi Mode by line
; for my friend DevilMarkus
; colours use system values.
call overscan
DI
LD hl,(#38)
LD (INTER),hl
LD hl,#c9fb
LD (#38),hl
;
EI
;call pen change the inks
LD HL, #801
BCL: LD B, (HL)
LD C, B
PUSH AF
PUSH HL
CALL #BC32
POP HL
POP AF
INC HL
INC A
CP #10
JR NZ,BCL
call &BD19
call &BD19
call &BD19
call &BD19
;;call Fill
main0
LD b,#F5
sync0 IN a,(c)
RRA
jr nc,sync0
;
ld b,32 ;3
visu
DS 60 ; on attents 32 lignes pou
DJNZ visu ;
call Xmode
;test space
space
LD bc,#F40E
OUT (c),c
LD bc,#F6C0
OUT (c),c
XOR a
OUT (c),a
LD bc,#F792
OUT (c),c
DEC b
LD c,#46-1 ;CTRL
OUT (c),c
LD b,#F4
IN a,(c)
LD bc,#F782
OUT (c),c
DEC b
LD c,#00
OUT (c),c
AND #80
JP nz,main0
; retour au systeme et restaure interruption z80
sys
;
LD hl,(INTER)
LD (#38),HL
EI
;
RET
INTER DW 0
;
Xmode
ld hl,tableXmode
ld b,200 ;egal valeur #30 en hex de demoniak
loopmode
push bc
ld a,(hl)
ld b,#7F
ld c,a
out (c),c
ds 42,0
inc hl
pop bc
dec b
jp nz,loopmode
ld b,72 ;egal valeur #30 en hex de demoniak
loopmode2
push bc
ld a,(hl)
ld b,#7F
ld c,a
out (c),c
ds 42,0
inc hl
pop bc
dec b
jp nz,loopmode2
ret
tableXmode
repeat 136
DB &9D
DB &9C
rend
; 8C=0 8D=1 8E=2
;;;;;;;;;;;;;
;;;;;;;;;;;;;;;;;;;;;;;;;;;
overscan
ld bc,#bc01
out (c),c
ld bc,#bd30
out (c),c
ld bc,#bc02
out (c),c
ld bc,#bd32
out (c),c
ld bc,#bc06
out (c),c
ld bc,#bd23
out (c),c
ld bc,#bc07
out (c),c
ld bc,#bd23
out (c),c
ld bc,#bc0c
out (c),c
ld bc,#bd0d ;0D pour demoniak 3D pour CMP
out (c),c
ld bc,#bc0d
out (c),c
ld bc,#bd00
out (c),c
ret
Source für den normalen Modus:
ORG #8600
run #8600
; ENT $
;
;
; copyright CMP / IMPACT In 2016
; Multi Mode by line
; for my friend DevilMarkus
; colours use system values.
LD HL, #D7D1
BCL: LD B, (HL)
LD C, B
PUSH AF
PUSH HL
CALL #BC32
POP HL
POP AF
INC HL
INC A
CP #10
JR NZ,BCL
call &BD19
call &BD19
call &BD19
call &BD19
DI
LD hl,(#38)
LD (INTER),hl
LD hl,#c9fb
LD (#38),hl
;
EI
main0
LD b,#F5
sync0 IN a,(c)
RRA
jr nc,sync0
;
ld b,70 ;3
visu DS 60 ; on attents 32 lignes pou
DJNZ visu ;
;
ds 34,0 ;54
call Xmode
;test space
space
LD bc,#F40E
OUT (c),c
LD bc,#F6C0
OUT (c),c
XOR a
OUT (c),a
LD bc,#F792
OUT (c),c
DEC b
LD c,#46-1 ;CTRL
OUT (c),c
LD b,#F4
IN a,(c)
LD bc,#F782
OUT (c),c
DEC b
LD c,#00
OUT (c),c
AND #80
JP nz,main0
; retour au systeme et restaure interruption z80
sys
;
LD hl,(INTER)
LD (#38),HL
EI
;
RET
INTER DW 0
;
Xmode
ld hl,tableXmode
ld b,200
loopmode
push bc
ld a,(hl)
ld b,#7F
ld c,a
out (c),c
ds 42,0
inc hl
pop bc
dec b
jp nz,loopmode
ret
tableXmode
;;MODES: 9C=0 9D=1 9E=2
repeat 800
db #9C
db #9D
rend
Danke. :smiley027:
Wichtige Bugfixes!
Update von v2.9.5d auf 2.9.5e Changelog:
- Wichtiger Bugfix im ROM-Handling (JavaCPC konnte nicht mehr erkennen, welches OS ROM gewählt wurde, was für einige Apps Wichtig ist)
- Bugfix im JavaCPC Paint
- Bugfix in der GUI für ModeXPaint