Skip to content

Commit

Permalink
V1.1.1 - May 26, 2020:
Browse files Browse the repository at this point in the history
- Better clock synchronization to avoid simulation glitches in slower
systems.
  • Loading branch information
ARMCoderBR committed May 26, 2020
1 parent b664c3c commit f32c8dd
Show file tree
Hide file tree
Showing 7 changed files with 43 additions and 50 deletions.
67 changes: 22 additions & 45 deletions .settings/language.settings.xml
Original file line number Diff line number Diff line change
@@ -1,48 +1,25 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<project>

<configuration id="cdt.managedbuild.config.gnu.exe.debug.769796154" name="Debug">

<extension point="org.eclipse.cdt.core.LanguageSettingsProvider">

<provider copy-of="extension" id="org.eclipse.cdt.ui.UserLanguageSettingsProvider"/>

<provider-reference id="org.eclipse.cdt.core.ReferencedProjectsLanguageSettingsProvider" ref="shared-provider"/>

<provider-reference id="org.eclipse.cdt.managedbuilder.core.MBSLanguageSettingsProvider" ref="shared-provider"/>

<provider class="org.eclipse.cdt.managedbuilder.language.settings.providers.GCCBuiltinSpecsDetector" console="false" env-hash="-1370420024531137949" id="org.eclipse.cdt.managedbuilder.core.GCCBuiltinSpecsDetector" keep-relative-paths="false" name="CDT GCC Built-in Compiler Settings" parameter="${COMMAND} ${FLAGS} -E -P -v -dD &quot;${INPUTS}&quot;" prefer-non-shared="true">

<language-scope id="org.eclipse.cdt.core.gcc"/>

<language-scope id="org.eclipse.cdt.core.g++"/>

</provider>

</extension>

</configuration>

<configuration id="cdt.managedbuild.config.gnu.exe.release.391794649" name="Release">

<extension point="org.eclipse.cdt.core.LanguageSettingsProvider">

<provider copy-of="extension" id="org.eclipse.cdt.ui.UserLanguageSettingsProvider"/>

<provider-reference id="org.eclipse.cdt.core.ReferencedProjectsLanguageSettingsProvider" ref="shared-provider"/>

<provider-reference id="org.eclipse.cdt.managedbuilder.core.MBSLanguageSettingsProvider" ref="shared-provider"/>

<provider class="org.eclipse.cdt.managedbuilder.language.settings.providers.GCCBuiltinSpecsDetector" console="false" env-hash="-1370420024531137949" id="org.eclipse.cdt.managedbuilder.core.GCCBuiltinSpecsDetector" keep-relative-paths="false" name="CDT GCC Built-in Compiler Settings" parameter="${COMMAND} ${FLAGS} -E -P -v -dD &quot;${INPUTS}&quot;" prefer-non-shared="true">

<language-scope id="org.eclipse.cdt.core.gcc"/>

<language-scope id="org.eclipse.cdt.core.g++"/>

</provider>

</extension>

</configuration>

<configuration id="cdt.managedbuild.config.gnu.exe.debug.769796154" name="Debug">
<extension point="org.eclipse.cdt.core.LanguageSettingsProvider">
<provider copy-of="extension" id="org.eclipse.cdt.ui.UserLanguageSettingsProvider"/>
<provider-reference id="org.eclipse.cdt.core.ReferencedProjectsLanguageSettingsProvider" ref="shared-provider"/>
<provider-reference id="org.eclipse.cdt.managedbuilder.core.MBSLanguageSettingsProvider" ref="shared-provider"/>
<provider class="org.eclipse.cdt.managedbuilder.language.settings.providers.GCCBuiltinSpecsDetector" console="false" env-hash="-569688907015518406" id="org.eclipse.cdt.managedbuilder.core.GCCBuiltinSpecsDetector" keep-relative-paths="false" name="CDT GCC Built-in Compiler Settings" parameter="${COMMAND} ${FLAGS} -E -P -v -dD &quot;${INPUTS}&quot;" prefer-non-shared="true">
<language-scope id="org.eclipse.cdt.core.gcc"/>
<language-scope id="org.eclipse.cdt.core.g++"/>
</provider>
</extension>
</configuration>
<configuration id="cdt.managedbuild.config.gnu.exe.release.391794649" name="Release">
<extension point="org.eclipse.cdt.core.LanguageSettingsProvider">
<provider copy-of="extension" id="org.eclipse.cdt.ui.UserLanguageSettingsProvider"/>
<provider-reference id="org.eclipse.cdt.core.ReferencedProjectsLanguageSettingsProvider" ref="shared-provider"/>
<provider-reference id="org.eclipse.cdt.managedbuilder.core.MBSLanguageSettingsProvider" ref="shared-provider"/>
<provider class="org.eclipse.cdt.managedbuilder.language.settings.providers.GCCBuiltinSpecsDetector" console="false" env-hash="-569688907015518406" id="org.eclipse.cdt.managedbuilder.core.GCCBuiltinSpecsDetector" keep-relative-paths="false" name="CDT GCC Built-in Compiler Settings" parameter="${COMMAND} ${FLAGS} -E -P -v -dD &quot;${INPUTS}&quot;" prefer-non-shared="true">
<language-scope id="org.eclipse.cdt.core.gcc"/>
<language-scope id="org.eclipse.cdt.core.g++"/>
</provider>
</extension>
</configuration>
</project>
9 changes: 7 additions & 2 deletions README.TXT
Original file line number Diff line number Diff line change
Expand Up @@ -7,8 +7,8 @@
// SEE LICENSE AT https://www.gnu.org/licenses/old-licenses/gpl-2.0.txt
////////////////////////////////////////////////////////////////////////////////

