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.
Peri Noid:
wcale nie jest tak, że pierwszy bajt jest na A, drugi na X, a reszta... gdzieś (znów kluczem jest to co siedzi pod adresem $1803SET $E=$2000
SET $491=$2000
PROC WAIT=*(BYTE FRAMES)[$A2$0$86$14$C5$14$D0$FC$60]
PROC MAIN()
WAIT(100)
RETURN
;----------------------------------
2000: A2 00 LDX #$00
2002: 86 14 STX $14 ;RTCLOK+2
2004: C5 14 CMP $14 ;RTCLOK+2
2006: D0 FC BNE $2004
2008: 60 RTS
2009: 4C 0C 20 JMP $200C
200C: A9 64 LDA #$64
200E: 20 00 20 JSR $2000
2011: 60 RTS
2012: 60 RTS
BYTE RTCLOCK=$14
PROC WAIT(BYTE FRAMES)
FRAMES==+RTCLOCK
WHILE FRAMES<>RTCLOCK DO OD
RETURN
;----------------------------------
20CE: 00 BRK
20CF: 4C D2 20 JMP $20D2
20D2: 8D CE 20 STA $20CE
20D5: 18 CLC
20D6: AD CE 20 LDA $20CE
20D9: 65 14 ADC $14 ;RTCLOK+2
20DB: 8D CE 20 STA $20CE
20DE: AD CE 20 LDA $20CE
20E1: 45 14 EOR $14 ;RTCLOK+2
20E3: D0 03 BNE $20E8
20E5: 4C EB 20 JMP $20EB
20E8: 4C DE 20 JMP $20DE
20EB: 60 RTS
2007: 20 29 9E JSR $9E29
200E: AD 00 20 LDA $2000
2011: 6D 01 20 ADC $2001
2014: 85 AE STA $AE ;LELNUM+1
2016: 18 CLC
2017: AD 02 20 LDA $2002
201A: 65 AE ADC $AE ;LELNUM+1
201C: 8D 02 20 STA $2002
201F: AD 03 20 LDA $2003
2022: 69 00 ADC #$00
2024: 8D 03 20 STA $2003
2027: AD 03 20 LDA $2003
202A: 85 A1 STA $A1 ;TSLNUM+1
202C: AD 02 20 LDA $2002
202F: 85 A0 STA $A0 ;TSLNUM
2031: 60 RTS
wait lda 20
cmp 20
beq *-2
rts
2000: A2 00 LDX #$00
2002: 86 14 STX $14 ;RTCLOK+2
2004: C5 14 CMP $14 ;RTCLOK+2
2006: D0 FC BNE $2004
2008: 60 RTS
lda RTCLOK+2
?w cmp RTCLOK+2
beq ?w
lda #n
clc
adc RTCLOK+2
?w cmp RTCLOK+2
bne ?w
lda #<n
clc
adc RTCLOK+2
tay
lda #>n
adc RTCLOK+1
tax
lda #^n
adc RTCLOK
?w cmp RTCLOK
bne ?w
cpx RTCLOK+1
bne ?w
cpy RTCLOK+2
bne ?w
ldy #<procedura
ldx #>procedura
lda #9 ;TIMVEC2
jsr JSETVBV
ldy #<n
ldx #>n
lda #2 ;TIMCNT2
jsr JSETVBV
...
procedura:
...
rts
ldy #<n
ldx #>n
lda #5 ;TIMCNT5
jsr JSETVBV
?w lda TIMFLG5
bne ?w
PROC WAIT=*(BYTE F)[$18$65$14$C5$14$D0$FC$60]
PROC MAIN()
WAIT(100)
RETURN
;--------------------------------
2000: 18 CLC
2001: 65 14 ADC $14 ;RTCLOK+2
2003: C5 14 CMP $14 ;RTCLOK+2
2005: D0 FC BNE $2003
2007: 60 RTS
2008: 4C 0B 20 JMP $200B
200B: A9 64 LDA #$64
200D: 20 00 20 JSR $2000
2010: 60 RTS
2011: 60 RTS
mono:
Multiplikacja sprajtow w rastrze. IDEA.SET $E=$2000
SET $491=$2000
PROC WAIT=*(BYTE F)[$18$65$14$C5$14$D0$FC$60]
PROC MAIN()
WAIT(100)
RETURN
2000: 18 CLC
2001: 65 14 ADC $14 ;RTCLOK+2
2003: C5 14 CMP $14 ;RTCLOK+2
2005: D0 FC BNE $2003
2007: 60 RTS
2008: 4C 0B 20 JMP $200B
200B: A9 64 LDA #$64
200D: 20 00 20 JSR $2000
2010: 60 RTS
2011: 60 RTS
2000: 00 BRK
2001: 4C 04 20 JMP $2004
2004: 8D 00 20 STA $2000
2007: 18 CLC
2008: 65 14 ADC $14 ;RTCLOK+2
200A: C5 14 CMP $14 ;RTCLOK+2
200C: D0 FC BNE $200A
200E: 60 RTS
200F: 4C 12 20 JMP $2012
2012: A9 64 LDA #$64
2014: 20 01 20 JSR $2001
2017: 60 RTS
2018: 60 RTS
PROC Open=*(BYTE d CARD s BYTE m, a)
[$86$A1$20 _LODCHN $A5$A1$20
_STONAM $A5$A3$9D$4A$03$A5$A4$9D$4B
$03$A9$03$9D$42$03$20 _GOCIO $8A$4A
$4A$4A$4A$AA$A9$00$9D$C0$05$60]
PROC Open=*(BYTE d,BYTE ARRAY f,BYTE m,a2)
[$48$A186$A284$A8$A9$0$99 EOF$A8$A1B1$8D OpenBuf $A8$C8$9BA9$2D0$A1B1$99 OpenBuf $88$F8D0
$68$A2 OpenBufL $A0 OpenBufH $20Opn$4C ChkErr]
Zbyti:
Może obadam co z tym zrobić, albo zapytam autora tej zmiany na AA o jej powód,CHAR ARRAY TX="D:VIRUS.FNT"
PROC MAIN()
CLOSE(2)
OPEN(2,TX,4,128)
POKE($362,7)
POKEC($364,$4000) POKEC($368,$400)
[162 32 32 $56 $E4 133 $A3]
CLOSE(2)
RETURN
SET $E=$2000
SET $491=$2000
CARD SDLSTL=$230
BYTE ARRAY
P=0,
DL=[$70 $44 0 $40
4 4 4 4 4 4 4 4 4 4 4 4 4 4
4 4 4 4 4 4 4 4 4 4 4 4 4 4
$41 0 0]
;M=4 LOAD, M=8 SAVE
PROC LOAD(CARD FILE,SADDR,NBYTES, BYTE M)
CLOSE(2) OPEN(2,FILE,M,128)
IF M=4 THEN POKE($362,7)
ELSE POKE($362,11) FI
POKEC($364,SADDR) POKEC($368,NBYTES)
[162 32 32 $56 $E4 133 $A3] CLOSE(2)
RETURN
PROC MAIN()
CHAR ARRAY
FILE1="H1:VIRUS.SCR",
FILE2="H1:VIRUS.FNT"
P(712)=0
P(708)=$20
P(709)=$14;$16
P(710)=$F8;$FA
P(711)=$1F
LOAD(FILE1,$4000,$460,4)
LOAD(FILE2,$5000,$400,4)
P(756)=$50
SDLSTL=DL
RETURN
{
"shell_cmd": "xfce4-terminal -x atari800 -cart /home/zbyti/Retro/Atari/tools/Action/car/ACTION-37-ROM-Plain-16k.car -turbo -playback /home/zbyti/Retro/Atari/action-compile; atari800 -cart /home/zbyti/Retro/Atari/tools/Action/car/ACTION-37-ROM-Plain-16k.car /home/zbyti/Atari8HDD/MAIN.OBJ",
"selector": "source.action"
}
alias action="atari800 -cart /home/zbyti/Retro/Atari/tools/Action/car/ACTION-37-ROM-Plain-16k.car"
alias action-compile="action -turbo -playback /home/zbyti/Retro/Atari/action-compile >> /dev/null; action /home/zbyti/Atari8HDD/MAIN.OBJ"
-record <filename> Record input to <filename>
-playback <filename> Playback input from <filename>
C "H6:MAIN.ACT"
{
"shell_cmd": "xfce4-terminal -x atari800 -cart /home/zbyti/Retro/Atari/tools/Action/car/ACTION-37-ROM-Plain-16k.car -state /home/zbyti/Retro/Atari/action-compile.a8",
"selector": "source.action"
}
SET $E=$2000
SET $491=$2000
BYTE
WSYNC=$D40A,
VCOUNT=$D40B,
COLPF2=$D018
PROC MAIN()
BYTE
CHGCLR=[0],
CLR,INCCLR
GRAPHICS(0)
PUTE()
FOR CLR=1 TO 23 DO
PRINTE("ZMIANA KOLOROW TLA")
OD
PRINT("ZMIANA KOLOROW TLA ")
DO
FOR CLR=1 TO 4 DO
INCCLR=CHGCLR
DO
WSYNC=0
COLPF2=INCCLR
INCCLR==+1
UNTIL VCOUNT&128
OD
OD
CHGCLR==+1
OD
RETURN
mono:
Atari 130XETDC:
Bo w tym miejscu cartridge Action! trzyma kod programu, co jest niezwykle niewygodne.; BIGST.ACT
; copyright (c) 1984
; by Action Computer Services
; All Rights Reserved
; This program will create a big
; global symbol table (max 510
; entries, normally 255) when run.
; It will boot the cartridge as well,
; so you must not have anything in
; the Editor that you want. It does
; not increase the space used to
; store variable names. If you want
; to increase this as well, you will
; have to 'SET $495 = #' in the
; monitor after running this program.
; # is the number of pages you want
; to be used for name storage (each
; page is 256 bytes, default is 8).
; You must use the correct version of
; Cold below:
; version 3.0 ACTION! ROM
;PROC Cold=$A323()[]
; version s 3.1 to 3.6 ACTION! ROMs
PROC Cold=$A326()[]
PROC BigSymbolTable()
CHAR bigST=$4C4
BYTE EBank=$D503
Zero($480, 255)
; following statement causes all
; variables starting with uppercase
; letters to go into one half of the
; global symbol table and variables
; starting with lowercase letters to
; go into other half (255 entries in
; each half). If you use mostly
; uppercase variable (this includes
; PROC/FUNC names) use 'M. If you
; use mostly lowercase variables then
; use 'm.
bigST = 'a
; boot cartridge with big S.T.
; Will not return.
EBank = 0
Cold()
RETURN
Zbyti:
A najlepiej jakby powstał Effectus i można by te kombinacje do kosza wywalić bo miałby wszystkie możliwości Mad Pascala w tym zakresie :D