Something like ADM694 for battery backup would also provide a power fail indicator, using the reset output to gate the memory decoder so two or more rams can have power fail write protect. It might even be possible to configure the system to resume after power fail. Watchdog can also be used as a system reset, leave Watchdog input floating and ground it for a second or two to trigger reset.
Mark
If you add links to select supply for U2 from either BAT or Vcc then you could have option of two battery backed rams. Connect both CEs to the DS1210 and use OE and WE for address selection. U2 decoupling would of course be after the link, direct to U2 vcc pin.
Cost of the FT245 is offset by the FTDI adapter, but i guess almost everyone already has ftdi adapters.
Mark
Richard,
I don't actually have the original RAM/ROM 512K module and never have used ROMWBW before. Could you suggest a hardware configuration for verifying the ROMWBW compatibility. My simple-minded configuration is a Z80 with SIO running at 7.37MHz; should I consider other configurations?
Here is the SST39F040 programmer as implemented in RR512K:
https://www.retrobrewcomputers.org/doku.php?id=builderpages:plasmo:rr512k#eprom_programmer
The hardware setup is a RC2014 backplane with a Z80 board with clock(Karlab 23c) and the RR512K board populated with SST39F040. The bootstrap code synthesized in CPLD is quite small, 16 bytes. It reads 256 bytes from CPLD's serial port and stores the serial data in memory and then jump to it. The 256-byte serial loader loads the SST39F040 programmer and jump to it. The SST39F040 programmer first asks user to confirm erasure of the EPROM, erases it, and asks user to upload the EPROM image file in Intel Hex format. The programmer writes the data into EPROM as it receives it, so when the file transfer is completed, the EPROM is also programmed. It takes about 2 minutes to transfer & program 512K data at 115200-N81. I verified the content of the programmed EPROM on TL866II programmer. It verified OK.
Once I have the programming framework for SST39F040, programmer for AT49F040 should be fairly easy to do.
Bill
RetroBrew HBIOS v2.9.1, 2019-06-03
RC2014 Z80 @ 7.372MHz
0 MEM W/S, 1 I/O W/S, INT MODE 1
512KB ROM, 512KB RAM
ACIA0: IO=0xA0 ACIA MODE=115200,8,N,1
MD: UNITS=2 ROMDISK=384KB RAMDISK=384KB
IDE: IO=0x10 DEVICES=1
IDE0: NO MEDIA
Unit Device Type Capacity/Mode
---------- ---------- ---------------- --------------------
Disk 0 MD1: RAM Disk 384KB,LBA
Disk 1 MD0: ROM Disk 384KB,LBA
Disk 2 IDE0: Hard Disk --
Char 0 ACIA0: RS-232 115200,8,N,1
RC2014 Boot Loader
ROM: (M)onitor (C)P/M (Z)-System (F)orth (B)ASIC (T)-BASIC
Disk: (0)MD1 (1)MD0 (2)IDE0
Boot Selection? C
Loading CP/M 80 v2.2...
CBIOS v2.9.1 [WBW]
Configuring Drives...
A:=MD1:0
B:=MD0:0
C:=IDE0:0
D:=IDE0:1
E:=IDE0:2
F:=IDE0:3
G:=IDE0:4
H:=IDE0:5
I:=IDE0:6
J:=IDE0:7
1935 Disk Buffer Bytes Free
CP/M-80 v2.2, 54.0K TPA
B>dir
B: ASM COM : CLRDIR COM : COPY CFG : COPY COM
B: DDT COM : DDTZ COM : DIF COM : DUMP COM
B: ED COM : FA16 CFG : FDISK80 COM : FILEATTR COM
B: FILEDATE CFG : FILEDATE COM : FLASH COM : INITDIR CFG
B: INITDIR COM : LDDS COM : LDP2D COM : LINK COM
B: LOAD COM : MBASIC COM : NULU COM : PIP COM
B: PUTDS COM : RELOG COM : RMAC COM : STAT COM
B: SUBMIT COM : SUPERSUB COM : TD CFG : TD COM
B: UNARC COM : XSUB COM : ZAP COM : ZCAL COM
B: ZCNFG COM : ZCNFG24 CFG : ZDE COM : ZPATH COM
B: ZSCONFIG COM : ZXD CFG : ZXD COM : ASSIGN COM
B: FDU COM : FORMAT COM : MODE COM : OSLDR COM
B: RTC COM : SURVEY COM : SYSCOPY COM : SYSGEN COM
B: TALK COM : TIMER COM : XM COM : INTTEST COM
B: CPM SYS : ZSYS SYS
B>
RomWBW HBIOS v3.0.1, 2020-04-04
RC2014 Z80 @ 7.372MHz
0 MEM W/S, 1 I/O W/S, INT MODE 1
512KB ROM, 512KB
RAM
ACIA0: IO=0x80 ACIA MODE=115200,8,N,1
DSRTC: MODE=STD IO=0xC0 NOT PRESENT
MD: UNITS=2 ROMDISK=384KB RAMDISK=384KB
IDE: IO=0x10 MODE=RC
IDE0: NO MEDIA
IDE1: NO MEDIA
PPIDE: IO=0x20 PPI NOT PRESENT
Unit Device Type Capacity/Mode
---------- ---------- ---------------- --------------------
Char 0 ACIA0: RS-232 115200,8,N,1
Disk 0 MD1: RAM Disk 384KB,LBA
Disk 1 MD0: ROM Disk 384KB,LBA
Disk 2 IDE0: Hard Disk --
Disk 3 IDE1: Hard Disk --
RC2014 Boot Loader
ROM: (M)onitor (C)P/M (Z)-System (F)orth (B)ASIC (T)-BASIC (P)LAY (U)SER ROM
Disk: (0)MD1 (1)MD0 (2)IDE0 (3)IDE1
Boot Selection? C
Loading CP/M 80 v2.2...
CBIOS v3.0.1 [WBW]
Formatting RAMDISK...
Configuring Drives...
A:=MD1:0
B:=MD0:0
4140 Disk Buffer Bytes Free
CP/M-80 v2.2, 54.0K TPA
B>
dir
B: ASM COM : CLRDIR COM : COMPARE COM : COPY CFG
B: COPY COM : DDT COM : DDTZ COM : DUMP COM
B: ED COM : FA16 CFG : FDISK80 COM : FILEATTR COM
B: FILEDATE CFG : FILEDATE COM : FLASH COM : INITDIR CFG
B: INITDIR COM : LDDS COM : LDP2D COM : LINK COM
B: LOAD COM : MBASIC COM : NULU COM : PIP COM
B: PUTDS COM : RELOG COM : RMAC COM : STAT COM
B: SUBMIT COM : SUPERSUB COM : TD CFG : TD COM
B: UNARC COM : XSUB COM : ZAP COM : ZCAL COM
B: ZCNFG COM : ZCNFG24 CFG : ZDE COM : ZPATH COM
B: ZSCONFIG COM : ZXD CFG : ZXD COM : ASSIGN COM
B: FDU COM : FORMAT COM : MODE COM : RTC COM
B: SURVEY COM : SYSCOPY COM : SYSGEN COM : TALK COM
B: TIMER COM : XM COM : INTTEST COM : CPM SYS
B: ZSYS SYS
B>
The alert readers may wonder why I need to port ROMWBW to RR512K since RR512K should already be compatible with the original RAM/ROM512K. Yes, RR512K is compatible with the original RAM/ROM512K, but there is a serial port in RR512K which may possibly replace the original 6850 board. So the "porting" exercise is to design the serial port in the CPLD such that it can be recognized by ROMWBW as an ACIA port. I was successful in getting the CPLD serial port recognized as the ACIA. So the hardware is consisted of a Z80 with clock (Karlab 23c) and a RR512 with ROMWBW installed.
Mark
--
You received this message because you are subscribed to the Google Groups "retro-comp" group.
To unsubscribe from this group and stop receiving emails from it, send an email to retro-comp+...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/retro-comp/75a900e9-b120-4cf3-b0ac-db0ffc7647dc%40googlegroups.com.
Oh, yes, yes, yes, absolutely fantastic. I constantly find myself in situations where I need a ROM emulator.I have had a few over the years but they where all expansive and kinda sucked.Will you use RAM to emulate ROM or flash (which I assume is what everyone means when you write eprom?)?Please add some control over a few general i/o's so one can toggle reset for example, or control BUSREQ, HALT.And maybe an input or two.And if the emualtions is from RAM, please allow the protocol to modify bytes anywhere in the RAM, if possible.--Fredrik
On Fri, Apr 24, 2020 at 10:00 PM Bill Shen <coinst...@gmail.com> wrote:
Mark,
I don't know where the limit is. 22MHz Z80 has been producible for many different designs, so I just pick it as a starting point. I probably will try up to 29.5Mhz CPU clock. The serial port is always at 115200.
Bill
--
You received this message because you are subscribed to the Google Groups "retro-comp" group.
To unsubscribe from this group and stop receiving emails from it, send an email to retro...@googlegroups.com.
To unsubscribe from this group and stop receiving emails from it, send an email to retro-comp+...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/retro-comp/a8aa57b6-6b29-4543-becf-87bcd40ea34e%40googlegroups.com.
Will Sowerbutts did something like that for his socZ80 used the 8MB SDRAM on his FPGA board and wrote a memory manager for it. He had to add a block RAM cache in front due to latency issues.
You may use the extra memory as ram disk, or as video memory.Karl
I'm thinking of a better, faster and cheaper RAM/ROM 512k module. The improved RAM/ROM 512K is fully backward compatible with the original, but with added features:
- ROM emulation, with few jumper configurations, the ROM socket can be populated with RAM and data uploaded into the RAM via serial port at 115200 baud,
- EPROM programmer, programming software can be loaded in RAM to program the EPROM,
- A serial port, the same serial port used to load ROM image can be reuse as a regular serial port.
- A real-time clock like PCF8563 that can generate 32Hz output driving the interrupt,
- Battery backup for RAM & RTC,
- SPI port,
- Faster, should be able to run 20MHz
- Cheaper, the board should be around $50.
Bill
Off the wall question...As the 39SF040 allows Byte-Programing, with the correct driver, would you be able to write a file to the RomWBW ROMDISK?orA modified "SAVE" command to allow programs in Intel hex format to be loaded @0100h and saved to the ROMDISK?