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.

Messages - elmer

Pages: [1] 2 3 4 5 6 7 8 ... 14
Interface / Re: Internal memory expansion plus USB
« on: 2021.June.08. 03:34:49 »
For anyone wondering what has happened with this ... I got sidetracked with another project, and when I was ready to come back to this and place an order for production, JLCPCB had run out of stock of the FT245R chips.

I keep on checking regularly to see if the part has become available again, but with no luck.

I don't know if this is related the global shortage of components that everyone is complaining about, but I don't think that there is much that I can do, except to keep on waiting.

Games / Re: Games for IS-DOS
« on: 2021.April.15. 02:25:55 »
But anyway I can't run this game at IS-DOS. It just freezes.

The game's loader program overwrites some of the memory reserved for EXOS, and so crashes the Enterprise as soon as an interrupt occurs.

I have patched ORBQUEST.COM and ORBQUEST.OVL to fix that, and have put the correct terminal settings for IS-DOS into the TERM.CTL file.

The game isn't a lot of fun to play, but at least it works now. ;-)

One thing to note, is that you MUST press the SHIFT key on the keyboard to enter upper-case characters when the game wants them. Upper-case and lower-case letters have different functions in the game.

Other topics / Re: New person here
« on: 2021.April.14. 02:55:42 »
Is the only difference between the 64 and the 128 the amount of onboard RAM? Is it possible to upgrade a 64 to the same as a 128?

The EP64, especially if you got it from the recent eBay sales in Egypt or Russia, is likely to come with EXOS 2.0 and BASIC 2.0.

EP128s, especially those that were shipped to our friends in Hungary, came with the updated EXOS 2.1 and BASIC 2.1.

If you're not a collector that is trying to keep your Enterprise unopened and in pristine condition, it is highly recommended that you open it up and swap your  EXOS 2.0 32KB-ROM for an EXOS 2.4 64KB-EPROM, which has BASIC 2.1 built into it.

That will require soldering one new wire between the EPROM and the Enterprise's motherboard.

While you've got the computer opened up, you can upgrade the Enterprise's RAM, if you wish, although that will need some more soldering, using the existing EXP1 and EXP2 expansion connections that are on your EP64's motherboard.

Since most of the Enterprise's library of software requires a 128K system, that would seem like a good idea. :-)

You can see some photos of my EPROM and RAM installation in the long-running memory expansion thread here.

I think that I might be the only person with a 512KB memory expansion board available for sale at the moment, and I am in the process of protoyping a new 1MB memory expansion board.

If you don't want to solder things onto your Enterprise motherboard, then you may want to take a look at the Symbiface3 external expansion.

Games / Re: Games for IS-DOS
« on: 2021.April.06. 21:43:30 »
Can we run these programs?

I do not think so.

Those conversions are to revision 5 and revision 6 of Infocom's Z-CODE, and the interpreter that we have only handles revision 3 or earlier.

BTW, it is fun to see all of Brian Howarth's adventure games being preserved on that site ... he worked at the same company as I did for a while. :)

