mirror of
https://github.com/sehugg/8bitworkshop.git
synced 2025-02-18 00:30:43 +00:00
fixed so there can only be one linkstep
This commit is contained in:
parent
168ccb691d
commit
ed7f5fb7a6
@ -41,7 +41,6 @@ TODO:
|
|||||||
- VCS asm library
|
- VCS asm library
|
||||||
- better VCS single stepping, maybe also listings
|
- better VCS single stepping, maybe also listings
|
||||||
- VCS skips step on lsr/lsr after run to line
|
- VCS skips step on lsr/lsr after run to line
|
||||||
- error msg when #link doesn't work
|
|
||||||
- figure out folders for projects for real
|
- figure out folders for projects for real
|
||||||
- click to break on raster position
|
- click to break on raster position
|
||||||
- restructure src/ folders
|
- restructure src/ folders
|
||||||
@ -59,9 +58,12 @@ TODO:
|
|||||||
- error showing replay div before rom starts
|
- error showing replay div before rom starts
|
||||||
- compiler flags for final ROM build
|
- compiler flags for final ROM build
|
||||||
- workermain: split build functions, better msg types
|
- workermain: split build functions, better msg types
|
||||||
- sdcc: can't link asm files before c files (e.g. acheader.s must be last)
|
- builds:
|
||||||
- what if >1 file with same name? (local/nonlocal/directory)
|
- what if >1 file with same name? (local/nonlocal/directory)
|
||||||
- what if .c and .s names collide?
|
- what if .c and .s names collide?
|
||||||
|
- maybe put stuff in examples/ dir?
|
||||||
|
- error msg when #link doesn't work
|
||||||
|
- sdcc: can't link asm files before c files (e.g. acheader.s must be last)
|
||||||
- live coding URL
|
- live coding URL
|
||||||
- resize memory browser when vertical div resize
|
- resize memory browser when vertical div resize
|
||||||
- preroll the emulator so optimizer does its thing before loading rom
|
- preroll the emulator so optimizer does its thing before loading rom
|
||||||
@ -156,6 +158,7 @@ TODO:
|
|||||||
- z80
|
- z80
|
||||||
- can't single step on PUSH insns in listings?
|
- can't single step on PUSH insns in listings?
|
||||||
- order of acheader.s
|
- order of acheader.s
|
||||||
|
- ctrl+alt+l on ubuntu locks screen
|
||||||
|
|
||||||
WEB WORKER FORMAT
|
WEB WORKER FORMAT
|
||||||
|
|
||||||
|
@ -292,7 +292,6 @@ interface BuildStep extends WorkerBuildStep {
|
|||||||
params?
|
params?
|
||||||
result?
|
result?
|
||||||
code?
|
code?
|
||||||
generated?
|
|
||||||
prefix?
|
prefix?
|
||||||
maxts?
|
maxts?
|
||||||
};
|
};
|
||||||
@ -1989,6 +1988,7 @@ function applyDefaultErrorPath(errors:WorkerError[], path:string) {
|
|||||||
|
|
||||||
function executeBuildSteps() {
|
function executeBuildSteps() {
|
||||||
buildstartseq = workerseq;
|
buildstartseq = workerseq;
|
||||||
|
var linkstep : BuildStep = null;
|
||||||
while (buildsteps.length) {
|
while (buildsteps.length) {
|
||||||
var step = buildsteps.shift(); // get top of array
|
var step = buildsteps.shift(); // get top of array
|
||||||
var platform = step.platform;
|
var platform = step.platform;
|
||||||
@ -2014,37 +2014,29 @@ function executeBuildSteps() {
|
|||||||
}
|
}
|
||||||
// combine files with a link tool?
|
// combine files with a link tool?
|
||||||
if (step.result.linktool) {
|
if (step.result.linktool) {
|
||||||
var linkstep = {
|
if (linkstep) {
|
||||||
tool:step.result.linktool,
|
linkstep.files = linkstep.files.concat(step.result.files);
|
||||||
platform:platform,
|
linkstep.args = linkstep.args.concat(step.result.args);
|
||||||
files:step.result.files,
|
} else {
|
||||||
args:step.result.args
|
linkstep = {
|
||||||
};
|
tool:step.result.linktool,
|
||||||
step.generated = linkstep.files;
|
platform:platform,
|
||||||
// find previous link step to combine
|
files:step.result.files,
|
||||||
for (var i=0; i<buildsteps.length; i++) {
|
args:step.result.args
|
||||||
var ls = buildsteps[i];
|
};
|
||||||
if (ls.tool == linkstep.tool && ls.platform == linkstep.platform && ls.files && ls.args) {
|
|
||||||
if (step.result.order === 'last') { // TODO: not used
|
|
||||||
ls.files = linkstep.files.concat(ls.files);
|
|
||||||
ls.args = linkstep.args.concat(ls.args);
|
|
||||||
} else {
|
|
||||||
ls.files = ls.files.concat(linkstep.files);
|
|
||||||
ls.args = ls.args.concat(linkstep.args);
|
|
||||||
}
|
|
||||||
linkstep = null;
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
if (linkstep) buildsteps.push(linkstep);
|
|
||||||
}
|
}
|
||||||
// process with another tool?
|
// process with another tool?
|
||||||
if (step.result.nexttool) {
|
if (step.result.nexttool) {
|
||||||
var asmstep = step.result;
|
var asmstep = step.result;
|
||||||
asmstep.tool = step.result.nexttool;
|
asmstep.tool = step.result.nexttool;
|
||||||
asmstep.platform = platform;
|
asmstep.platform = platform;
|
||||||
buildsteps.push(asmstep); // TODO: unshift changes order
|
buildsteps.push(asmstep);
|
||||||
step.generated = asmstep.files;
|
}
|
||||||
|
// process final step?
|
||||||
|
if (buildsteps.length == 0 && linkstep) {
|
||||||
|
buildsteps.push(linkstep);
|
||||||
|
linkstep = null;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user