Skip to content

Commit

Permalink
V1.1.3 - September 1,2021
Browse files Browse the repository at this point in the history
  • Loading branch information
Milton Maldonado Jr committed Sep 1, 2021
1 parent 3ece5f6 commit 1d9c128
Show file tree
Hide file tree
Showing 12 changed files with 249 additions and 463 deletions.
547 changes: 142 additions & 405 deletions .cproject

Large diffs are not rendered by default.

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="-1370111685038015805" 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="-1370111685038015805" 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>
10 changes: 7 additions & 3 deletions README.TXT
Original file line number Diff line number Diff line change
@@ -1,14 +1,14 @@
////////////////////////////////////////////////////////////////////////////////
// TLSIM
// A TINY LOGIC CIRCUIT SIMULATOR
// (C) 2019, 2020 BY ARMCODER - milton@armcoder.com.br
// (C) 2019, 2021 BY ARMCODER - milton@armcoder.com.br
//
// THIS PROGRAM IS FREE SOFTWARE
// SEE LICENSE AT https://www.gnu.org/licenses/old-licenses/gpl-2.0.txt
////////////////////////////////////////////////////////////////////////////////

Version 1.1.2
June 25, 2020
Version 1.1.3
September 1, 2021

INTRO
~~~~~
Expand Down Expand Up @@ -196,3 +196,7 @@ hinted within brackets.
V1.1.2 - June 25, 2020:

- Grouping the main Computer Sim variables.

V1.1.3 - September 1, 2021:

