aap / vt05 Goto Github PK
View Code? Open in Web Editor NEWSimple VT05, VT52 and Datapoint 3300 emulator
License: MIT License
Simple VT05, VT52 and Datapoint 3300 emulator
License: MIT License
The terminal emulator for the vt05, vt52, dp3300, dm2500 and gecon may fail to build on MacOS with libsdl2
. This was discovered building ITS using the pdp10-kl emulator. MacOS was 11.6.4, libsdl2 version 2.0.20 installed by MacPorts and clang13.
The error was
cc -Wall -Wno-unused-parameter -Wno-parentheses -Wno-unused-result -O3 -o vt05 vt05.c terminal.c `sdl2-config --libs --cflags` -lm -lpthread
In file included from vt05.c:18:
In file included from /opt/local/include/SDL2/SDL.h:32:
In file included from /opt/local/include/SDL2/SDL_main.h:25:
/opt/local/include/SDL2/SDL_stdinc.h:482:5: error: implicit declaration of function 'memset_pattern4' is invalid in C99 [-Werror,-Wimplicit-function-declaration]
memset_pattern4(dst, &val, dwords * 4);
^
1 error generated.
make: *** [vt05] Error 1
The cause of the error seems to be fragile conditionalization in the SDL.h
header file. The error can be fixed my moving
the include of SDL.h
to the top of the includes (for example, here in vt05.c):
#define _XOPEN_SOURCE 600
#define _DEFAULT_SOURCE
#include <SDL.h>
#include <stdio.h>
#include <stdlib.h>
#include <stdint.h>
#include <stdarg.h>
#include <ctype.h>
Making this change in all of the source files allow the build to complete successfully.
The fragile conditionalization in SDL.h
seems to be a known problem and the recommended solution is to include SDL.h
as early as possible.
Real photo vs emulator.
This and next from http://historicalcomputer.com/discuss_issues.cfm?start_point=331
Add new option, say -r or -R. Used to re-run the subprocess if it exits.
Intended use case: <terminal> -r telnet host
so that if host goes down, the terminal will reconnect when host comes back up.
Datapoint 3300 documentation says codes 136 and 137 are arrows.
The AAA is natively supported by ITS.
http://bitsavers.org/pdf/annArborTerminals/Ann_Arbor_Ambassador/firmware/
Most terminals supported have no arrows keys, and most emulators have them unmapped. I suggest it would be useful to map them to Emacs cursor movement, or similar depending on the intended target system. I.e. Datamedia could use E cursor movement.
VT100 in progress on the branch lars/vt100.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.