varattu muistialueet spritekopioita varten taulukoina

This commit is contained in:
gimulnautti 2023-02-19 18:36:47 +02:00
parent 7bd6e2dde2
commit dd9e93958d
2 changed files with 26 additions and 9 deletions

View File

@ -8,7 +8,7 @@ zeropage_decrunch3 = $4a
zeropage_decrunch4 = $4b zeropage_decrunch4 = $4b
pascal_settings_use_local_variables = 0 pascal_settings_use_local_variables = 0
system = C64 system = C64
main_ras_file = none main_ras_file = piraatti_intro.ras
zeropage_internal1 = $4c zeropage_internal1 = $4c
zeropage_internal2 = $4e zeropage_internal2 = $4e
zeropage_internal3 = $50 zeropage_internal3 = $50
@ -40,7 +40,7 @@ remove_unused_symbols = 1
ignore_initial_jump = 0 ignore_initial_jump = 0
current_file = piraatti_intro.ras current_file = piraatti_intro.ras
output_type = prg output_type = prg
exomizer_toggle = 0 exomizer_toggle = 1
use_track_19 = 1 use_track_19 = 1
disable_compiler_comments = 0 disable_compiler_comments = 0
charset_ = :resources/character.rom charset_ = :resources/character.rom
@ -78,3 +78,7 @@ override_target_settings_sys = 0
override_target_settings_prg = 0 override_target_settings_prg = 0
build_list = , build_list = ,
data_header_resources/images/piraattinaamat-2.flf = 0 data_header_resources/images/piraattinaamat-2.flf = 0
disk1_paw = 6.48452e-314
disk1_flf = 6.48452e-314
disk1_type = 6.48452e-314
disk1_name = piraatti_intro.d64

View File

@ -59,6 +59,8 @@ var
@define charSetCopyLoc $c000 @define charSetCopyLoc $c000
@define spriteBank 0 @define spriteBank 0
spriteCopyBlock : array[63] of byte = buildtable("i") at @spriteLoc;
lookup3Dx : array[40] of integer = buildtable("300 * (i - 20) / 200"); lookup3Dx : array[40] of integer = buildtable("300 * (i - 20) / 200");
lookup3Dy : array[25] of integer = buildtable("300 * (i - 11) / 30"); lookup3Dy : array[25] of integer = buildtable("300 * (i - 11) / 30");
@ -239,11 +241,13 @@ text : string = (@cmoveto, 6,10,
tab320 : array[25] of integer = buildtable("i*320"); tab320 : array[25] of integer = buildtable("i*320");
tab40 : array[25] of integer = buildtable("i*40"); tab40 : array[25] of integer = buildtable("i*40");
@define numberSpriteCopies $5800 @define numberSpriteCopies $5e00
numberSprite0loc : byte = @numberSpriteCopies / 64 + 0; numberSprite0loc : byte = @numberSpriteCopies / 64 + 0;
numberSprite1loc : byte = @numberSpriteCopies / 64 + 1; numberSprite1loc : byte = @numberSpriteCopies / 64 + 1;
numberSprite2loc : byte = @numberSpriteCopies / 64 + 2; numberSprite2loc : byte = @numberSpriteCopies / 64 + 2;
numberSpriteCopyBlock : array[192] of byte = buildtable("i") at @numberSpriteCopies;
numberSpriteFloatX : array[256] of byte = buildtable("Math.sin(i * (2 * 6.28 / 256)) * 7 + Math.cos(i * 6.28 / 256) * 20") at $5c00; numberSpriteFloatX : array[256] of byte = buildtable("Math.sin(i * (2 * 6.28 / 256)) * 7 + Math.cos(i * 6.28 / 256) * 20") at $5c00;
numberSpriteFloatY : array[256] of byte = buildtable("Math.cos(i * (3 * 6.28 / 256)) * 5") at $5d00; numberSpriteFloatY : array[256] of byte = buildtable("Math.cos(i * (3 * 6.28 / 256)) * 5") at $5d00;
numberSprite0FloatOfs : byte = 15; numberSprite0FloatOfs : byte = 15;
@ -1322,6 +1326,11 @@ begin
purpleBarEndRasterLine := purpleBarCenter + purpleBarBounce[purpleBounceOfs] + 1; purpleBarEndRasterLine := purpleBarCenter + purpleBarBounce[purpleBounceOfs] + 1;
RasterIRQ(RasterTextPlasma(), 0, @useKernal); RasterIRQ(RasterTextPlasma(), 0, @useKernal);
inc(purpleBounceOfs); inc(purpleBounceOfs);
if (purpleBounceOfs = 10) then FillFast(screen_char_loc + 640, KEY_SPACE, 40);
if (purpleBounceOfs = 50) then FillFast(screen_char_loc + 600, KEY_SPACE, 40);
if (purpleBounceOfs = 50) then FillFast(screen_char_loc + 680, KEY_SPACE, 40);
if (purpleBounceOfs = 120) then FillFast(screen_char_loc + 560, KEY_SPACE, 40);
if (purpleBounceOfs = 120) then FillFast(screen_char_loc + 720, KEY_SPACE, 40);
if (purpleBounceOfs >= @purpleBarBounceSize) then currentPartDone := true; if (purpleBounceOfs >= @purpleBarBounceSize) then currentPartDone := true;
end; end;
@ -1352,8 +1361,8 @@ begin
fadeTemp := textFadeLumi[fadeOfsCurrent]; fadeTemp := textFadeLumi[fadeOfsCurrent];
Fill(screen_col_loc, fadeTemp, 255); Fill(screen_col_loc, fadeTemp, 255);
FillFast(screen_col_loc + 256, fadeTemp, 127); FillFast(screen_col_loc + 256, fadeTemp, 127);
Fill(screen_col_loc + 512, fadeTemp, 255); Fill(screen_col_loc + 511, fadeTemp, 255);
Fill(screen_col_loc + 768, fadeTemp, 232); Fill(screen_col_loc + 766, fadeTemp, 234);
GoToPurpleBarRasterStart(); GoToPurpleBarRasterStart();
if (fadeOfsCurrent >= @textFadeLumiLast) then if (fadeOfsCurrent >= @textFadeLumiLast) then
begin begin
@ -1510,5 +1519,9 @@ begin
EnableRasterIRQ(); EnableRasterIRQ();
enableirq(); enableirq();
Loop(); while (true) do
begin
// Main loop "work tasks" here
end;
end. end.