- Created the Turbo Switch like the one in GTLSim
2 changes: 1 addition & 1 deletion src/board.c
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
////////////////////////////////////////////////////////////////////////////////
// TLSIM
// A TINY LOGIC CIRCUIT SIMULATOR
// (C) 2019, 2020 BY ARMCODER - milton@armcoder.com.br
// (C) 2019, 2021 BY ARMCODER - milton@armcoder.com.br
//
// THIS PROGRAM IS FREE SOFTWARE
// SEE LICENSE AT https://www.gnu.org/licenses/old-licenses/gpl-2.0.txt
Expand Down
65 changes: 64 additions & 1 deletion src/computer/ctrunit.c
Original file line number Diff line number Diff line change
Expand Up @@ -150,6 +150,8 @@ ctrunit *ctrunit_create(event_context_t *ec, char *name){
ctru->ls04_2 = ls04_create(ec);
ctru->reset_sw = bitswitch_create(ec, "Reset");

bitswitch_setval(ctru->reset_sw,0);

bitswitch_connect_out(ctru->reset_sw, ctru->ls00, (void*)&ls00_in_a1);
bitswitch_connect_out(ctru->reset_sw, ctru->ls00, (void*)&ls00_in_b1);
ls00_connect_y1(ctru->ls00, ctru->ls00, (void*)&ls00_in_a2);
Expand All @@ -173,7 +175,7 @@ ctrunit *ctrunit_create(event_context_t *ec, char *name){

bitconst_connect_one(ctru->ls161, (void*)&ls161_in_enp);
bitconst_connect_one(ctru->ls161, (void*)&ls161_in_ent);
bitconst_connect_one(ctru->ls161, (void*)&ls161_in_load);

ls00_connect_y1(ctru->ls00, ctru->ls161, (void*)&ls161_in_clear);

//// LS138
Expand Down Expand Up @@ -268,6 +270,60 @@ ctrunit *ctrunit_create(event_context_t *ec, char *name){
//Clear
ls00_connect_y2(ctru->ls00, ctru->ls173, (void*)&ls173_in_clr);

// Reset Tn Counter (Turbo)

bitconst_connect_zero(ctru->ls161, (void*)&ls161_in_da);
bitconst_connect_zero(ctru->ls161, (void*)&ls161_in_db);
bitconst_connect_zero(ctru->ls161, (void*)&ls161_in_dc);
bitconst_connect_zero(ctru->ls161, (void*)&ls161_in_dd);

ctru->ls32_pri1 = ls32_create(ec);
ctru->ls32_pri2 = ls32_create(ec);
ctru->ls32_sec = ls32_create(ec);
ctru->ls32_ter = ls32_create(ec);

at28c16_connect_o0(ctru->eep_lo, ctru->ls32_pri1, (void*)&ls32_in_a1);
at28c16_connect_o1(ctru->eep_lo, ctru->ls32_pri1, (void*)&ls32_in_b1);
at28c16_connect_o2(ctru->eep_lo, ctru->ls32_pri1, (void*)&ls32_in_a2);
at28c16_connect_o3(ctru->eep_lo, ctru->ls32_pri1, (void*)&ls32_in_b2);
at28c16_connect_o4(ctru->eep_lo, ctru->ls32_pri1, (void*)&ls32_in_a3);
at28c16_connect_o5(ctru->eep_lo, ctru->ls32_pri1, (void*)&ls32_in_b3);
at28c16_connect_o6(ctru->eep_lo, ctru->ls32_pri1, (void*)&ls32_in_a4);
at28c16_connect_o7(ctru->eep_lo, ctru->ls32_pri1, (void*)&ls32_in_b4);

at28c16_connect_o0(ctru->eep_hi, ctru->ls32_pri2, (void*)&ls32_in_a1);
at28c16_connect_o1(ctru->eep_hi, ctru->ls32_pri2, (void*)&ls32_in_b1);
at28c16_connect_o2(ctru->eep_hi, ctru->ls32_pri2, (void*)&ls32_in_a2);
at28c16_connect_o3(ctru->eep_hi, ctru->ls32_pri2, (void*)&ls32_in_b2);
at28c16_connect_o4(ctru->eep_hi, ctru->ls32_pri2, (void*)&ls32_in_a3);
at28c16_connect_o5(ctru->eep_hi, ctru->ls32_pri2, (void*)&ls32_in_b3);
at28c16_connect_o6(ctru->eep_hi, ctru->ls32_pri2, (void*)&ls32_in_a4);
at28c16_connect_o7(ctru->eep_hi, ctru->ls32_pri2, (void*)&ls32_in_b4);

ls32_connect_y1(ctru->ls32_pri1, ctru->ls32_sec, (void*)ls32_in_a1);
ls32_connect_y2(ctru->ls32_pri1, ctru->ls32_sec, (void*)ls32_in_b1);
ls32_connect_y3(ctru->ls32_pri1, ctru->ls32_sec, (void*)ls32_in_a2);
ls32_connect_y4(ctru->ls32_pri1, ctru->ls32_sec, (void*)ls32_in_b2);

ls32_connect_y1(ctru->ls32_pri2, ctru->ls32_sec, (void*)ls32_in_a3);
ls32_connect_y2(ctru->ls32_pri2, ctru->ls32_sec, (void*)ls32_in_b3);
ls32_connect_y3(ctru->ls32_pri2, ctru->ls32_sec, (void*)ls32_in_a4);
ls32_connect_y4(ctru->ls32_pri2, ctru->ls32_sec, (void*)ls32_in_b4);

ls32_connect_y1(ctru->ls32_sec, ctru->ls32_ter, (void*)ls32_in_a1);
ls32_connect_y2(ctru->ls32_sec, ctru->ls32_ter, (void*)ls32_in_b1);
ls32_connect_y3(ctru->ls32_sec, ctru->ls32_ter, (void*)ls32_in_a2);
ls32_connect_y4(ctru->ls32_sec, ctru->ls32_ter, (void*)ls32_in_b2);

ls32_connect_y1(ctru->ls32_ter, ctru->ls32_ter, (void*)ls32_in_a3);
ls32_connect_y2(ctru->ls32_ter, ctru->ls32_ter, (void*)ls32_in_b3);
ls32_connect_y3(ctru->ls32_ter, ctru->ls32_ter, (void*)ls32_in_a4);

ctru->turbo_sw = bitswitch_create(ec, "Turbo");
bitswitch_setval(ctru->turbo_sw,1);
bitswitch_connect_out(ctru->turbo_sw, ctru->ls32_ter, (void*)&ls32_in_b4);
ls32_connect_y4(ctru->ls32_ter, ctru->ls161, (void*)&ls161_in_load);

ctru->destroy = (void*)ctrunit_destroy;

return ctru;
Expand Down Expand Up @@ -325,6 +381,11 @@ void ctrunit_destroy (ctrunit **dest){
DESTROY(b->ledz);
DESTROY(b->ledc);

DESTROY(b->ls32_pri1);
DESTROY(b->ls32_pri2);
DESTROY(b->ls32_sec);
DESTROY(b->ls32_ter);

free(b);
*dest = NULL;
}
Expand Down Expand Up @@ -389,6 +450,8 @@ board_object *ctrunit_board_create(ctrunit *reg, int key, char *name){
board_add_led(board, reg->t[4],41,4,"T4", LED_GREEN);
board_add_led(board, reg->t[5],45,4,"T5", LED_GREEN);

board_add_manual_switch(board, reg->turbo_sw, 51, 4, 't', "Turbo");

board_add_led(board, reg->ledclk,61,4,"CLK", LED_BLUE);

return board;
Expand Down
3 changes: 3 additions & 0 deletions src/computer/ctrunit.h
Original file line number Diff line number Diff line change
Expand Up @@ -21,6 +21,7 @@
#include "ls138.h"
#include "ls173.h"
#include "at28c16.h"
#include "ls32.h"

#define NSIGNALS_CTRU 16

Expand Down Expand Up @@ -80,6 +81,8 @@ typedef struct {
at28c16 *eep_hi, *eep_lo;
ls173 *ls173;
indicator *ledz, *ledc;
ls32 *ls32_pri1, *ls32_pri2, *ls32_sec, *ls32_ter;
bitswitch *turbo_sw;
event_context_t *ec;
} ctrunit;

Expand Down
4 changes: 2 additions & 2 deletions src/computer/exmachina.c
Original file line number Diff line number Diff line change
Expand Up @@ -29,7 +29,7 @@ const int LINES_PROG = sizeof(demoprog)/2;
void write_key(board_ctx_t *bctx, int key){

board_write_key(bctx, key);
usleep(100000);
usleep(200000);
}

////////////////////////////////////////////////////////////////////////////////
Expand All @@ -49,10 +49,10 @@ void *exmachina_thread(void *args){
uint8_t newdata = demoprog[2*i+1];

uint8_t deltaaddr = addr ^ newaddr;

if (deltaaddr & 0x01){
write_key(bctx, 'l');
}

if (deltaaddr & 0x02){
write_key(bctx, 'k');
}
Expand Down
2 changes: 1 addition & 1 deletion src/main.c
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
////////////////////////////////////////////////////////////////////////////////
// TLSIM
// A TINY LOGIC CIRCUIT SIMULATOR
// (C) 2019, 2020 BY ARMCODER - milton@armcoder.com.br
// (C) 2019, 2021 BY ARMCODER - milton@armcoder.com.br
//
// THIS PROGRAM IS FREE SOFTWARE
// SEE LICENSE AT https://www.gnu.org/licenses/old-licenses/gpl-2.0.txt
Expand Down
2 changes: 1 addition & 1 deletion src/tests/testls191.c
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
////////////////////////////////////////////////////////////////////////////////
// TLSIM
// A TINY LOGIC CIRCUIT SIMULATOR
// (C) 2019, 2020 BY ARMCODER - milton@armcoder.com.br
// (C) 2019, 2021 BY ARMCODER - milton@armcoder.com.br
//
// THIS PROGRAM IS FREE SOFTWARE
// SEE LICENSE AT https://www.gnu.org/licenses/old-licenses/gpl-2.0.txt
Expand Down
2 changes: 1 addition & 1 deletion src/tests/tests.h
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
////////////////////////////////////////////////////////////////////////////////
// TLSIM
// A TINY LOGIC CIRCUIT SIMULATOR
// (C) 2019, 2020 BY ARMCODER - milton@armcoder.com.br
// (C) 2019, 2021 BY ARMCODER - milton@armcoder.com.br
//
// THIS PROGRAM IS FREE SOFTWARE
// SEE LICENSE AT https://www.gnu.org/licenses/old-licenses/gpl-2.0.txt
Expand Down
2 changes: 1 addition & 1 deletion src/update.c
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
////////////////////////////////////////////////////////////////////////////////
// TLSIM
// A TINY LOGIC CIRCUIT SIMULATOR
// (C) 2019, 2020 BY ARMCODER - milton@armcoder.com.br
// (C) 2019, 2021 BY ARMCODER - milton@armcoder.com.br
//
// THIS PROGRAM IS FREE SOFTWARE
// SEE LICENSE AT https://www.gnu.org/licenses/old-licenses/gpl-2.0.txt
Expand Down
6 changes: 4 additions & 2 deletions src/update.h
Original file line number Diff line number Diff line change
@@ -1,7 +1,9 @@
////////////////////////////////////////////////////////////////////////////////
// TLSIM
// A TINY LOGIC CIRCUIT SIMULATOR
// (C) 2019, 2020 BY ARMCODER - milton@armcoder.com.br
// (C) 2019, 2021 BY ARMCODER - milton@armcoder.com.br
//
// https://github.com/ARMCoderBR/tlsim
//
// THIS PROGRAM IS FREE SOFTWARE
// SEE LICENSE AT https://www.gnu.org/licenses/old-licenses/gpl-2.0.txt
Expand Down Expand Up @@ -91,6 +93,6 @@ void part_destroy(void **part);

#define SW_VERSION 1
#define SW_REVISION 1
#define SW_MINOR 2
#define SW_MINOR 3

#endif /* UPDATE_H_ */

0 comments on commit 1d9c128

Please sign in to comment.