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
pascal_settings_use_local_variables = 0
system = C64
main_ras_file = none
main_ras_file = piraatti_intro.ras
zeropage_internal1 = $4c
zeropage_internal2 = $4e
zeropage_internal3 = $50
@ -40,7 +40,7 @@ remove_unused_symbols = 1
ignore_initial_jump = 0
current_file = piraatti_intro.ras
output_type = prg
exomizer_toggle = 0
exomizer_toggle = 1
use_track_19 = 1
disable_compiler_comments = 0
charset_ = :resources/character.rom
@ -78,3 +78,7 @@ override_target_settings_sys = 0
override_target_settings_prg = 0
build_list = ,
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 spriteBank 0
spriteCopyBlock : array[63] of byte = buildtable("i") at @spriteLoc;
lookup3Dx : array[40] of integer = buildtable("300 * (i - 20) / 200");
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");
tab40 : array[25] of integer = buildtable("i*40");
@define numberSpriteCopies $5800
@define numberSpriteCopies $5e00
numberSprite0loc : byte = @numberSpriteCopies / 64 + 0;
numberSprite1loc : byte = @numberSpriteCopies / 64 + 1;
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;
numberSpriteFloatY : array[256] of byte = buildtable("Math.cos(i * (3 * 6.28 / 256)) * 5") at $5d00;
numberSprite0FloatOfs : byte = 15;
@ -1322,6 +1326,11 @@ begin
purpleBarEndRasterLine := purpleBarCenter + purpleBarBounce[purpleBounceOfs] + 1;
RasterIRQ(RasterTextPlasma(), 0, @useKernal);
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;
end;
@ -1352,8 +1361,8 @@ begin
fadeTemp := textFadeLumi[fadeOfsCurrent];
Fill(screen_col_loc, fadeTemp, 255);
FillFast(screen_col_loc + 256, fadeTemp, 127);
Fill(screen_col_loc + 512, fadeTemp, 255);
Fill(screen_col_loc + 768, fadeTemp, 232);
Fill(screen_col_loc + 511, fadeTemp, 255);
Fill(screen_col_loc + 766, fadeTemp, 234);
GoToPurpleBarRasterStart();
if (fadeOfsCurrent >= @textFadeLumiLast) then
begin
@ -1510,5 +1519,9 @@ begin
EnableRasterIRQ();
enableirq();
Loop();
while (true) do
begin
// Main loop "work tasks" here
end;
end.