Welcome, Guest. Please login or register.

Show Posts

This section allows you to view all posts made by this member. Note that you can only see posts made in areas you currently have access to.

Topics - BruceTanner

Pages: [1] 2
Programozás / DRVTEST
« on: 2020.January.07. 14:25:32 »
Itt a DRVTEST, egy kis alkalmazás hajlékonylemez-meghajtók és EXDOS kártyák teszteléséhez, diagnosztizálásához és vizsgálatához.

Azért írtam, hogy segítsen az EXDOS 3 fejlesztésében, valamint segítsen a öreg hardverek életbentartásában.

A DRVTEST.COM betölthető a BASIC-ből, vagy futtatható IS-DOS parancsként, vagy a DRVTEST.ROM behelyezhető egy ROM-ba, és a következővel indítható :DRVT.

Egyes helyeken meglehetősen technikai, de a H gombbal elérhető HELP leírás. Vagy csak válasszon meghajtót A vagy B gombbal, majd nyomja meg a T gombot a Tesztek futatásához meghajtó vizsgálatára!

Programming / DRVTEST
« on: 2020.January.07. 14:20:59 »
Here is DRVTEST, a little application for testing, diagnosing and investigating floppy disk drives and EXDOS interfaces.

I wrote it to help with EXDOS 3, and also to help keep vintage hardware running.

DRVTEST.COM can be loaded from BASIC or run as an IS-DOS command, or DRVTEST.ROM can be put in a ROM and started with :DRVT.

It is quite technical in places, but you can press H for help. Or just select a drive with A or B and then press T for Tests to exercise your drive!

Programming / EXDOS 3.0
« on: 2018.September.09. 13:42:21 »
A little taste / tease...


No promises, still quite a bit of work and testing to do... : Lol:

Programming / SHA-1 / HTTPS on a Z80?
« on: 2018.July.20. 14:47:40 »
For a while now I have been wondering how well a 4MHz Z80 would cope with some modern encryption protocols like those used for HTTPS web sites (ie most web sites these days), so I wrote some SHA-1 encryption code and a test program:


The .html file for the main page of  EnterpriseForever.com (which is also a HTTPS web site) is around 64k once all the secondary files are included. Based on my SHA-1 code it would take around 15s for a Z80 to decode!

There are more modern and more secure SHA algorithms with longer hash values but they operate in a broadly similar way.

Here is the source code for the SHA-1 algorithm in case anyone ever finds it useful (assembled using sjasm 0.42c). I was able to adjust the official algorithm a bit to avoid copying all the data twice!:

* sha1.asm (49.56 kB - downloaded 319 times.)

And here is the source code for the test program which includes the above file (sorry, a bit messy as it was hastily hacked together from another program!)

* sha1test.asm (15.19 kB - downloaded 316 times.)

Bitcoin mining on a Z80? :mrgreen:

Other topics / ZX Vega+ new Spectrum games console
« on: 2018.June.01. 23:15:52 »
The new Spectrum-like games console seems to be in trouble according to  BBC news story but scroll down a bit...look who one of the backers is...Dr Levy!

