Jeśli chcesz wziąć udział w dyskusjach na forum - zaloguj się. Jeżeli nie masz loginu - poproś o członkostwo.
Vanilla 1.1.4 jest produktem Lussumo. Więcej informacji: Dokumentacja, Forum.
DLI00=[PHA LDAI $8C STA $0A $D4 STA $18 $D0 LDAI $3C STA 0 2 LDAI $20 STA 1 2 PLA RTI],
DLI01=[PHA LDAI $8A STA $0A $D4 STA $18 $D0 LDAI $53 STA 0 2 LDAI $20 STA 1 2 PLA RTI],
DLI02=[PHA LDAI $88 STA $0A $D4 STA $18 $D0 LDAI $6A STA 0 2 LDAI $20 STA 1 2 PLA RTI],
DLI03=[PHA LDAI $86 STA $0A $D4 STA $18 $D0 LDAI $81 STA 0 2 LDAI $20 STA 1 2 PLA RTI],
DLI04=[PHA LDAI $84 STA $0A $D4 STA $18 $D0 LDAI $98 STA 0 2 LDAI $20 STA 1 2 PLA RTI],
DLI05=[PHA LDAI $82 STA $0A $D4 STA $18 $D0 LDAI $AF STA 0 2 LDAI $20 STA 1 2 PLA RTI],
DLI06=[PHA LDAI $80 STA $0A $D4 STA $18 $D0 LDAI $C6 STA 0 2 LDAI $20 STA 1 2 PLA RTI],
DLI07=[PHA LDAI 0 STA $0A $D4 STA $18 $D0 PLA RTI]
DLI=[
PHA
LDAI $8C STA $0A $D4 STA $18 $D0
DEC $27 $20 DEC $27 $20
CMPI $80 BNE $A LDAI 0 STA $18 $D0 LDAI $8C STA $27 $20
PLA
RTI
]
exomizer sfx sys -n -t 168 -o SCREXO.XEX SCRAMBLE.XEX
;---------------------------------------------------------------
; CODEBASE START
;---------------------------------------------------------------
SET $E=$1000
SET $491=$1000
;---------------------------------------------------------------
; DEFINED CONSTANTS
;---------------------------------------------------------------
; MSB OF SET CODEBASE
DEFINE CBMSB="$10"
;-----------------------------------------------------------------
; LAUNCH PROCEDURE
;-----------------------------------------------------------------
PROC MAIN()
SDMCTL=0 INIT() SDMCTL=$22
SETVBLK(7,(VBLANKD RSH 8),VBLANKD)
WHILE CH#$1C DO OD ; press ESC
SETVBLK(7,(OLDVBL RSH 8),OLDVBL)
; GRAPHICS(0)
RETURN
; oryginalny runtime plikowy
SET $4E6=RShift
PROC RShift=*()
[$84A4$AF0$8586$8546$6A$88$FAD0$85A6$60]
; Runtime von Jeff Reister (używana przeze mnie, działający)
PROC _RSHOP=*()
SET $4E6 = _RSHOP
[$A4$84$F0$0A$86$86$46$86$6A$88$D0$FA
$A6$86$60]
; Action! 3.7P
9E1A: A4 84 LDY $84 ;VNTD
9E1C: F0 0A BEQ $9E28
9E1E: 86 85 STX $85 ;VNTD+1
9E20: 46 85 LSR $85 ;VNTD+1
9E22: 6A ROR
9E23: 88 DEY
9E24: D0 FA BNE $9E20
9E26: A6 85 LDX $85 ;VNTD+1
9E28: 60 RTS
exomizer sfx sys -n -t 168 -o graexo.xex gra.xex
BYTE ARRAY MATRIX=0
CARD TMP=[$2050]
PROC MAIN()
PRINTF("%H%E",MATRIX(@TMP))
PRINTF("%H%E",MATRIX(@TMP+1))
RETURN
BYTE ARRAY MATRIX=0
PROC FOO()
RETURN
PROC MAIN()
CARD TMP
TMP=FOO
PRINTF("%H%E",FOO);
PRINTF("%H%E",MATRIX(@TMP));
PRINTF("%H%E",MATRIX(@TMP+1));
RETURN
DEFINE COLOR2="$2C6"
SET $E=$2000
SET $491=$2000
BYTE ARRAY MATRIX=0
PROC MAIN()
MATRIX(COLOR2)=2
RETURN
; 2000: 00 BRK
; 2001: 00 BRK
; 2002: 4C 05 20 JMP $2005
; 2005: 18 CLC
; 2006: AD 00 20 LDA $2000
; 2009: 69 C6 ADC #$C6
; 200B: 85 AE STA $AE ;LELNUM+1
; 200D: AD 01 20 LDA $2001
; 2010: 69 02 ADC #$02
; 2012: 85 AF STA $AF ;STENUM
; 2014: A9 02 LDA #$02
; 2016: A0 00 LDY #$00
; 2018: 91 AE STA ($AE),Y ;LELNUM+1
; 201A: 60 RTS
; 201B: 60 RTS
PROC Poke=*(CARD a BYTE v)
[$85$A0$86$A1$98$A0$00$91$A0$60]
PROC PokeC=*(CARD a, v)
[$20 Poke $C8$A5$A3$91$A0$60]
BYTE FUNC Peek=*(CARD a)
CARD FUNC PeekC=*(CARD a)
[$85$A2$86$A3$A0$00$B1$A2$85$A0$C8$B1
$A2$85$A1$60]
DEFINE COLOR2="$2C6"
SET $E=$2000
SET $491=$2000
PROC POKE=*(CARD a BYTE v)
[$85$A0$86$A1$98$A0$00$91$A0$60]
PROC MAIN()
POKE(COLOR2,2)
RETURN
; 2000: 85 A0 STA $A0 ;TSLNUM
; 2002: 86 A1 STX $A1 ;TSLNUM+1
; 2004: 98 TYA
; 2005: A0 00 LDY #$00
; 2007: 91 A0 STA ($A0),Y ;TSLNUM
; 2009: 60 RTS
; 200A: 4C 0D 20 JMP $200D
; 200D: A0 02 LDY #$02
; 200F: A2 02 LDX #$02
; 2011: A9 C6 LDA #$C6
; 2013: 20 00 20 JSR $2000
; 2016: 60 RTS
; 2017: 60 RTS
SET $E=$2000
SET $491=$2000
CARD SAVMSC=88
CARD POINTER SCREEN
PROC MAIN()
SCREEN=SAVMSC
SCREEN==+240
SCREEN^=33
RETURN
; 2000: 00 BRK
; 2001: 00 BRK
; 2002: 4C 05 20 JMP $2005
; 2005: A5 59 LDA $59 ;SAVMSC+1
; 2007: 8D 01 20 STA $2001
; 200A: A5 58 LDA $58 ;SAVMSC
; 200C: 8D 00 20 STA $2000
; 200F: 18 CLC
; 2010: AD 00 20 LDA $2000
; 2013: 69 F0 ADC #$F0
; 2015: 8D 00 20 STA $2000
; 2018: AD 01 20 LDA $2001
; 201B: 69 00 ADC #$00
; 201D: 8D 01 20 STA $2001
; 2020: AD 00 20 LDA $2000
; 2023: 85 AE STA $AE ;LELNUM+1
; 2025: AD 01 20 LDA $2001
; 2028: 85 AF STA $AF ;STENUM
; 202A: A9 00 LDA #$00
; 202C: A0 01 LDY #$01
; 202E: 91 AE STA ($AE),Y ;LELNUM+1
; 2030: A9 21 LDA #$21
; 2032: 88 DEY
; 2033: 91 AE STA ($AE),Y ;LELNUM+1
; 2035: 60 RTS
; 2036: 60 RTS
SET $E=$2000
SET $491=$2000
BYTE ARRAY SCREEN
CARD SAVMSC=88
PROC MAIN()
SCREEN=SAVMSC
SCREEN(240)=33
RETURN
; 2000: 00 BRK
; 2001: 00 BRK
; 2002: 4C 05 20 JMP $2005
; 2005: A5 59 LDA $59 ;SAVMSC+1
; 2007: 8D 01 20 STA $2001
; 200A: A5 58 LDA $58 ;SAVMSC
; 200C: 8D 00 20 STA $2000
; 200F: 18 CLC
; 2010: AD 00 20 LDA $2000
; 2013: 69 F0 ADC #$F0
; 2015: 85 AE STA $AE ;LELNUM+1
; 2017: AD 01 20 LDA $2001
; 201A: 69 00 ADC #$00
; 201C: 85 AF STA $AF ;STENUM
; 201E: A9 21 LDA #$21
; 2020: A0 00 LDY #$00
; 2022: 91 AE STA ($AE),Y ;LELNUM+1
; 2024: 60 RTS
; 2025: 60 RTS
DEFINE COLOR2="$2C6"
SET $E=$2000
SET $491=$2000
BYTE FUNC PEEK=*(CARD a)
[$85$A2$86$A3$A0$00$B1$A2$85$A0$C8$B1$A2$85$A1$60]
PROC MAIN()
BYTE COLOR
COLOR=PEEK(COLOR2)
RETURN
; 2000: 85 A2 STA $A2 ;MVLNG
; 2002: 86 A3 STX $A3 ;MVLNG+1
; 2004: A0 00 LDY #$00
; 2006: B1 A2 LDA ($A2),Y ;MVLNG
; 2008: 85 A0 STA $A0 ;TSLNUM
; 200A: C8 INY
; 200B: B1 A2 LDA ($A2),Y ;MVLNG
; 200D: 85 A1 STA $A1 ;TSLNUM+1
; 200F: 60 RTS
; 2010: 00 BRK
; 2011: 4C 14 20 JMP $2014
; 2014: A2 02 LDX #$02
; 2016: A9 C6 LDA #$C6
; 2018: 20 00 20 JSR $2000
; 201B: A5 A0 LDA $A0 ;TSLNUM
; 201D: 8D 10 20 STA $2010
; 2020: 60 RTS
DEFINE COLOR2="$2C6"
SET $E=$2000
SET $491=$2000
BYTE ARRAY MATRIX=0
PROC MAIN()
BYTE COLOR
COLOR=MATRIX(COLOR2)
RETURN
; 2000: 00 BRK
; 2001: 00 BRK
; 2002: 00 BRK
; 2003: 4C 06 20 JMP $2006
; 2006: 18 CLC
; 2007: AD 00 20 LDA $2000
; 200A: 69 C6 ADC #$C6
; 200C: 85 AE STA $AE ;LELNUM+1
; 200E: AD 01 20 LDA $2001
; 2011: 69 02 ADC #$02
; 2013: 85 AF STA $AF ;STENUM
; 2015: A0 00 LDY #$00
; 2017: B1 AE LDA ($AE),Y ;LELNUM+1
; 2019: 8D 02 20 STA $2002
; 201C: 60 RTS
SCREEN(240)=33
SET $E=$2000
SET $491=$2000
BYTE ARRAY AR(10)
PROC MAIN()
AR(0)=1
RETURN
; 2000: 00 BRK
; 2001: 00 BRK
; 2002: 0A ASL
; 2003: 00 BRK
; 2004: 00 BRK
; 2005: 00 BRK
; 2006: 00 BRK
; 2007: 00 BRK
; 2008: 00 BRK
; 2009: 00 BRK
; 200A: 4C 0D 20 JMP $200D
; 200D: A9 01 LDA #$01
; 200F: 8D 00 20 STA $2000
; 2012: 60 RTS
; 2013: 60 RTS
SET $E=$2000
SET $491=$2000
CARD SAVMSC=88
BYTE ARRAY SCREEN
PROC MAIN()
BYTE I=[0]
SCREEN=SAVMSC+240
FOR I=0 TO 9 DO
SCREEN(I)=33+I
OD
RETURN
; 2000: 00 BRK
; 2001: 00 BRK
; 2002: 00 BRK
; 2003: 4C 06 20 JMP $2006
; 2006: 18 CLC
; 2007: A5 58 LDA $58 ;SAVMSC
; 2009: 69 F0 ADC #$F0
; 200B: 8D 00 20 STA $2000
; 200E: A5 59 LDA $59 ;SAVMSC+1
; 2010: 69 00 ADC #$00
; 2012: 8D 01 20 STA $2001
; 2015: A0 00 LDY #$00
; 2017: 8C 02 20 STY $2002
; 201A: A9 09 LDA #$09
; 201C: CD 02 20 CMP $2002
; 201F: B0 03 BCS $2024
; 2021: 4C 44 20 JMP $2044
; 2024: 18 CLC
; 2025: AD 00 20 LDA $2000
; 2028: 6D 02 20 ADC $2002
; 202B: 85 AE STA $AE ;LELNUM+1
; 202D: AD 01 20 LDA $2001
; 2030: 69 00 ADC #$00
; 2032: 85 AF STA $AF ;STENUM
; 2034: 18 CLC
; 2035: A9 21 LDA #$21
; 2037: 6D 02 20 ADC $2002
; 203A: A0 00 LDY #$00
; 203C: 91 AE STA ($AE),Y ;LELNUM+1
; 203E: EE 02 20 INC $2002
; 2041: 4C 1A 20 JMP $201A
; 2044: 60 RTS
; 2045: 60 RTS