Games / Re: Games for IS-DOS
« on: 2021.April.06. 21:33:00 »
Using termdef.com we can change terminal type (VT-52 in list and works but terminal test doesn't draws correctly).

The test fails because the Enterprise's VT52 terminal emulation does an automatic CR/LF when cursor reaches the end of the line.

The "H19" terminal setting is closer to what we want, but IS-DOS 1.0 does not support the H19's extra codes to disable line-wrap.

IS-DOS 1.1 does support the H19's ESC codes to enable/disable line-wrap, but it does not currently support the H19's 25-line.

I will have to look at this game again when IS-DOS 1.1 is closer to being finished.

Interface / Re: Internal memory expansion plus USB
« on: 2021.March.27. 22:34:38 »
Or it can be totally soldered, on PLCC or TSOP encapsulate, but then you need to take the /WE signal from the EP mainboard. Zozo can modify his SD cartridge updater software.

So you mean like this board ...


The problem with that, is the question of who is going to add those components to the bottom of the board?

The PCB manufacturer will not do it, and I am certainly not capable of hand-soldering either an SMT PLCC socket or a TSOP package.

Neither are most of the people here, I suspect, or they would have already built their own boards.

Replacing the USB components with a through-hole PLCC socket is something that I can imagine would work, and be something that probably more people could solder on at home because it is 0.1" spacing ... but I have no interest in that myself, because having the USB is the most interesting part of the board to me.

Interface / Re: Internal memory expansion plus USB
« on: 2021.March.27. 17:22:57 »
Have you tried to use the bottom side to put the Eprom Socket alone? There is enough space for it.

Yes, I did consider putting the flash ROM DIP on the bottom of the board, but it doesn't help because you still need through-holes for the pins, and the surface-mount RAM chips are the same width as the flash ROM, meaning that you can't interleave the parts on the board, and so you still need to move the SRAM chips out of the way by exactly the same amount that you would if you put the flash ROM on the top of the board.

Interface / Re: Internal memory expansion plus USB
« on: 2021.March.26. 16:54:45 »
It might be possible to add a DIP socket to the board, but it would make the board significantly larger.

Even then, I am not sure that I could add in a 32-pin socket for a 39SF040/27C040, but it might be slightly more reasonable to add in a 28-pin socket for a 64KB 27C512, which would be plenty of space for a driver and a couple of ROMs.

I've spent a lot of time trying to reorganize the circuit board to add either a 28-pin or 32-pin DIP for a ROM, and it just isn't working out well. :(

I think that it is probably best for me to go ahead and order just a couple of boards with the current design, and make sure that it works properly.

Interface / Re: Internal memory expansion plus USB
« on: 2021.March.21. 18:28:47 »
Just one idea: Is it possible to add 512K Flash ROM? To store the USB driver and other ROMs.

JLCPCB do not offer any modern surface-mount 5V 512KB flash ROM chips, so I can't just add one to the board.

They do list one type of 128KB flash ROM, but it is never in stock and available for manufacture, and so there is no point in even trying to add that to my design.

It might be possible to add a DIP socket to the board, but it would make the board significantly larger.

Even then, I am not sure that I could add in a 32-pin socket for a 39SF040/27C040, but it might be slightly more reasonable to add in a 28-pin socket for a 64KB 27C512, which would be plenty of space for a driver and a couple of ROMs.

Now having said that ... what driver are we talking about?

I can't imagine the USB serial port as a boot-time bulk-storage replacement for either the SD Card Adapter, or the MicroTeam floppy disk interface, or the Symbiface 3, and all three of those existing hardware boards already have plenty of unused ROM space that could be used for such a driver, if someone wanted to write one and create something like a "DriveWire".

If you want to change the EXOS "SERIAL:" driver to use the USB, then that might be more sensible to do inside the EXOS ROM itself, especially because there is still 6KB of unused space within the EXOS 2.4 ROM.

If you are really talking about having some space for existing ROMs, then do people really want that?  If so, would 64KB be enough?  Yes, I know that there are more than 64KB of Enterprise ROMs, but are they useful ROMs that people need to be permanently inside the Enterprise, or can they just be loaded with EPDOS's "LROM"?

Oh, one more thing ... since I am very new at this, I am also worried about adding too many new device loads onto the Z80's memory and data buses.

Interface / Re: Internal memory expansion plus USB
« on: 2021.March.21. 18:20:36 »
Great stuff! :smt041

Thanks, I'm learning a lot while trying to design this. :mrgreen:

Other topics / Re: Autorun at Enterprise
« on: 2021.March.21. 16:54:37 »
There is a way.

That is a really cool hack of the BASIC ROM! :ds_icon_cheesygrin:

I agree with you, it would be nice to have that available without EPDOS, for those people that don't have EPDOS in ROM.

It looks like there is some free space in the EXOS 2.4 ROM, it would be great to put a few of the useful EPDOS commands in that memory space, especially a version of "LROM" so that people with lots of RAM could load up EPDOS (or any other ROM) from EXDOS.INI.

Interface / Re: Internal memory expansion plus USB
« on: 2021.March.18. 16:50:52 »
I've had some feedback from a professional electronic engineer, who told me that the PORT1 chip wasn't needed because the FTDI's data bus is tri-state.

So I have altered the board layout, and also added a resistor network to pull up the status lines, which tri-state whenever the FTDI chip is held in /RESET, which happens whenever the USB cable is not connected to a PC.

Here's the current layout ...

Interface / Re: Internal memory expansion plus USB
« on: 2021.March.07. 01:58:37 »
so the different status, and data registers are equivalent, and i can use ex status register 78:0000 and data register 78:0114 for reading/writing the data (i know it does not make sence, because in this way the operation is slower), because a0 - a7 are ignored.

Yes, that is correct ... but only with this specific version of the hardware. ;-)

It is best if we all just agree to write our programs to access the USB ports at $78:4000 and $78:4100 (or $B8:4000 and $B8:4100), because then the hardware can be improved in the future without breaking anything.

For instance, in the future, if we used a GAL20V10 for memory decoding instead of a GAL16V8, then we get an extra 4 I/O pins to use for fun stuff.

That would allow for more ports, or for something like an 8KB dual-port RAM that could provide shared memory with a Z280 ... all on one small internal board.

It might never happen, but it is best if all of us programmers just behave politely, and we'll see if someone invents something cool in the future. :)  :cool:

Interface / Re: Internal memory expansion plus USB
« on: 2021.March.07. 00:43:20 »
As i see there is no direct port usage, they are memory mapped ports.

Precisely, yes! :)

