|
|
|
Re: N8 (N8VEM) 4617 [message #6277 is a reply to message #6271] |
Sun, 28 April 2019 12:18 |
wtim55
Messages: 13 Registered: September 2018 Location: Sao Paulo SP, BR
|
Junior Member |
|
|
278/5000
Hello, jojoenco,
This is my N8 system. I have only used the serial port.
My configuration files for rom file compilation are as follows. They are the most current version of ROMWBW available at https://github.com/wwarthen/RomWBW. (Romwbw 2.9.1 pre 12)
N8_std.asm
;
;=========================================================== =======================================
; N8 STANDARD CONFIGURATION
;=========================================================== =======================================
;
#include "cfg_n8.asm"
;
Z180_CLKDIV .SET 1 ; 0=OSC/2, 1=OSC, 2=OSC*2
Z180_MEMWAIT .SET 1 ; MEMORY WAIT STATES TO INSERT (0-3)
Z180_IOWAIT .SET 3 ; IO WAIT STATES TO INSERT (0-3)
;
SDMODE .SET SDMODE_CSIO ; FOR N8 PROTOTYPE (DATECODE 2511), USE SDMODE_N8
;
CRTACT .SET FALSE ; TRUE TO ACTIVATE CRT AT STARTUP (BOOT ON CRT)
cfg_n8.asm
;
;=========================================================== =======================================
; ROMWBW 2.X CONFIGURATION FOR N8
;=========================================================== =======================================
;
; BUILD CONFIGURATION OPTIONS
;
CPUOSC .EQU 18432000 ; CPU OSC FREQ
RAMSIZE .EQU 1024 ; SIZE OF RAM IN KB, MUST MATCH YOUR HARDWARE!!!
DEFSERCFG .EQU SER_38400_8N1 ; DEFAULT SERIAL LINE CONFIG (SHOULD MATCH ABOVE)
INTMODE .EQU 2 ; 0=NONE, 1=INT MODE 1, 2=INT MODE 2
;
CRTACT .EQU FALSE ; CRT ACTIVATION AT STARTUP
VDAEMU .EQU EMUTYP_ANSI ; DEFAULT VDA EMULATION (EMUTYP_TTY, EMUTYP_ANSI, ...
;
DSKYENABLE .EQU FALSE ; TRUE FOR DSKY SUPPORT (DO NOT COMBINE WITH PPIDE)
;
HTIMENABLE .EQU FALSE ; TRUE FOR SIMH TIMER SUPPORT
SIMRTCENABLE .EQU FALSE ; SIMH CLOCK DRIVER
DSRTCENABLE .EQU TRUE ; DS-1302 CLOCK DRIVER
DSRTCMODE .EQU DSRTCMODE_STD ; DSRTCMODE_STD, DSRTCMODE_MFPIC
DSRTCCHG .EQU TRUE ; DS-1302 CONFIGURE CHARGE ON (TRUE) OR OFF (FALSE)
;
ASCIENABLE .EQU TRUE ; TRUE FOR Z180 ASCI SUPPORT
UARTENABLE .EQU FALSE ; TRUE FOR UART SUPPORT (ALMOST ALWAYS WANT THIS TO BE TRUE)
UARTOSC .EQU 1843200 ; UART OSC FREQUENCY
SIOENABLE .EQU FALSE ; TRUE FOR ZILOG SIO/2 SUPPORT
SIOMODE .EQU SIOMODE_RC ; SIOMODE_RC, SIOMODE_SMB
ACIAENABLE .EQU FALSE ; TRUE FOR MOTOROLA 6850 ACIA SUPPORT
;
VDUENABLE .EQU FALSE ; TRUE FOR VDU BOARD SUPPORT
CVDUENABLE .EQU FALSE ; TRUE FOR CVDU BOARD SUPPORT
NECENABLE .EQU FALSE ; TRUE FOR uPD7220 BOARD SUPPORT
TMSENABLE .EQU TRUE ; TRUE FOR N8 (TMS9918) VIDEO/KBD SUPPORT
VGAENABLE .EQU FALSE ; TRUE FOR VGA VIDEO/KBD SUPPORT
;
SPKENABLE .EQU FALSE ; TRUE FOR RTC LATCH IOBIT SOUND
AYENABLE .EQU TRUE ; TRUE FOR AY PSG SOUND
;
MDENABLE .EQU TRUE ; TRUE FOR ROM/RAM DISK SUPPORT (ALMOST ALWAYS WANT THIS ENABLED)
MDTRACE .EQU 1 ; 0=SILENT, 1=ERRORS, 2=EVERYTHING (ONLY RELEVANT IF MDENABLE = TRUE)
;
FDENABLE .EQU TRUE ; TRUE FOR FLOPPY SUPPORT
FDMODE .EQU FDMODE_N8 ; FDMODE_DIO, FDMODE_ZETA, FDMODE_DIDE, FDMODE_N8, FDMODE_DIO3
FDTRACE .EQU 1 ; 0=SILENT, 1=FATAL ERRORS, 2=ALL ERRORS, 3=EVERYTHING (ONLY RELEVANT IF FDENABLE = TRUE)
FDMEDIA .EQU FDM144 ; FDM720, FDM144, FDM360, FDM120 (ONLY RELEVANT IF FDENABLE = TRUE)
FDMEDIAALT .EQU FDM720 ; ALTERNATE MEDIA TO TRY, SAME CHOICES AS ABOVE (ONLY RELEVANT IF FDMAUTO = TRUE)
FDMAUTO .EQU TRUE ; SELECT BETWEEN MEDIA OPTS ABOVE AUTOMATICALLY
;
RFENABLE .EQU FALSE ; TRUE FOR RAM FLOPPY SUPPORT
RFCNT .EQU 1 ; NUMBER OF RAM FLOPPY UNITS
;
IDEENABLE .EQU FALSE ; TRUE FOR IDE SUPPORT
IDEMODE .EQU IDEMODE_DIO ; IDEMODE_DIO, IDEMODE_DIDE
IDECNT .EQU 1 ; NUMBER OF IDE UNITS
IDETRACE .EQU 1 ; 0=SILENT, 1=ERRORS, 2=EVERYTHING (ONLY RELEVANT IF IDEENABLE = TRUE)
IDE8BIT .EQU FALSE ; USE IDE 8BIT TRANSFERS (PROBABLY ONLY WORKS FOR CF CARDS!
;
PPIDEENABLE .EQU TRUE ; TRUE FOR PPIDE SUPPORT (DO NOT COMBINE WITH DSKYENABLE)
PPIDEMODE .EQU PPIDEMODE_N8 ; PPIDEMODE_SBC, PPPIDEMODE_DIO3, PPIDEMODE_MFP, PPIDEMODE_N8, PPIDEMODE_RC
PPIDETRACE .EQU 1 ; 0=SILENT, 1=ERRORS, 2=EVERYTHING (ONLY RELEVANT IF PPIDEENABLE = TRUE)
PPIDE8BIT .EQU FALSE ; USE IDE 8BIT TRANSFERS (PROBABLY ONLY WORKS FOR CF CARDS!
;
SDENABLE .EQU TRUE ; TRUE FOR SD SUPPORT
;SDMODE .EQU SMDODE_N8 ;
SDMODE .EQU SDMODE_CSIO ; SDMODE_JUHA, SDMODE_CSIO, SDMODE_UART, SDMODE_PPI, SDMODE_DSD
SDTRACE .EQU 1 ; 0=SILENT, 1=ERRORS, 2=EVERYTHING (ONLY RELEVANT IF IDEENABLE = TRUE)
SDCSIOFAST .EQU FALSE ; TABLE-DRIVEN BIT INVERTER
;
PRPENABLE .EQU FALSE ; TRUE FOR PROPIO SUPPORT
PRPSDENABLE .EQU FALSE ; TRUE FOR PROPIO SD SUPPORT
PRPSDTRACE .EQU 1 ; 0=SILENT, 1=ERRORS, 2=EVERYTHING (ONLY RELEVANT IF PRPSDENABLE = TRUE)
PRPCONENABLE .EQU FALSE ; TRUE FOR PROPIO CONSOLE SUPPORT (PS/2 KBD & VGA VIDEO)
;
PPPENABLE .EQU FALSE ; TRUE FOR PARPORTPROP SUPPORT
PPPSDENABLE .EQU FALSE ; TRUE FOR PARPORTPROP SD SUPPORT
PPPSDTRACE .EQU 1 ; 0=SILENT, 1=ERRORS, 2=EVERYTHING (ONLY RELEVANT IF PPPENABLE = TRUE)
PPPCONENABLE .EQU FALSE ; TRUE FOR PROPIO CONSOLE SUPPORT (PS/2 KBD & VGA VIDEO)
;
HDSKENABLE .EQU FALSE ; TRUE FOR SIMH HDSK SUPPORT
;
PPKTRACE .EQU 1 ; 0=SILENT, 1=ERRORS, 2=EVERYTHING (ONLY RELEVANT IF PPKENABLE = TRUE)
KBDTRACE .EQU 1 ; 0=SILENT, 1=ERRORS, 2=EVERYTHING (ONLY RELEVANT IF KBDENABLE = TRUE)
;
TERMENABLE .EQU FALSE ; TERM PSEUDO DEVICE, WILL BE ENABLED IF A VDA IS ENABLED
ANSITRACE .EQU 1 ; 0=SILENT, 1=ERRORS, 2=EVERYTHING (ONLY RELEVANT IF ANSIENABLE = TRUE)
;
BOOTTYPE .EQU BT_MENU ; BT_MENU (WAIT FOR KEYPRESS), BT_AUTO (BOOT_DEFAULT AFTER BOOT_TIMEOUT SECS)
BOOT_TIMEOUT .EQU 20 ; APPROX TIMEOUT IN SECONDS FOR AUTOBOOT, 0 FOR IMMEDIATE
BOOT_DEFAULT .EQU 'Z' ; SELECTION TO INVOKE AT TIMEOUT
;
Z180_CLKDIV .EQU 1 ; 0=OSC/2, 1=OSC, 2=OSC*2
Z180_MEMWAIT .EQU 1 ; MEMORY WAIT STATES TO INSERT (0-3)
Z180_IOWAIT .EQU 3 ; IO WAIT STATES TO INSERT (0-3)
;
PIO_4P .EQU FALSE ; TRUE FOR ECB-4PIO PIO SUPPORT
PIO_ZP .EQU FALSE ; TRUE FOR ECB-ZILOG PERIPHERALS BOARD
PPI_SBC .EQU FALSE ; TRUE FOR SBC V2 8255 (IF NOT BEING USED FOR PPIDE)
I made some changes to the cfg_n8.asm file until I succeeded.
Hope this helps
Jorge
|
|
|
|
|
|
|
|
Re: N8 (N8VEM) 4617 [message #6295 is a reply to message #6293] |
Mon, 13 May 2019 22:30 |
b1ackmai1er
Messages: 396 Registered: November 2017
|
Senior Member |
|
|
See if you can redirect output from serial to video console.
I think you need to ...
Change the CRTACT setting in ROMWBW to TRUE.
Jumper k20 2-3
And change the following code HBIOS code to remove the (PLATFORM != PLT_N8) &
#IF CRTACT
;
; BIOS IS CONFIGURED TO AUTO ACTIVATE CRT DEVICE. FIRST,
; CHECK TO SEE IF WE HAVE A VALID CRT DEVICE TO USE.
;
LD A,(CB_CRTDEV) ; GET THE CRT DEVICE
INC A ; INCREMENT TO TEST FOR $FF
JR Z,INITSYS3 ; IF NO CRT DEVICE, BYPASS CONSOLE SWITCH
;
; IF PLATFORM HAS A CONFIG JUMPER, CHECK TO SEE IF IT IS JUMPERED.
; IF SO, BYPASS SWITCH TO CRT CONSOLE (FAILSAFE MODE)
;
#IF ((PLATFORM != PLT_N8) & (PLATFORM != PLT_MK4) & (PLATFORM != PLT_RC) & (PLATFORM != PLT_RC180) & (PLATFORM != PLT_EZZ80))
IN A,(RTC) ; RTC PORT, BIT 6 HAS STATE OF CONFIG JUMPER
BIT 6,A ; BIT 6 HAS CONFIG JUMPER STATE
JR Z,INITSYS3 ; Z=SHORTED, BYPASS CONSOLE SWITCH
#ENDIF
No warranty lol
Regards Phil
|
|
|
|
|
|
Re: N8 (N8VEM) 4617 [message #6307 is a reply to message #6306] |
Fri, 17 May 2019 02:45 |
b1ackmai1er
Messages: 396 Registered: November 2017
|
Senior Member |
|
|
Ok, after looking at the code, the TMS9918 is not considered one of the console devices at bootup so it is not preinitialized for display of the boot message - so we are not going to see any output to this device, so you can probably revert thos previous changes.
Looking at the tms code in relation to your display output I'm pretty sure that the screen is being initialized - so lets confirm that:
So in tms.asm do this change:
TMS_VDARES:
LD DE,0 ; ROW = 0, COL = 0
CALL TMS_XY ; SEND CURSOR TO TOP LEFT
LD A,' ' ; BLANK THE SCREEN <<<<<<<<<<< change to LD A,'*'
LD DE,TMS_ROWS * TMS_COLS ; FILL ENTIRE BUFFER
CALL TMS_FILL ; DO IT
LD DE,0 ; ROW = 0, COL = 0
CALL TMS_XY ; SEND CURSOR TO TOP LEFT
XOR A
DEC A
LD (TMS_CURSAV),A
CALL TMS_SETCUR ; SET CURSOR
XOR A ; SIGNAL SUCCESS
RET
This should fill the screen with stars if it getting to the TMS 9918 initialization code.
The TMS code is also after the serial intialization code, so we will be able to tell if the serial ports are initialized as well.
Regards Phil
|
|
|
|
|
Re: N8 (N8VEM) 4617 [message #6311 is a reply to message #6309] |
Sat, 18 May 2019 10:06 |
b1ackmai1er
Messages: 396 Registered: November 2017
|
Senior Member |
|
|
Fantastic.
So it looks like your machine is booting ok. Have you connected your DSO138 to the serial Tx and Rx lines to see if there is any activity? Check you can see Tx activity from your computer usb/serial adapter first without being connected to N8 - with flow control set to none. Once you can see output try and see if you can see anything coming from the N8 after resetting the machine.
I will have a look at the serial and tms code and see if we can get some output to the video screen to see what is going.
Regards Phil
[Updated on: Sat, 18 May 2019 10:07] Report message to a moderator
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Re: N8 (N8VEM) 4617 [message #6340 is a reply to message #6337] |
Tue, 21 May 2019 06:17 |
b1ackmai1er
Messages: 396 Registered: November 2017
|
Senior Member |
|
|
Hi Matthisj,
Keep R42 bridged to ground - I'm pretty sure that is correct.
Please try adding this bit of code after previous ones. Unfortunately I cannot test but it seems sane Anyway report back what you get.
; 0 means Z80
; 1 means Z180 - 80180
; 2 means Z180 S-class, SL1960 version
; 3 means Z180 advanced S-class, with Baud Rate Generator
; Courtesy John Coffman UnaBIOS
cpu_type:
ld hl,0 ; L = 0 means Z80
ld de,$0506 ; 5 x 6
mlt de ; DE = 30 if Z180
ld a,e ; check if multiply happened
cp 30
jr nz,cpux ; it is a Z80 if != 30
inc l ; flag Z180
out0 (Z180_ASTC1L),d ; D = 0 at this point
in0 a,(Z180_FRC) ; supposedly only on S-class
inc a ; FF or 00 -> 0 or 1 (weak S-class or higher)
add a,l
ld l,a ; result to L and A
in0 a,(Z180_ASTC1L) ; counter reg
inc a ; FF or 00 -> 0 or 1 (super-S)
add a,l
ld l,a
cpux: ld a,$30
add a,l
PRTS(" Type: $")
CALL COUT
[Updated on: Tue, 21 May 2019 06:20] Report message to a moderator
|
|
|