Add include for atoi()
It appears the intent was to use the same path variable. I've fixed this in current git. Please let me know if it works so I can close this.
Fix Clang warning in TDock
Use correct type for str.find() result
Fix Clang warning (Ken Pettit should really take a look though)
ifdef out MakeRightChain() since it's not called
Remove more ineffectual variables
Minor fixes to dead code paths.
Fix Clang warning about unneeded parenthesis.
Whoops, don't remove *that* one!
Fix some clang warnings by removing ineffectual variables.
Fix misleading indentation that misled me for last commit. :D
Fix "misleading indentation" warings from Clang
Eliminate K&R function style
Fix extern on path[] symbol.
Fixed latent bug in Model 200 Display code where clearing a dot on the screen clears multiple dots.
Thinking to check up again on this program, I was intrigued to see reports of updates to it and pleased when I was able to get the code provided by Brad Ackerman to compile on macOS 12.7.2 with shifted characters working. As I got around to trying the Epson FX-80 emulation feature, I did think about how I'd captured printer output from a Color Computer emulator only able to "save to a file" and fed that into standalone command-line programs that could turn Epson graphics commands into PDF files....
Fix key events on OS X to match Windows/Linux behavior.
OS X/memory access fixes
Do you have a copy of the OCCAM repository saved? It's long gone from the interwebs and not in web.archive.org.
I just built HEAD on an M1 MBP; the only change I had to make was adding #include <stdlib.h> to src/pref_form.h. I also had to export LDFLAGS="-L/opt/homebrew/opt/jpeg/lib -rpath /opt/homebrew/lib" and of course installed the head rather than bottled version of fltk since there are some vital fixes (can't remember what) in the 1.4.x series. I haven't looked into building for distribution.
Does anyone on here have an Apple Silicon based Mac that would know if this can be built for that platform? I have Ventura 13.5.2 and a MacBook Pro M2. Thank you.
multiple definition of `path'
I tried out your version on macOS 11.6.1, and the shifted punctuation characters that just didn't work in my own build typed properly. I did notice, though, that when the emulator speed is set to 2.4 MHz the screen redraws very slowly with each new line of text, as it did when I was running the Windows version 1.7 via Wine. (Bumping the speed up to "Very CPU Friendly" makes things usable, if peppier than I recall the Model 100 actually being.) Even so, I do want to thank you for your work.
I have a new binary available of version 1.7.1 (the .1 is my minor improvements) of the Mac version of VityualT. I have added sound supprt (it beeps) and got it to build on Mac OS X 10.13. It is available here: https://drive.google.com/file/d/1-IL1jNBXgaSIk0ik-dBfsD15J25pcsfH/view?usp=sharing The method I used to get sound will probably work on Linux also, I am talking to a small independant program that uses the SDL sound libraries using a pipe. In addition to sound support, I also added looking...
Shifted punctuation keys don't type (macOS builds)
Also I tried the compiled package: virtualt-linux64-v1.7 (for PureOS it has to be 64-bit so I can't try any of the previous packages). Any with this package I get the following error: ./virtualt: error while loading shared libraries: libjpeg.so.9: cannot open shared object file: No such file or directory I've made sure all libjpeg packages are installed, but still same.
I cheated by basically commenting out objUnderMouse = false and got past that error, but now a new error: Compiling fl_usage_box.cpp make: --use-images: Command not found make: --use-images: Command not found Linking virtualt /usr/bin/ld: cannot find -ljpeg /usr/bin/ld: cannot find -lXinerama /usr/bin/ld: cannot find -lXext collect2: error: ld returned 1 exit status make: *** [GNUmakefile:125: virtualt] Error 1
Compiling on Linux (PureOS - so Debian, basically), but I'm getting the following error: Compiling Flu_DND.cpp src/Flu_DND.cpp: In member function ‘void Flu_DND_Event::clear()’: src/Flu_DND.cpp:40:19: error: cannot convert ‘bool’ to ‘void’ in assignment objUnderMouse = false; ^~~~~ make: ** [GNUmakefile:171: obj/Flu_DND.o] Error 1 Any idea?
Of course I notice this after I post... I just cloned the Git repository as opposed to downloading the latest source here on SF and it builds & runs just fine. So this may be a non-issue.
can't build on Mac 11.4
Updates to get VirtualT 1.8 compiling under Windows using FLTK-1.3.5.
Added midnight theme with all black dialog boxes and menus, added RexC memory support, fixed pc8201a host file load.
Serial cable diagram
In case you hadn't found this setting in the emulator - from the emulator menus try Emulation->Peripheral Setup, then click the Sound tab in the dialog box. Then check the "Enable Sound" checkbox. Works for me in v1.7. Cheers, MDL
Here's an example project for PC-8201. Your "mileage may vary" depending on the other models supported by the Virtual-T emulator. This particular example is a code stub used to transfer data between RAM banks using the PC-8201 ROM routines. It's meant to be used with BASIC EXEC statement after POKE-ing the various target variables into memory.
Here's the short answer. More detail in a later post. 1. In your project folder, create file with a .lkr extension (e.g. link.lkr) and set it in the linker script folder in the project tree. 2. In your .lkr file add a single line to indicate the start and end of the absolute code segment (assumes you have and ASEG psuedo-op before the ORG of your assembler file. CODE NAME=.aseg START=0xe380 END=0xf380 This particular command sets up the code to locate in a 4k area just below the PC-8201 bookeeping...
Example Linker Script
Minor updates to tpddserver to fix warnings with -Wall.
Minor updates to fix unused and possible uninitialized vars with -Wall.
Fixed warnings with -Wall and code cleanup in src/highlight.cpp.
Minor changes to fix warnings with -Wall in ide.cpp and idetabs.cpp.
Minor update to src/fl_action_icon.cpp to fix warnings with -Wall
Minor updates to fix unused variable warnings with -Wall.
Minor fixes to src/fileview.cpp to fix warnings with -Wall.
Changes to assembler and parser to fix warnings with -Wall.
Fixing compiler warnings in Linux in src/sound.c.
Fixing compiler warnings in src/chargen.cpp.
Minor updates to src/disassemble.cpp to fix warnings with -Wall.
Minor changes to fix unused var warnings with -Wall.
Ok, merged.
linux & osx makefile fixes, fl_wait()->Fl::wait(), string lengths
I can't merge it you have to, or Ken I think? I never used sourceforge's git web ui before just github and gitlab. But as far as I can tell, it's waiting for you to accept or reject I think. I only have two buttons up top, "reject" and "refresh commits". I've been pressing "refresh commits after each time I added a new commit, and that made them show up here as part of the merge request.
I can't merge it you have to, or Ken I think? I never used sourceforge's git web ui before just github and gitlab. But as far as I can tell, it's waiting for you to accept or reject I think.
Looks good. I'm not overly worried about a chatty commit history, so feel free to either merge this or split it out into separate merges or even separate direct master commits.
suits me
Perhaps I should kill this merge request and submit the individual topics individually. This mr is messy and I apologize for that. But, now it has the last few things discussed.
Ah! this I like, thank you... I was about to just declare an arbitrary large size for localpath[]
As for commenting out code... just delete it, that's why we have version control. Maintaining the working code is hard enough, maintaining code that's not used or tested on top of that is silly. If you're really worried you may need to see it in the future, turn it into a real comment explaining why it was removed and why it may be worth leaving there. Commented out code just makes everything around it harder to understand.
Well... with that it will replicate the last path in the list. The old code is correct, it just uses localpath as a temporary string variable. If that's what you want to fix, just declare a new string inside the function: if (strlen(errors) > 0) { char errmsg[1046] sprintf(errmsg, "No ROM file for %s", errors); show_error(errmsg); }
Right, maybe this then?: if (strlen(errors) > 0) { strcat(errors, "\nNo ROM file for "); strcat(errors, localpath); show_error(errors); } For fl_wait() I just preserved what was there. I didn't put them there, and can't say that there isn't some reason for them like a hint about something that might or might not be needed.
In d28673, check_installation now throws out the list that was carefully constructed in errors and only shows the last path that failed. In e999a0 it's not clear why fl_wait() is comment out in some cases rather than simply deleted.
linux & osx makefile fixes, fl_wait()->Fl::wait(), string lengths
Added -ldflags to FLTK env variables in GNUMakefile.
Fixed Save To Host ASCII mode bug where ASCII values > 127 in quotes were being
Updated tpddserver class to derive from new VTServer base class. This is in
Fixed warning in display.cpp with fl_choice call for Cold Boot.
Updates to tdock sources to add support for locking the label line.
Checking in missing code added to IDE / Linker to automatically load
Updated source file
Fix copy pasta.
Fix harmless warnings.
@kpettit1 This works I wrapped the affected lines in an #if block, and the performance looks much like my T102. Thank you!
Thanks. I still can't get the code to link - fltkz.lib is missing. I'm wondering if I have the wrong fltk version. ** Edit: never mind. Figured it out. It requires FTLTK 1.1.
Thanks. I still can't get the code to link - fltkz.lib is missing. I'm wondering if I have the wrong fltk version.
Changed assembler.cpp LookupSymbol / Define logic.
Updated CPU regs trace bug where L register was showing E values.
Shortened the LCD response time in io.c to more closely match the real HW. Needs
The issue is in io.c on line 1272. The code is checking the hirestimer to see if enough time has passed prior to reporting the LCD controller as ready after an access. Commenting out lines 1268 - 1274 causes the emulation to add zero delay, but I found this is actually faster than the real hardware, and code that runs in VT may not actually run on a real machine. A better approach would probably be to profile the time a little better than I did in 2015 and change the the line: if (lcdTime[c]+.000014...
Hey Guys, I know where the problem is. A few years back when I was working on AsciiPixels, I had noticed that my code would work fine in VirtualT, but would not update the display on a real M100 / 102 correctly. The issue was in the response times of the LCD driver chips. So in V1.7, I tried to add emulation of the driver chip delays. I think this delay is a bit too much, and that is what is causing the slow response you are seing. Ken
Sure. i have not been able to build the project yet - I am still messing with getting the missing library components in the right place. I am hoping to get a chance to play with it this weekend.
Virtual T com port emulation fails with com0com on Win32
Closing old tickets, please re-open if you still care.
Building VirtualT in 32bit Ubuntu 14.04 LTS
Closing old tickets, please re-open if you still care.
VirtualT Build on Slackware Linux
Closing old tickets, please re-open if you still care.
Remove usage of obsolete register storage class.
Fix some more harmless warnings.
Silence warnings when if (x = y())
Use delete[] for new char[x] allocations.
gettimeofday() is declared in sys/time.h
Fix pointer initialization.
Silence Clang warning
Add space required by C++11
Fix obviously incorrect comparison.
I've converted the repo to git... if you could bisect from 1.6 (82a9ab) to 1.7 (bc298f) and figure out where the time difference occurs, it should be fairly simple to fix. There's a history of large combined commits in this repo, so it's hard to figure out exactly which commit corresponds to the change.
Initial revision
Initial revision
Add wrapper files.