diff --git a/doc/notes.txt b/doc/notes.txt index 502cd8fd..b6cb3c3a 100644 --- a/doc/notes.txt +++ b/doc/notes.txt @@ -150,7 +150,6 @@ TODO: - upload multiple files/zip file to subdirectory - allow "include graphics.asm" instead of "include project/graphics.asm" - convert more stuff to Promises -- target ES6 - don't have to include firebase always? - squelch error msgs? - test offline? (if window.firebase) @@ -199,6 +198,12 @@ TODO: - https://github.com/cc65/cc65/issues/946 - sample buffer skips +- upgrade to ES2020? + - https://github.com/microsoft/TypeScript/issues/16577 + - https://developer.mozilla.org/en-US/docs/Web/JavaScript/Guide/Modules + - need Edge 79+ + - no import in workers + WEB WORKER FORMAT diff --git a/presets/c64/climber.c b/presets/c64/climber.c index b0d453eb..af47edb2 100644 --- a/presets/c64/climber.c +++ b/presets/c64/climber.c @@ -410,15 +410,14 @@ typedef enum ActorState { typedef struct Actor { word yy; byte x; - byte name; + byte level; + sbyte yvel; + sbyte xvel; unsigned int color1:4; unsigned int color2:4; - byte level; unsigned int state:4; unsigned int dir:1; unsigned int onscreen:1; - sbyte yvel; - sbyte xvel; } Actor; Actor actors[MAX_ACTORS]; @@ -431,7 +430,6 @@ void create_actors_on_floor(byte level_index) { a->state = WALKING; a->color1 = level->ladder1 ^ level->ladder2; a->color2 = level->ladder2; - a->name = 0; a->x = level->ladder1 ^ (level->ladder2<<3) ^ (level->gap<<6); a->yy = get_floor_yy(level_index); a->level = level_index; @@ -713,7 +711,6 @@ void play_scene() { actors[0].state = WALKING; actors[0].color1 = 0x1; actors[0].color2 = 0xb; - actors[0].name = 0; actors[0].x = 64; actors[0].yy = get_floor_yy(0); actors[0].level = 0; diff --git a/presets/nes/climber.c b/presets/nes/climber.c index 9e5658b0..1d55dc17 100644 --- a/presets/nes/climber.c +++ b/presets/nes/climber.c @@ -388,12 +388,12 @@ typedef struct Actor { byte x; // X position in pixels (8 bit) byte floor; // floor index byte state; // ActorState + sbyte yvel; // Y velocity (when jumping) + sbyte xvel; // X velocity (when jumping) int name:2; // ActorType (2 bits) int pal:2; // palette color (2 bits) int dir:1; // direction (0=right, 1=left) int onscreen:1; // is actor onscreen? - sbyte yvel; // Y velocity (when jumping) - sbyte xvel; // X velocity (when jumping) } Actor; Actor actors[MAX_ACTORS]; // all actors diff --git a/presets/vcs/examples/bigsprite.a b/presets/vcs/examples/bigsprite.a index c061cb39..b59fa156 100644 --- a/presets/vcs/examples/bigsprite.a +++ b/presets/vcs/examples/bigsprite.a @@ -53,7 +53,8 @@ NextFrame sta HMP1 ; 1 pixel to the left sta WSYNC sta HMOVE ; apply HMOVE - sta HMCLR + SLEEP 24 ; sleep 24 cycles + sta HMCLR ; clear HMOVE registers lda #1 sta VDELP0 ; we need the VDEL registers sta VDELP1 ; so we can do our 4-store trick diff --git a/presets/vcs/examples/score6.a b/presets/vcs/examples/score6.a index 7ee04a18..230d0721 100644 --- a/presets/vcs/examples/score6.a +++ b/presets/vcs/examples/score6.a @@ -58,6 +58,7 @@ NextFrame sta HMP1 sta WSYNC sta HMOVE + SLEEP 24 ; wait 24 cycles between write to HMOVE and HMxxx sta HMCLR lda #1 sta VDELP0 diff --git a/presets/vcs/examples/tinyfonts.a b/presets/vcs/examples/tinyfonts.a index f7fd22f9..cb34ab48 100644 --- a/presets/vcs/examples/tinyfonts.a +++ b/presets/vcs/examples/tinyfonts.a @@ -49,6 +49,7 @@ NextFrame sta HMP1 sta WSYNC sta HMOVE + SLEEP 24 sta HMCLR lda #1 sta VDELP0 diff --git a/src/ide/views.ts b/src/ide/views.ts index 6225816d..6a94c207 100644 --- a/src/ide/views.ts +++ b/src/ide/views.ts @@ -389,6 +389,12 @@ export class SourceEditor implements ProjectView { toggleBreakpoint(lineno: number) { if (this.sourcefile != null) { var targetPC = this.sourcefile.line2offset[lineno+1]; + /* TODO: breakpoints + var bpid = "pc" + targetPC; + platform.setBreakpoint(bpid, () => { + return platform.getPC() == targetPC; + }); + */ runToPC(targetPC); } } diff --git a/src/platform/coleco.ts b/src/platform/coleco.ts index 799fdf79..db60c316 100644 --- a/src/platform/coleco.ts +++ b/src/platform/coleco.ts @@ -17,7 +17,7 @@ export var ColecoVision_PRESETS = [ { id: 'multicolor.c', name: 'Multicolor Mode' }, { id: 'siegegame.c', name: 'Siege Game' }, { id: 'shoot.c', name: 'Solarian Game' }, - { id: 'climber.c', name: 'Platform Game' }, + { id: 'climber.c', name: 'Climber Game' }, ]; class ColecoVisionPlatform extends BaseZ80MachinePlatform implements Platform { diff --git a/src/platform/msx.ts b/src/platform/msx.ts index 7c76d3c4..b06bcf2c 100644 --- a/src/platform/msx.ts +++ b/src/platform/msx.ts @@ -33,7 +33,7 @@ var LIBCV_PRESETS = [ { id: 'multicolor.c', name: 'Multicolor Mode' }, { id: 'siegegame.c', name: 'Siege Game' }, { id: 'shoot.c', name: 'Solarian Game' }, - { id: 'climber.c', name: 'Platform Game' }, + { id: 'climber.c', name: 'Climber Game' }, ]; class MSXPlatform extends BaseZ80MachinePlatform implements Platform {