sort by:
Revision Author Date Message Commit Date
2147eeb Update 08 November 2016, 16:11:32 UTC
6b53a36 Added provision for DSRUPT. 27 September 2016, 19:38:15 UTC
676baeb The DSRUPT (telemetry downlink interrupt) has been implemented. 27 September 2016, 17:17:34 UTC
2c9eeb4 Code has been added for debugging purposes (and then commented out) for parsing/displaying the telemetry downlink data. 27 September 2016, 17:16:45 UTC
20928a0 I had changed the name of the DSKY sim, but forgot to change it everywhere in 27 September 2016, 17:15:44 UTC
9c03b05 Modified to test "CCS CYR". 23 September 2016, 20:22:46 UTC
9b90341 The nav-bay version of the Block 1 DSKY is now available. At the same time, I also corrected a DSKY bug in which the DSKY could only hear the CPU's OUT0 register (and specifically was unable to year OUT1). 21 September 2016, 20:07:43 UTC
34eb596 Changed the total MCT count from unsigned long to uint64_t (which is the same thing on a 64-bit machine.) to make it explicit that it's 64-bit. 19 September 2016, 16:43:01 UTC
3ac8ea7 32-bit arithmetical overflow in the simulator's clocking of TIME1-TIME4 caused them (and related functionality like Pinball) to stop working after about 233 minutes. Changed to 64-bit. 19 September 2016, 16:41:51 UTC
7711e57 Just a change in a debugging message, to help understand how indicator lights are being controlled. 19 September 2016, 16:39:30 UTC
02529d4 The pad-load file for test.agc was being built incorrectly. Also, added more test cases to test.agc. 19 September 2016, 12:05:10 UTC
894a216 More of the same. 19 September 2016, 11:59:29 UTC
093b3bb Prettified the source printout in the debugger, to make the current line stand out much more, similarly to the way yaAGCb1 does it. 19 September 2016, 11:58:00 UTC
2288444 The dividend of the DV instruction needed to be sign-corrected. 19 September 2016, 11:49:33 UTC
a1c802d The TS instruction was behaving badly, in that it had the senses of "positive overflow" and "negative overflow" reversed. The DV instruction was completely screwed up (it had just been pasted in and not tested yet). Both instructions now agree with in yaAGCb1 vs yaAGC-Block1, to the extent I have been able to test them; there are still boundary values (arguments with overflow, divisor from a register, ...) that need to be tested for DV. 18 September 2016, 20:49:27 UTC
d67b006 Added various features to assist in debugging: in yaAGC-Block1 and yaAGCb1 debuggers, changed the field "SCL" to read "MCT" instead, to be accurate (rather than confusing). In yaAGCb1 logging, added the optional feature of being able to add one line of instruction source to each execution-log message, and the ability to toggle that feature on and off from within the debugger. Added a Block 1 AGC program, test.agc, to let me test the behavior of individual instruction types in yaAGCb1 vs yaAGC-Block1; it only has the instructions I'm interested in at the moment, namely TS and DV. 18 September 2016, 20:46:43 UTC
9b3fe11 Removed the Solarium055.pad file, because the premise (supposed bug in Solarium055) on which it was based was incorrect. 18 September 2016, 11:09:52 UTC
a644de6 I believe there is a bug in Solarium055 at address 03,7210. It occurred to me that I could patch the bug via the "pad loads", if the concept of pad loads was expanded to the full memory space of erasable+fixed, rather than simply ignoring everything past the end of erasable. This is a fix for those things. 18 September 2016, 00:27:52 UTC
702cf48 I've added --width and --context switches to the command line, so as to obviate having to use the interactive command 'pWIDTH,CONTEXT' every time. 18 September 2016, 00:25:43 UTC
2795553 Fixed a number of alignment problems (on the order of 1-2 pixels each) that probably nobody but me would ever had even noticed. 17 September 2016, 18:33:37 UTC
959d8de Changed a message displayed when receiving unknown relaywords, to try to track down the unknown relayword 014. 16 September 2016, 20:11:44 UTC
aba30d7 Implemented VERB/NOUN flashing in yaDSKYb1. 16 September 2016, 16:57:53 UTC
345a3b3 Now update the DSKY properly if it is started or restarted after yaAGCb1 is already running (rather than just leaving it temporarily blank). The other changes all relate to making my current debugging chore easier: Added ability to change the displayed line length and number of context lines of source in the primitive debugger. Reformatted the source display in the debugger to make it easier to pick out by eye which one is the current line. Added a script,, that makes it much easier to start (and stop) the Solarium simulation from the command line. 16 September 2016, 12:25:06 UTC
b1c8978 Increased the time between a keypad hit and keypad release, so as to exceed the sleep time of yaAGC. 15 September 2016, 20:32:42 UTC
212898c The algorithm for SU wasn't correct in terms of sign extension. 15 September 2016, 20:31:26 UTC
ebdc138 Added a timestamp to messages about received input packets. 15 September 2016, 20:30:59 UTC
763d3e5 Corrections to porting process (from Block 2 to Block 1). At least it passes the first test now. :-) 15 September 2016, 20:28:46 UTC
5428cd8 Added the Validation-Block1 target. 15 September 2016, 14:52:59 UTC
f4969fc Hadn't been handling the CHECK FAIL light properly. (It always duped the COMP FAIL light). 15 September 2016, 14:52:29 UTC
2e9404f Added the entire Validation-Block1 suite of test programs. Howevever, I'm still adapting it, and many of those files will likely disappear before I reach a working version. 15 September 2016, 14:50:49 UTC
30091ab LP is supposed to be an editing register, but I had failed to notice that earlier. Fixed. 15 September 2016, 14:47:56 UTC
9899b9a Added the missing --pads command-line option. 15 September 2016, 14:47:10 UTC
52b86c3 Changed the name of various RUPT registers from ctrSOMETHING to regSOMETHING, since they're not counters. 15 September 2016, 14:46:21 UTC
e37861b Added --port options for yaAGCb1 and yaDSKYb1, and fixed yaUplinkBlock1's protocol ... i.e., the uplink actually works now. 14 September 2016, 23:21:23 UTC
a69402a Fixed the fact that yaDSKYb1 would send yaAGCb1 keypresses but not key releases, which was locking out the AGC from accepting any keystrokes past the first one. 14 September 2016, 19:56:17 UTC
649cd2a Added a "break on uninitialized erasable" command. 14 September 2016, 03:25:16 UTC
e9779c1 Spiffed up yaUplinkBlock1.c a lot. Made the connection port selectable. Make it connect automatically on startup rather than waiting for the first character to be typed. Insures there's a delay between characters to give the AGC time to process each character. Added a --batch mode that will work better for getting input from pipes. Added a help message. Should be a complete program now, I think, with very little potential for change, unless someone needed to port it. 14 September 2016, 00:18:46 UTC
bfa2f7e Connected the Uptl indicator light to the proper output bit. 14 September 2016, 00:16:14 UTC
44408e7 Rewrote yaUplinkBlock1.c from scratch, since the idea of using it with netcat wasn't working out at all. 13 September 2016, 20:33:35 UTC
bc796c2 Switched the defaults for the Block 1 simulators from initializing erasable to bogus values (0166666) to initializing it with 0, and added a command-line switch to get the bogus values if desired. 13 September 2016, 20:05:30 UTC
ad1242a There were a number of additional tweaks and kludges needed in yaAGC-Block1 to get logging working with a free-running program, and to get the state of IN0 to show up properly, which I'm still not sure it does. 13 September 2016, 15:21:10 UTC
b774eb5 Two features have been added to both Block 1 simulators: a) the ability to set a given memory location to a value (particularly, INx); and b) the ability to toggle logging on an off. The Pultorak simulator also no longer displays status messages while free-running. The idea is to use this to check discrepancies with handling the DSKY-keypad inputs. 13 September 2016, 00:43:11 UTC
c32edf6 Various experimentation with trying to figure out why KEYRUPT only works the first time (if it does!) and locks out all additional characters. Implemented UPLINK, though I have no method as of yet to feed in the UPLINKed characters. Implemented some indicator lights on the DSKY. 12 September 2016, 20:31:07 UTC
5ac6e66 The main-panel version of the Block 1 DSKY and the AGC-DSKY interface are at least marginally working now: the Block 1 CPU simulator does write digits to it, and does accept keyboard input from it. As for whether the AGC is working right or not, that's a different question, because I don't understand the stuff it's writing to the DSKY so far. 11 September 2016, 22:04:12 UTC
3cc71d2 The control panel version of the Block 1 DSKY (as opposed to the nav bay DSKY) now has a complete user interface, equipped with working buttons and indicators, but hasn't yet been connected to the Block 1 AGC to actually do anything with them. However, the Block AGC has now been equipped with a socket interface, and it's possible to connect to it and see the values of output ports using netcat. 11 September 2016, 02:26:34 UTC
1b859d4 The GUI design has been completed for the main control-panel (as opposed to the nav bay) version of the Block 2 DSKY, yaDSKYb1. The next step is to connect the various user-interface widgets to yaAGCb1 via a socket interface. 10 September 2016, 20:33:06 UTC
4f4f6e8 Possibly addition now fixed. At least the two simulators run in step indefinitely when there's no input. On the other hand, I had to remove the parity bits from fixed memory in yaAGC-Block1 to make that work, though why it would have been figuring the parity bit into its additions I don't know. 10 September 2016, 00:33:23 UTC
5856a8f Added the pad-loader file for yaAGCb1 that I forgot to commit yesterday. Also added the identical feature to yaAGC-Block1. Also added the pad-loads to Solarium055.pad for ERESTORE and MODE, but those are in the main branch rather than this block1 branch. 09 September 2016, 23:37:56 UTC
5a0c3ee Merge branch 'block1' of into block1 09 September 2016, 20:06:58 UTC
85efb3b Backed out almost all of the "fixes" I had made to John's simulator (except the big three of doubling the number of fixed banks, correcting the location of the interrupt vectors, and correcting the speed of the timers' clock), because after disabling his parity generation, all of these fixes were no longer applicable ... and never had been, if only I had grasped the nature of the problem. This has also enabled me to find a few more places were my own program doesn't work exactly right. There now seems to be a problem with the AD instruction under some circumstances. 09 September 2016, 20:06:32 UTC
d067b5f Create 09 September 2016, 19:37:29 UTC
e6d2774 Added various features to yaAGCb1: Ability to load a pad-load file. Initial memory fill with "illegal" values. An "examine memory" command, 'e'. 08 September 2016, 23:27:40 UTC
a9c3065 Various changes related to getting yaAGCb1 and yaAGC-Block1 to behave identically. Which they essentially do, right up to the point where they both access non-existent memory and enter an endless loop. 08 September 2016, 20:37:51 UTC
0f2cc75 Added the source code for John Pultorak's original simulator v1.16 (as opposed to my ported version that's in the yaAGC-Block1-Pultorak/ directory). 08 September 2016, 20:36:27 UTC
480d103 More messing around with these darn editing registers. 08 September 2016, 00:55:13 UTC
f81aa08 These "editing" instructions are not converging on a solution. 07 September 2016, 23:21:46 UTC
f89b5c9 Lots more adjustments to (mostly) my Block 1 simulator, though I did undo the changes to the "editing" registers that I made in John's simulator. I now think he was right, even though I'm having trouble so far in exactly duplicating what he did with them. 07 September 2016, 20:38:27 UTC
f79fc75 Various changes to the logging functions, for better comparison between yaAGCb1 and yaAGC-Block1. The "editing" registers in yaAGC-Block1 were fixed, and the ability to enter breakpoints as bank,offset was added. Various changes (hopefully corrections) made to yaAGCb1 due to comparison with yaAGC-Block1; several interrupts were implemented, as was the MP instruction. 06 September 2016, 20:24:42 UTC
329a7d4 Lots of fixes and mods to both Block 1 simulators for the purpose of comparison. 05 September 2016, 23:04:05 UTC
b9f151d Added logging to both yaAGCb1 and yaAGC-Block1, so that I can do longer runs and then do an automated comparison to look for discrepancies afterward. Fixed a few things in yaAGCb1 that way, and have found (I think) some bugs in yaAGC-Block1 that I've done nothing about so far. 04 September 2016, 20:54:38 UTC
985165e On some computers, the nbfgets function for the Pultorak Block 1 AGC simulator, used to read keyboard entry was locking up. Which is weird because it is used all over in Virtual AGC, and hasn't done that before, including on my Block 1 AGC simulator, yaAGCb1. It was a race condition in some pthreads operations being used, and may have been exposed by compiling it as C++ rather than C. 04 September 2016, 14:05:14 UTC
211006a I've now distinguished the main and nav simulated Block 1 DSKYs as two separate programs, but sharing almost all of their code in a hopefully convenient way, and have written skeleton apps for both. However, the skeleton apps don't presently do anything other than display inactive images of the main and nav DSKYs. Whether the structure of these apps in terms of their wxWidgets widgets is suitable or not, I don't yet know. 04 September 2016, 14:02:16 UTC
0fcade4 Lots more instructions (everything except RESUME, MP, and DV, perhaps) implemented, but no interrupts, counters, etc. Graphical designs for a Block 1 yaDSKY for the main control panel and the nav bay added, along with a little skeleton code. 04 September 2016, 01:21:22 UTC
e17dd4b Reasonably satisfied with the primitive structure of yaAGCb1. Started adding some trivial instruction decoding and functionality to it. 03 September 2016, 02:40:27 UTC
a6aad45 More slight updates to Pultorak simulator, but mainly have gotten started on a clean design for one of my own, yaAGCb1. Right now it only has infrastructure, but it's coming along nicely. 02 September 2016, 21:00:20 UTC
6853795 Replaced the NCURSES handling with a less-invasive one based on the original yaAGC. The single-step ('t') now almost-always works properly in stepping an entire instruction rather than a single MCT (except CCS for some reason). The assembly listing is buffered and indexed rather than needing to be searched on disk every time. In short, the program is almost at the point of being marginally acceptable for tracing through an AGC program one instruction at a time. 02 September 2016, 14:40:09 UTC
89c82c0 Fixed display of the current PC counter, I hope, though I think it isn't right the first MCT after a CCS. Added auto-display of the source code while single-stepping. It's horrible inefficient, since I don't buffer or pre-index the assembly listing, though of course, it could easily be done. 02 September 2016, 00:07:45 UTC
15b77ea Got single-stepping through instructions to work, I think. Now allow selecting the starting address and the rope file from the command line. 01 September 2016, 20:28:04 UTC
d26e8ea Tweaks to allow the rope-file and assembly listing from yaYUL to be used in Pultorak's Block 1 simulator. 01 September 2016, 16:02:05 UTC
6a3b19b Pultorak's Block 1 simulator sort of working now. 31 August 2016, 19:45:19 UTC
08672af Experimenting, trying to figure out how to force to set the program counter. No luck so far. 31 August 2016, 01:37:21 UTC
af0b3d3 Fixed the file-loading problem. 31 August 2016, 00:30:59 UTC
22200ac Debugging. 31 August 2016, 00:15:18 UTC
08d198c Switched from Pultorak's simulator v1.15 to v1.16. Compiles without error now and runs, but reading the rope file is currently broken. 30 August 2016, 20:17:28 UTC
0ebd95d I realized that if I was going to pull in v1.16, I needed to put everything in a uniform format before proceeding. 30 August 2016, 17:29:13 UTC
e14cf96 This version actually compiles and runs, though there are some things I don't understand about it. It turns out, though, that I was working from v1.15, and there's really a v1.16 that supercedes. I'll look at merging those changes next. 30 August 2016, 17:24:36 UTC
9235ab2 Removed the binary binary from the repository. It shouldn't have been there in the first place. 30 August 2016, 12:59:16 UTC
5189438 More tweaks related to getting everything to print out. 30 August 2016, 01:13:53 UTC
df65bdd The keyboard now works, but CPU status gets printed out of order for some reason. 30 August 2016, 00:39:34 UTC
71c4c7b This version compiles in GNU g++ 4.8.2 without errors or warnings, and all Visual C++ project files have been removed. Instead, a Makefile has been added. The program doesn't actually work, because I haven't yet properly implemented _getch() and _kbhit() functions (and who knows what else?). 29 August 2016, 20:27:16 UTC
0384010 John Pultorak's Block 1 AGC simulator v1.15. 29 August 2016, 20:25:14 UTC
57fa7fa This branch will be devoted entirely to speculative development of a Block 1 simulator, and as such, I don't want any of the normal code from the main branch to be in it. 29 August 2016, 20:17:45 UTC
154c67e Numerous edits, for completeness, corrections, or language, were made to the decorative annotations added to syntax-highlighted AGC or AEA source code listings. 29 August 2016, 14:11:28 UTC
80925ff A bit more preliminary work on the Block 1 rope mapper. 28 August 2016, 21:08:48 UTC
2ab5a1b Added a tool for helping to map out a Block 1 ropefile, though it's currently just the beginning of such a program and doesn't do anything useful yet. 28 August 2016, 15:36:15 UTC
8db609f The build order was not correct for making sure the AGC rope files and syntax-highlighted program listings were available for the VirtualAGC GUI program's installation. I've also added a hook for mission AS-202 (Apollo 3), there it is disabled. Finally, the Apollo 6 mission is now enabled, though all it can do is display source code, and not run a simulation. 28 August 2016, 15:34:27 UTC
bf0daac Forgot to add the AEA html annotation files in my previous commit. 28 August 2016, 15:27:30 UTC
8f15371 The AEA source files weren't set up to add the decorative header to the html output listings, nor was the makefile for yaLEMAP correctly written to be able to access the configuration files for that header. 28 August 2016, 15:25:40 UTC
c761f4f Quite a lot of the AGC source files were missing the notation that adds an HTML decoration header. This has been fixed, though for a number missions, the decoration files had to be written from scratch. 28 August 2016, 14:16:21 UTC
8c6c8ac Update Added explanation making it clear how this repo is related to the Virtual AGC website. 28 August 2016, 00:31:36 UTC
0e02918 Merge branch 'master' of 25 August 2016, 11:57:09 UTC
2b992e7 Updated tools 'oct2bin' and 'utils' for --block1. 25 August 2016, 11:56:06 UTC
2bd75e4 Oh dear. Forgot a closing paren. 24 August 2016, 17:34:33 UTC
b848d1b Ignore Solarium listing file. 24 August 2016, 17:23:44 UTC
7481b16 Minor Python style change. 24 August 2016, 17:23:16 UTC
ad44b9e But of course, my previous fix to didn't work! 24 August 2016, 16:01:28 UTC
3d121ee Had to update to make corediff.txt work. I hope. 24 August 2016, 15:58:14 UTC
12da041 Added more stuff needed for corediff.txt. 24 August 2016, 15:43:00 UTC
1fbd522 The target for corediffs.txt was added to the Solarium055 makefile. 24 August 2016, 15:26:07 UTC
844836d All corrections to Solarium055 source code now completed. Block 1 support has been added to yaYUL. yaYUL builds Solarium055 without errors or warnings, and the binary it builds matches the independently-transcribed and -checked binary (Solarium055.binsource) 100% byte-for-byte. The HTML listings yaYUL produces from Solarium055 appear visually correct and properly syntax-highlighted. Therefore, Solarium055 source code (other than code comments) may now be considered 100% correct. Solarium055 has been added to the mission list in the top-level makefile, and therefore 'make' or 'make missions' build and cross-check the Solarium055 binaries. 24 August 2016, 14:47:59 UTC
back to top