Version 1.1.0
May 23, 2020
Version 1.1.1
May 26, 2020

INTRO
~~~~~
Expand Down Expand Up @@ -204,3 +204,8 @@ hinted within brackets.
the user wants, and it will work as long as it is compatible with the
Ben's computer architecture!

V1.1.1 - May 26, 2020:

- Better clock synchronization to avoid simulation glitches in slower
systems.

3 changes: 3 additions & 0 deletions src/board.c
Original file line number Diff line number Diff line change
Expand Up @@ -1197,6 +1197,9 @@ int board_run(board_ctx_t *ctx, event_context_t *ec, board_object *board){

refresh_thread_stop(ctx);

if (!ctx->clock_pausing)
clock_pause(ctx);

pthread_mutex_destroy(&ctx->setrefmutex);

endwin();
Expand Down
6 changes: 6 additions & 0 deletions src/computer/clkgen.c
Original file line number Diff line number Diff line change
Expand Up @@ -63,6 +63,7 @@ void *clkgen_thread(void *args){
e.valueptr = &s->valuen;
e.timestamp = 0;
event_insert(s->ec, &e);
while (event_process(s->ec));
event_mutex_unlock(s->ec);

if (!s->pause)
Expand Down Expand Up @@ -124,7 +125,12 @@ void clkgen_destroy (clkgen **dest){
ehandler_destroy(&b->outn_event_handler_root);
vallist_destroy(&b->halt_rootptr);

event_mutex_lock(b->ec);
while (event_process(b->ec));
event_mutex_unlock(b->ec);

free(b);

*dest = NULL;
}

Expand Down
2 changes: 2 additions & 0 deletions src/computer/computer.c
Original file line number Diff line number Diff line change
Expand Up @@ -259,6 +259,8 @@ void computer_sim(){

logger_end(ec);

DESTROY(mainclk);

////////////////

DESTROY(regA);
Expand Down
4 changes: 2 additions & 2 deletions src/computer/reg_out.c
Original file line number Diff line number Diff line change
Expand Up @@ -183,6 +183,8 @@ void reg_out_destroy (reg_out **dest){
reg_out *b = *dest;
if (b == NULL) return;

clkgen_destroy(&b->clk);

ls173_destroy(&b->ls173_hi);
ls173_destroy(&b->ls173_lo);
indicator_destroy(&b->ledclk);
Expand All @@ -196,7 +198,6 @@ void reg_out_destroy (reg_out **dest){
for (i = 0; i < 4; i++)
dis7seg_destroy(&b->display[i]);

clkgen_destroy(&b->clk);
indicator_destroy(&b->ledclki);

ls76_destroy(&b->ls76);
Expand All @@ -206,7 +207,6 @@ void reg_out_destroy (reg_out **dest){
ls139_destroy(&b->ls139);
bitswitch_destroy(&b->sw_signed);


free(b);
*dest = NULL;
}
Expand Down
2 changes: 1 addition & 1 deletion src/update.h
Original file line number Diff line number Diff line change
Expand Up @@ -91,6 +91,6 @@ void part_destroy(void **part);

#define SW_VERSION 1
#define SW_REVISION 1
#define SW_MINOR 0
#define SW_MINOR 1

#endif /* UPDATE_H_ */

0 comments on commit f32c8dd

Please sign in to comment.