Recent posts

#1
Games / Retro-Sanctuary (Turrican)
Last post by ComSoft6128 - Today at 20:36
Agree or disagree?

The other comparisons are also worth looking at but I yet had the time work thru all of them.

https://retro-sanctuary.com/compaisons%20-%20Turrican.html
#2
Programming / Re: Locomotive Shell 1.0 - Ext...
Last post by zhulien - Today at 20:30
Just a short update.  I have it now reliably able to extend commands and edit them, list etc.  The only issue currently is that for extended commands, I have to modify where it works out line numbers so that while, wend and other loop constructs work (goto).  These actually have calculated and stored addresses and since I've now got support for multi-byte commands, i need to modify where it calculates these addresses.

As much as I think the Locomotive BASIC is ingenenious in the way it is coded, it is equally terrible.  I believe they were aiming for the best BASIC within 16kb - and I think they really did achieve that, but now we need to live with oddities because of that even though we now can extend it to 64kb or perhaps more.
#3
Thanks for the info, very interesting.

If I specify @a%[0] in a CALL command (for a variable defined as "DIM a%[2]"), that after the CALL command, DE contains the address for the first data element and as you indicated the integer elements are stored contiguously but also IY contains the address of the variable name.

If, however, I specify @a[0] (for a variable defined as "DIM a[2]"), this appears to not work. DE contains the same address as above but the data is not there!

#4
Quote from: ComSoft6128 on Today at 13:17however it will not allow the user to run a BBS on a 6128.
Is the goal to run it on a CPC? Or a BBS that can be used by a CPC (and other computers)? I thought we are looking for a client program.

I would probably look for a BBS that can be run on a hosted webserver and supports telnet.

Btw: The M4 already has a telnet client: https://www.cpcwiki.eu/forum/applications/telnet-client-for-cpc/

#5
There were one or two CPM BBS programs for the 6128 and the PCW but unfortunately I don't have any info on them.

The program that @eto has highlighted is an AMSDOS program and I used it for years to connect to BBS & eventually an email service, however it will not allow the user to run a BBS on a 6128.
#6
At its core, a BBS just sends a text stream to your computer. To allow for a bit of styling it uses control characters/sequences. If these sequences follow a standard, any computer system that understands this standard will be compatible with your BBS. A typical standard was VT100 / ANSI https://en.wikipedia.org/wiki/VT100

I just found this ANSI terminal for the Amstrad, which sounds promising: https://ewen.mcneill.gen.nz/programs/cpc/ewenterm/

However I do not really know how to set-up a BBS today, especially if you want to connect to it over the internet.
#7
My article at http://bread80.com/2021/11/20/variables-def-fn-definitions-and-arrays-storage-in-amstrad-cpc-locomotive-basic/ should tell you everything you need to know about variable storage on the CPC.

There's no way to get the address of an entire array, whatever that would mean. But all the elements are stored contiguously, so if you get the address of @a[0] then the rest of the array will follow straight after.

The final table in the article gives details of when information is stored about the array structure. The downside is you'll have to walk it backwards but the size is variable depending on the number of dimensions.
#8
Quote from: pelrun on Today at 11:47You don't actually need to "calibrate" against a CRT. The latency there is (effectively) zero, as the electron beam is directly driven by the monitor output. It's orders of magnitude faster than the CPU can even do a single write operation, so there's nothing to measure.
Indeed, but I need it to calibrate my set-up. I'm not yet sure what is the correct way to turn on the LED and print something on screen. The set-up with the CRT will allow to do that in a way that I can make sure, the whole set-up is reliable. Or: if I don't manage to get it perfect and e.g. will always have 1 frame in my 240Hz video even with CRT, I will know that I have to deduct 1 frame from the LCD tests to compensate my imperfect set-up. 
#9
Quote from: Cwiiis on Today at 10:28Another way would be to use my video distribution circuit, plug into both a CRT and LCD at the same time and record both - you'll need to record results on a CRT anyway with this method to get a baseline figure for latency, this would let you do it without any coding 🙂
100% agreed. But I thought I will just do a "calibration" with a CRT to get the base line and check if my idea is reliable with not too much variation. Then do the tests with LCDs. The idea is, to make it as easy as possible so everyone can replicate this in the future.

I will go for the printer port solution, do a few baseline tests and then check how things behave for GBS8200 with GBS Control (maybe on different monitors to see if they add lag), LCD TVs over Scart, LCD TV over VGA, LCD monitor (15KhZ compatible). and a SCARTtoHDMI converter.
#10
You don't actually need to "calibrate" against a CRT. The latency there is (effectively) zero, as the electron beam is directly driven by the monitor output. It's orders of magnitude faster than the CPU can even do a single write operation, so there's nothing to measure.
Powered by SMFPacks Menu Editor Mod