What i do not understand in this moment how they works, each 78:00xx status registers have relation to 78:01xx, ex 0000 belongs to 0100? And these ranges are totally mirrored in the 4 "port" segment also? so 78:00xx has the same content as 79:00xx or 7a:02xx?
I think both option is good, i like better option 2 :-)

The hardware only uses address bits A21-A16, which define a 64KB region (4 segments), plus A8 to chose between the STATUS and DATA registers of the USB interface.

A0-A7 and A9-A15 are ignored, because there aren't enough pins available on the GAL16V8, and because even if there were, routing the extra address lines on the board would be horrible.

So you can read the STATUS register at $78:0000, or $78:0001..$78-00FF, or $78:0200-$78:02FF, or $78:0400-$78:04FF, and repeated all the way up to $7B:3EFF.

In the same way, you can read the DATA register at $78:0100, or $78:0101..$78-01FF, or $78:0300-$78:03FF, or $78:0500-$78:05FF, and repeated all the way up to $7B:3FFF.

The two registers are put 256 bytes apart from each other so that the EXOS routines that detect memory will never try to read or write the DATA register, and so that a simple INC H or DEC H can be used to switch between the registers.

So, to read a sequence of bytes from the USB FIFO, with 'BC' being the number of bytes to read, and 'DE' being the address where you want to put them ...

Code: [Select]
LD A, 78h
OUT (0B1h),A

LD HL, 4000h

Interface / Re: Internal memory expansion plus USB
« on: 2021.March.07. 00:12:48 »
I see you use F8h and B8h as communication ports. Good selection, single unused ports, but you must re-assure that these are not mirrors ports of other nearer ports, from the RTC card or Dave.

I suspect that you have misunderstood what I wrote ... which is a very easy thing to do when we're both relying on Google Translate! ;-)

The two USB hardware port addresses are not mapped into the Z80's I/O Port address range, because the Z80's /IORQ signal is not available on either EXP1 or EXP2, and frankly even if it was, there are not enough pins on GAL16V8 to map both RAM segments and I/O ports.

The USB hardware occupies a 64KB region in the Enterprise's 4MB memory map (i.e. 4 segments) ... which is why I have to be careful that the EXOS scan for RAM/ROM segments will not harm the USB chip.

Using a whole 64KB region is somewhat wasteful, but we can afford the memory space, and it is the best solution that I could think of actually building something that is both affordable and easy-to-install.

Pages: [1] 2 3 4 5 6 7 8 ... 14