(Sorry if everyone already knew that, I didn't!)

Hall of Fame / 2014 painting of Nick Toop
« on: 2018.January.22. 16:02:39 »
Photos of Nick Toop (of Nick chip fame) are rare, but I've just come across this 2014 picture painted by his daughter! ~30 years older than I remember him!

[ Guests cannot view attachments ]

The text alongside it reads:

"In the late 1970s, my father designed the hardware of the first Acorn microcomputer for home use. It was a breakthrough in home technology at the time.

For some years, he worked alongside Clive Sinclair and Christopher Curry, who are considered to be the founders of the Cambridge microcomputer revolution (Often referred to as 'The Cambridge Phenomenon').

In 2009, the BBC filmed a one off drama entitled 'Micro Men' which explored the rivalry between Sinclair and Curry during the rise of the British home computer market during the 1970s and 80s.

As well as working on the Acorn microcomputer, Nick Toop has also designed the hardware of a world champion commercial chess machine - the Scisys Y5, and the hardware and graphics chip of the Elan Enterprise microcomputer.

While I definitely don't inherit any of my father's scientific and mathematical skills, we do have creativity in common. I painted him because I wanted to capture the man I know, but also to celebrate all his achievements. I am very proud to know him.

From http://heloisetoop.com/artwork/3390191_Nick_Toop_Micro_Man.html - I've copied and pasted to EnterpriseForever in case it ever disappears from heloisetoop.com, all copyright etc belongs to Heloise Toop.

Hardware / EPNET
« on: 2017.July.24. 21:35:58 »
A few people have asked about EPNET progress recently so I thought I'd start a new topic for everything to do with EPNET.

Recent work
After the problems I had with glitches on the Enterprise's /RD and other z80 signals on the expansion bus (described in painful detail in other topics :cry:), and after discovering that a few original EXDOS cards include a fix :shock: , I have copied the fix and applied it to EPNET. This involved a new revision of the PCB which I am calling EPNET 1.2. (1.0 was my first version, and 1.1 was an intermediate version that never got made).

EPNET 1.2 also includes: A compact FLASH card interface, nearly :oops: 512k expansion RAM, the ability to enable 64k FLASH ROM for any other ROM images, the ability to sit between the Enterprise and other expansion such as EXDOS, and the ability to live in a box.


Current state
I hope to be able to send out two "beta" prototype cards soon time for further testing in environments other than my little workshop. For example I have not tried it with 8 or 10MHz machines or with any Enterprises other than the 3 I own. I am particularly nervous about the last point given my /RD noise problems :(

If that goes ok I have enough parts and PCBs to build 7 more. While I am doing that I will need to order more parts and PCBs which will have a lead time of several weeks.

I hope to make it available as a vertical naked PCB as shown above (which can also be plugged into an expansion bus), a vertical box, or a horizontal box as shown above. (No photo yet of the vertical box as I am still working on it! :oops: ). The box versions sadly will have to be more expensive due mostly to the cost of the box itself.

ESP8266 version: it should be possible to make a wireless version by just replacing the network module. But so far I only have a half-built prototype. :oops:
EXDOS integration: I would like to be able to map a drive letter to a network directory so that EPDOS etc works with a network directory. This requires a lot of work with EXDOS but that should also lay the ground work for FAT16 or possibly even FAT32. :shock:

This project is only a "hobby" in my spare time so no guarantees of timescales. I am going as quickly as I can but there are lots of other demands on my time particularly in the summer months! :roll:.

Emulators / ESP8266
« on: 2017.March.25. 19:46:41 »
Somebody has got a Z80 emulator running on an ESP8266.


Now where could we go from here... :shock:

Interface / Another idea for Real Time Clock?
« on: 2016.December.30. 07:43:46 »
For £7.99 one of these from Amazon https://www.amazon.co.uk/gp/product/B010A6WB0A/ref=oh_aui_detailpage_o02_s00?ie=UTF8&psc=1 needs 5V @ 15mA and GND, and outputs ASCII lines at 4,800 baud. It is a satnav-type module and uses the satnav satellites to output your position, but one of the lines it outputs is the current time (UTC)! (Other similar modules are available, it is a standardised protocol and they are intended to connect to a car dash camera to allow the camera to record your position.)

Unfortunately 5V is not on the EP serial connector but maybe if RTS was always high it could be used to power the unit!

Programming / .com file for IS-BASIC *and* IS-DOS
« on: 2016.February.08. 19:13:31 »
There is an unfortunate convention that "header type 5" EXOS applications and IS-DOS applications both use ".COM" files. So I wanted my program to work when loaded both ways.

EXOS loads the type 5 .com program into memory at 100h and jumps to it. IS-DOS loads the header itself at 100h followed by the program and then jumps to 100h :( So I needed to make the header executable! :shock:

The first header byte is 0, which is a NOP :)
The next header byte is 5, the type byte. 05 is DEC B, so harmless. :)
The next byte is the low byte of the program size. So I padded the end of the program with 0s until it was xx3eh bytes long. 3e is LD A,n :mrgreen: :lol:
The next byte is the high byte of the program size which will be loaded into A by the LD A,n instruction :)
Normally we then 12 0s (NOP), but I used 11 0s and a final opcode byte
Instead of 0 the last byte is 21h = LD HL,n

