CPC Wiki Forum Die Amstrad-CPC-Community

JavaCPC Updates & Neuigkeiten 📌 Przypięty

Rozpoczęty przez Devil-System · 2017-02-27 20:04 · Odpowiedzi: 6 · Wyświetlenia: 12958
#1
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!
👍 0👎 0
#2
Was ist denn ModeX?
CPC 464/6128, 464/6128+, GX4000 | Atari 2600, 600XL, 800XL/XE, Portfolio | C64/II/G/R/SX, VC20, TC64 | LC 80, MPF-I | ZX81, AX81, ZX Spectrum 48k, ZX Spectrum+2 | Amiga 500/600/2000, A2630, A2088
👍 0👎 0
#3
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:
📎 modex.png
📎 modex.dsk
modex.png
  • 💾modex.dsk199.8 KB · 369 pobrań
👍 0👎 0
#4
— Devilmarkus
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.
CPC 464/6128, 464/6128+, GX4000 | Atari 2600, 600XL, 800XL/XE, Portfolio | C64/II/G/R/SX, VC20, TC64 | LC 80, MPF-I | ZX81, AX81, ZX Spectrum 48k, ZX Spectrum+2 | Amiga 500/600/2000, A2630, A2088
👍 0👎 0
#5
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
👍 0👎 0
#6
Danke.  :smiley027:
CPC 464/6128, 464/6128+, GX4000 | Atari 2600, 600XL, 800XL/XE, Portfolio | C64/II/G/R/SX, VC20, TC64 | LC 80, MPF-I | ZX81, AX81, ZX Spectrum 48k, ZX Spectrum+2 | Amiga 500/600/2000, A2630, A2088
👍 0👎 0
#7
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
👍 0👎 0

Zaloguj się, aby pisać