The program code then follows the header.

The first instruction in the code is a two-byte JR instruction, so this will be skipped when the above header is executed as it will be loaded into HL but not when loaded as a type 5 program as this is EXOS's entry point. This allows the program to detect if it was loaded by IS-DOS. It needs to do this because in this case it needs to do an EXOS reset instruction, mess about with paging a bit to get it compatible with an EXOS type 5 load, and also to copy the main program down in memory by 16 bytes, overwriting the header.

The final "trick" is to do the copy by putting an LDIR instruction at 0feh and jumping to it. When it has finished the next instruction will be the JR at the start. :)

Source code enclosed :lol: :lol: :lol:


Maintenance / Glitch on /RD
« on: 2015.December.15. 13:45:26 »
Here's a trace taken on an EXDOS card plugged into the expansion port of a standard EP128:

The purple trace is /RD and the blue trace is the same signal after it has passed through an OR gate (other input tied low) on the EXDOS card. The dotted horizontal line is at 0.8v - the "0" to "1" threshold for LS TTL.

Here's the same signal, /RD, on my EPNET card (different timebase on 'scope though):

Just wondered if anyone else has seen this before?


Hardware / EPNET update
« on: 2015.September.03. 11:52:12 »
An update on the EPNET project...

Directly connected to the Enterprise:

On an expansion bus:





EXOS channels and EXDOS :TYPE :

Diagnostic protocol tracing:

Programming / 19% faster LDIR
« on: 2014.December.02. 12:28:30 »
Here's a trick I didn't know about/had never thought of. I can't claim credit for it: I've just come across it at http://map.grauw.nl/articles/fast_loops.php.

Basically it's unrolling LDIR into a series of LDIs. Easy if you know in advance how many bytes but here's some general copy code that's nearly 20% faster (with a little overhead). It's self-modifying so won't work in ROM!

Code: [Select]
; Up to 19% faster alternative for large LDIRs (break-even at 21 loops)
; hl = source (“home location”)
; de = destination
; bc = byte count
    xor a
    sub c
    and 16 - 1
    add a,a
    ld (FastLDIR_jumpOffset),a
    jr nz,$  ; self modifying code
FastLDIR_jumpOffset: equ $ - 1
    ldi  ; 16x LDI
    jp pe,FastLDIR_Loop

I'm not sure why the di and ei are needed unless you're going to use the same code in an interrupt routine and main code.

Other topics / Atari dumped games
« on: 2014.November.05. 11:02:42 »
Nothing to do with the Enterprise but everything to do with the home computer/games console market collapse of 1983 with which we are all familiar...apparently in 1983 Atari dumped a load of unsold games cartridges in a desert landfill, and last year they were all dug up again! They are now appearing on US eBay:


Hardware / Another possibility for Enterprise on Ethernet
« on: 2014.September.03. 01:21:53 »
Here is a tiny new module that can connect a device to WiFi over serial :shock: : (it does SPI too)


It is aimed at the "internet of things" but I don't see why the Enterprise could not be a "thing" :) It has a nice soldering iron friendly 0.1" connector!

It would be slow of course - the max baud rate of the Enterprise is 9600 :oops:. But it would be easy to connect up without interfering with disk drives/SD card readers etc on the main expansion bus or cartridge slot. It contains the TCP/IP stack so would just need the SMB or FTP protocol to run on the Z80. (Q: is it possible for a 4Mhz Z80 to go faster than 9600 without extra h/w assist? [without disabling interrupts for ages])

Pages: [1] 2