Browse Source

Merge trunk -> wbw

import/raw
wayne 13 years ago
parent
commit
2d95bbb231
  1. 10
      branches/wbw/Source/config_n8_2312.asm
  2. 259
      branches/wbw/Source/n8chars.inc
  3. 300
      branches/wbw/Source/n8v.asm
  4. BIN
      branches/wbw/XSource/bin/CPMCP

10
branches/wbw/Source/config_n8_2312.asm

@ -5,7 +5,7 @@
;
; BUILD CONFIGURATION OPTIONS
;
CPUFREQ .EQU 20 ; IN MHZ, USED TO COMPUTE DELAY FACTORS
CPUFREQ .EQU 18 ; IN MHZ, USED TO COMPUTE DELAY FACTORS
;
PLATFORM .EQU PLT_N8 ; PLT_N8VEM, PLT_ZETA, PLT_N8
;
@ -17,7 +17,7 @@ DEFEMU .EQU EMUTYP_TTY ; DEFAULT EMULATION TYPE (EMUTYP_TTY, EMUTYP_ANSI, ...)
RAMSIZE .EQU 512 ; SIZE OF RAM IN KB, MUST MATCH YOUR HARDWARE!!!
CLRRAMDISK .EQU CLR_AUTO ; CLR_ALWAYS, CLR_NEVER, CLR_AUTO (CLEAR IF INVALID DIR AREA)
;
DSKMAP .EQU DM_RAM ; DM_ROM, DM_RAM, DM_FD, DM_IDE, DM_PPIDE, DM_SD, DM_PRPSD, DM_PPPSD
DSKMAP .EQU DM_PPIDE ; DM_ROM, DM_RAM, DM_FD, DM_IDE, DM_PPIDE, DM_SD, DM_PRPSD, DM_PPPSD
;
DSKYENABLE .EQU FALSE ; TRUE FOR DSKY SUPPORT (DO NOT COMBINE WITH PPIDE)
;
@ -48,14 +48,14 @@ IDETRACE .EQU 1 ; 0=SILENT, 1=ERRORS, 2=EVERYTHING (ONLY RELEVANT IF IDEENABLE
IDE8BIT .EQU FALSE ; USE IDE 8BIT TRANSFERS (PROBABLY ONLY WORKS FOR CF CARDS!)
IDECAPACITY .EQU 64 ; CAPACITY OF DEVICE (IN MB)
;
PPIDEENABLE .EQU FALSE ; TRUE FOR PPIDE SUPPORT (DO NOT COMBINE WITH DSKYENABLE)
PPIDEENABLE .EQU TRUE ; TRUE FOR PPIDE SUPPORT (DO NOT COMBINE WITH DSKYENABLE)
PPIDEMODE .EQU PPIDEMODE_STD ; PPIDEMODE_STD, PPIDEMODE_DIO3
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!)
PPIDECAPACITY .EQU 64 ; CAPACITY OF DEVICE (IN MB)
PPIDECAPACITY .EQU 232*9 ; CAPACITY OF DEVICE (IN MB)
PPIDESLOW .EQU FALSE ; ADD DELAYS TO HELP PROBLEMATIC HARDWARE (TRY THIS IF PPIDE IS UNRELIABLE)
;
SDENABLE .EQU TRUE ; TRUE FOR SD SUPPORT
SDENABLE .EQU FALSE ; TRUE FOR SD SUPPORT
SDTRACE .EQU 1 ; 0=SILENT, 1=ERRORS, 2=EVERYTHING (ONLY RELEVANT IF IDEENABLE = TRUE)
SDCAPACITY .EQU 64 ; CAPACITY OF DEVICE (IN MB)
SDCSIO .EQU TRUE ; TRUE IF USING THE CSIO PORT (N8 ONLY)

259
branches/wbw/Source/n8chars.inc

@ -0,0 +1,259 @@
; n8chars.inc - automatically generated by n8vidtst
.DB 000h,000h,000h,000h,000h,000h,000h,000h ; 0x00(0)
.DB 030h,030h,030h,03ch,03ch,000h,000h,000h ; 0x01(1)
.DB 030h,030h,030h,0f0h,0f0h,000h,000h,000h ; 0x02(2)
.DB 000h,000h,000h,03ch,03ch,030h,030h,030h ; 0x03(3)
.DB 000h,000h,000h,0f0h,0f0h,030h,030h,030h ; 0x04(4)
.DB 030h,030h,030h,030h,030h,030h,030h,030h ; 0x05(5)
.DB 000h,000h,000h,0ffh,0ffh,000h,000h,000h ; 0x06(6)
.DB 000h,000h,020h,070h,0f8h,070h,020h,000h ; 0x07(7)
.DB 000h,0f8h,0d8h,088h,000h,088h,0d8h,0f8h ; 0x08(8)
.DB 000h,000h,000h,000h,000h,000h,000h,000h ; 0x09(9)
.DB 000h,000h,000h,000h,000h,000h,000h,000h ; 0x0a(10)
.DB 000h,000h,060h,090h,060h,020h,018h,018h ; 0x0b(11)
.DB 000h,000h,020h,070h,020h,020h,050h,020h ; 0x0c(12)
.DB 000h,000h,000h,000h,000h,000h,000h,000h ; 0x0d(13)
.DB 000h,000h,000h,000h,000h,000h,000h,000h ; 0x0e(14)
.DB 000h,0a8h,050h,050h,0d8h,050h,050h,0a8h ; 0x0f(15)
.DB 030h,030h,030h,0fch,0fch,030h,030h,030h ; 0x10(16)
.DB 000h,010h,030h,070h,0f0h,070h,030h,010h ; 0x11(17)
.DB 000h,020h,070h,020h,020h,020h,070h,020h ; 0x12(18)
.DB 000h,000h,050h,000h,050h,050h,050h,050h ; 0x13(19)
.DB 000h,000h,028h,028h,068h,0a8h,0a8h,078h ; 0x14(20)
.DB 000h,000h,000h,0fch,0fch,030h,030h,030h ; 0x15(21)
.DB 030h,030h,030h,0fch,0fch,000h,000h,000h ; 0x16(22)
.DB 030h,030h,030h,0f0h,0f0h,030h,030h,030h ; 0x17(23)
.DB 020h,020h,020h,020h,020h,020h,070h,020h ; 0x18(24)
.DB 030h,030h,030h,03ch,03ch,030h,030h,030h ; 0x19(25)
.DB 000h,000h,010h,018h,0fch,018h,010h,000h ; 0x1a(26)
.DB 000h,000h,020h,060h,0fch,060h,020h,000h ; 0x1b(27)
.DB 000h,000h,000h,000h,000h,000h,000h,000h ; 0x1c(28)
.DB 000h,000h,000h,000h,000h,000h,000h,000h ; 0x1d(29)
.DB 000h,000h,000h,000h,000h,000h,000h,000h ; 0x1e(30)
.DB 000h,000h,000h,000h,000h,000h,000h,000h ; 0x1f(31)
.DB 000h,000h,000h,000h,000h,000h,000h,000h ; 0x20(32)
.DB 000h,000h,030h,000h,030h,078h,078h,030h ; 0x21(33)
.DB 000h,000h,000h,000h,000h,050h,0d8h,0d8h ; 0x22(34)
.DB 048h,048h,0fch,048h,048h,0fch,048h,048h ; 0x23(35)
.DB 000h,020h,0f8h,024h,078h,0a0h,078h,020h ; 0x24(36)
.DB 000h,000h,098h,058h,020h,0d0h,0c8h,000h ; 0x25(37)
.DB 000h,078h,090h,060h,050h,048h,048h,030h ; 0x26(38)
.DB 000h,000h,000h,000h,000h,040h,030h,030h ; 0x27(39)
.DB 000h,010h,020h,020h,020h,020h,020h,010h ; 0x28(40)
.DB 000h,020h,010h,010h,010h,010h,010h,020h ; 0x29(41)
.DB 000h,020h,0a8h,070h,0f8h,070h,0a8h,020h ; 0x2a(42)
.DB 000h,000h,020h,020h,0f8h,020h,020h,000h ; 0x2b(43)
.DB 040h,030h,030h,000h,000h,000h,000h,000h ; 0x2c(44)
.DB 000h,000h,000h,000h,070h,000h,000h,000h ; 0x2d(45)
.DB 000h,030h,030h,000h,000h,000h,000h,000h ; 0x2e(46)
.DB 000h,000h,080h,040h,020h,010h,008h,004h ; 0x2f(47)
.DB 000h,070h,0c8h,0a8h,0a8h,0a8h,098h,070h ; 0x30(48)
.DB 000h,0f8h,020h,020h,020h,020h,060h,020h ; 0x31(49)
.DB 000h,0f8h,080h,060h,010h,008h,088h,070h ; 0x32(50)
.DB 000h,070h,088h,008h,070h,008h,088h,070h ; 0x33(51)
.DB 000h,010h,010h,010h,0f8h,090h,050h,030h ; 0x34(52)
.DB 000h,070h,088h,008h,0f0h,080h,080h,0f8h ; 0x35(53)
.DB 000h,070h,088h,088h,0f0h,080h,040h,038h ; 0x36(54)
.DB 000h,020h,020h,020h,020h,010h,008h,0f8h ; 0x37(55)
.DB 000h,070h,088h,088h,070h,088h,088h,070h ; 0x38(56)
.DB 000h,070h,088h,008h,078h,088h,088h,070h ; 0x39(57)
.DB 000h,000h,030h,030h,000h,030h,030h,000h ; 0x3a(58)
.DB 000h,060h,030h,030h,000h,030h,030h,000h ; 0x3b(59)
.DB 000h,010h,020h,040h,080h,040h,020h,010h ; 0x3c(60)
.DB 000h,000h,000h,0fch,000h,0fch,000h,000h ; 0x3d(61)
.DB 000h,040h,020h,010h,008h,010h,020h,040h ; 0x3e(62)
.DB 000h,020h,000h,020h,030h,008h,088h,070h ; 0x3f(63)
.DB 000h,070h,080h,080h,0b0h,0b8h,088h,070h ; 0x40(64)
.DB 000h,088h,088h,088h,0f8h,088h,050h,020h ; 0x41(65)
.DB 000h,0f0h,048h,048h,070h,048h,048h,0f0h ; 0x42(66)
.DB 000h,070h,088h,080h,080h,080h,088h,070h ; 0x43(67)
.DB 000h,0f0h,048h,048h,048h,048h,048h,0f0h ; 0x44(68)
.DB 000h,0f8h,088h,080h,0e0h,080h,088h,0f8h ; 0x45(69)
.DB 000h,080h,080h,080h,0f0h,080h,088h,0f8h ; 0x46(70)
.DB 000h,070h,088h,088h,0b8h,080h,088h,070h ; 0x47(71)
.DB 000h,088h,088h,088h,0f8h,088h,088h,088h ; 0x48(72)
.DB 000h,0f8h,020h,020h,020h,020h,020h,0f8h ; 0x49(73)
.DB 000h,070h,088h,008h,008h,008h,008h,01ch ; 0x4a(74)
.DB 000h,088h,090h,0a0h,0c0h,0a0h,090h,088h ; 0x4b(75)
.DB 000h,0f8h,088h,080h,080h,080h,080h,080h ; 0x4c(76)
.DB 000h,088h,088h,088h,088h,0a8h,0d8h,088h ; 0x4d(77)
.DB 000h,088h,098h,0a8h,0a8h,0a8h,0c8h,088h ; 0x4e(78)
.DB 000h,070h,088h,088h,088h,088h,088h,070h ; 0x4f(79)
.DB 000h,080h,080h,080h,0f0h,088h,088h,0f0h ; 0x50(80)
.DB 004h,078h,098h,0a8h,088h,088h,088h,070h ; 0x51(81)
.DB 000h,088h,090h,0a0h,0f0h,088h,088h,0f0h ; 0x52(82)
.DB 000h,070h,088h,010h,020h,040h,088h,070h ; 0x53(83)
.DB 000h,020h,020h,020h,020h,020h,020h,0f8h ; 0x54(84)
.DB 000h,070h,088h,088h,088h,088h,088h,088h ; 0x55(85)
.DB 000h,020h,050h,050h,050h,088h,088h,088h ; 0x56(86)
.DB 000h,050h,0a8h,0a8h,0a8h,088h,088h,088h ; 0x57(87)
.DB 000h,088h,088h,050h,020h,050h,088h,088h ; 0x58(88)
.DB 000h,020h,020h,020h,020h,050h,088h,088h ; 0x59(89)
.DB 000h,0f8h,088h,040h,020h,010h,088h,0f8h ; 0x5a(90)
.DB 000h,078h,040h,040h,040h,040h,040h,078h ; 0x5b(91)
.DB 000h,000h,008h,010h,020h,040h,080h,000h ; 0x5c(92)
.DB 000h,078h,008h,008h,008h,008h,008h,078h ; 0x5d(93)
.DB 000h,000h,000h,000h,000h,088h,050h,020h ; 0x5e(94)
.DB 000h,0fch,000h,000h,000h,000h,000h,000h ; 0x5f(95)
.DB 000h,000h,000h,000h,000h,010h,060h,060h ; 0x60(96)
.DB 000h,070h,088h,078h,008h,0f0h,000h,000h ; 0x61(97)
.DB 000h,0f0h,088h,088h,0f0h,080h,080h,080h ; 0x62(98)
.DB 000h,070h,080h,080h,070h,000h,000h,000h ; 0x63(99)
.DB 000h,078h,088h,088h,078h,008h,008h,008h ; 0x64(100)
.DB 000h,070h,080h,0f8h,088h,070h,000h,000h ; 0x65(101)
.DB 000h,040h,040h,040h,0e0h,048h,030h,000h ; 0x66(102)
.DB 070h,008h,038h,048h,048h,038h,000h,000h ; 0x67(103)
.DB 000h,088h,088h,0c8h,0b0h,080h,080h,000h ; 0x68(104)
.DB 000h,070h,020h,060h,000h,020h,000h,000h ; 0x69(105)
.DB 030h,048h,008h,008h,018h,000h,008h,000h ; 0x6a(106)
.DB 000h,090h,0a0h,0c0h,0a0h,090h,080h,080h ; 0x6b(107)
.DB 000h,020h,020h,020h,020h,020h,020h,020h ; 0x6c(108)
.DB 000h,088h,0a8h,0a8h,050h,000h,000h,000h ; 0x6d(109)
.DB 000h,088h,088h,0c8h,0b0h,000h,000h,000h ; 0x6e(110)
.DB 000h,070h,088h,088h,070h,000h,000h,000h ; 0x6f(111)
.DB 040h,040h,070h,048h,048h,070h,000h,000h ; 0x70(112)
.DB 008h,008h,038h,048h,048h,038h,060h,000h ; 0x71(113)
.DB 000h,080h,080h,0c8h,0b0h,000h,000h,000h ; 0x72(114)
.DB 000h,060h,010h,060h,080h,060h,000h,000h ; 0x73(115)
.DB 000h,020h,040h,040h,0e0h,040h,000h,000h ; 0x74(116)
.DB 000h,068h,090h,090h,090h,000h,000h,000h ; 0x75(117)
.DB 000h,020h,050h,088h,088h,000h,000h,000h ; 0x76(118)
.DB 000h,050h,0a8h,0a8h,088h,000h,000h,000h ; 0x77(119)
.DB 000h,048h,030h,030h,048h,000h,000h,000h ; 0x78(120)
.DB 000h,080h,040h,020h,050h,088h,000h,000h ; 0x79(121)
.DB 000h,0f8h,040h,020h,010h,0f8h,000h,000h ; 0x7a(122)
.DB 000h,010h,020h,020h,040h,020h,020h,010h ; 0x7b(123)
.DB 000h,020h,020h,020h,000h,020h,020h,020h ; 0x7c(124)
.DB 000h,040h,020h,020h,010h,020h,020h,040h ; 0x7d(125)
.DB 000h,000h,000h,000h,000h,000h,090h,06ch ; 0x7e(126)
.DB 000h,070h,050h,050h,050h,050h,050h,070h ; 0x7f(127)
.DB 0a8h,0a8h,0a8h,0ach,0a0h,0bch,080h,0fch ; 0x80(128)
.DB 000h,000h,000h,0fch,000h,0fch,000h,0fch ; 0x81(129)
.DB 054h,054h,054h,0d4h,014h,0f4h,004h,0fch ; 0x82(130)
.DB 054h,054h,054h,054h,054h,054h,054h,054h ; 0x83(131)
.DB 0fch,004h,0f4h,014h,0d4h,054h,054h,054h ; 0x84(132)
.DB 0ffh,000h,0ffh,000h,0ffh,000h,000h,000h ; 0x85(133)
.DB 0fch,080h,0bch,0a0h,0ach,0a8h,0a8h,0a8h ; 0x86(134)
.DB 0a8h,0a8h,0a8h,0a8h,0a8h,0a8h,0a8h,0a8h ; 0x87(135)
.DB 0a8h,0a8h,0a8h,0ach,0a0h,0ach,0a8h,0a8h ; 0x88(136)
.DB 054h,054h,054h,0d4h,014h,0d4h,054h,054h ; 0x89(137)
.DB 000h,000h,000h,0fch,000h,0fch,000h,000h ; 0x8a(138)
.DB 080h,080h,080h,080h,080h,080h,080h,0fch ; 0x8b(139)
.DB 000h,000h,000h,000h,000h,000h,000h,0fch ; 0x8c(140)
.DB 004h,004h,004h,004h,004h,004h,004h,0fch ; 0x8d(141)
.DB 004h,004h,004h,004h,004h,004h,004h,004h ; 0x8e(142)
.DB 0fch,004h,004h,004h,004h,004h,004h,004h ; 0x8f(143)
.DB 0fch,000h,000h,000h,000h,000h,000h,000h ; 0x90(144)
.DB 0fch,080h,080h,080h,080h,080h,080h,080h ; 0x91(145)
.DB 080h,080h,080h,080h,080h,080h,080h,080h ; 0x92(146)
.DB 080h,080h,080h,080h,0fch,080h,080h,080h ; 0x93(147)
.DB 004h,004h,004h,004h,0fch,004h,004h,004h ; 0x94(148)
.DB 000h,000h,000h,000h,0fch,000h,000h,000h ; 0x95(149)
.DB 000h,000h,000h,000h,000h,000h,000h,000h ; 0x96(150)
.DB 000h,000h,000h,000h,000h,000h,000h,000h ; 0x97(151)
.DB 000h,000h,000h,000h,000h,000h,000h,000h ; 0x98(152)
.DB 000h,000h,000h,000h,000h,000h,000h,000h ; 0x99(153)
.DB 000h,000h,000h,000h,000h,000h,000h,000h ; 0x9a(154)
.DB 000h,000h,000h,000h,000h,000h,000h,000h ; 0x9b(155)
.DB 000h,000h,000h,000h,000h,000h,000h,000h ; 0x9c(156)
.DB 000h,000h,000h,000h,000h,000h,000h,000h ; 0x9d(157)
.DB 000h,000h,000h,000h,000h,000h,000h,000h ; 0x9e(158)
.DB 000h,000h,000h,000h,000h,000h,000h,000h ; 0x9f(159)
.DB 000h,070h,088h,078h,008h,0f0h,040h,020h ; 0xa0(160)
.DB 000h,0f8h,020h,020h,060h,000h,020h,010h ; 0xa1(161)
.DB 000h,070h,088h,088h,070h,000h,020h,010h ; 0xa2(162)
.DB 000h,074h,088h,088h,088h,000h,020h,010h ; 0xa3(163)
.DB 000h,088h,088h,0c8h,0b0h,000h,020h,010h ; 0xa4(164)
.DB 000h,088h,098h,0a8h,0c8h,000h,020h,010h ; 0xa5(165)
.DB 000h,000h,0fch,000h,07ch,088h,088h,070h ; 0xa6(166)
.DB 000h,000h,0fch,000h,070h,088h,088h,070h ; 0xa7(167)
.DB 000h,070h,088h,040h,020h,020h,000h,020h ; 0xa8(168)
.DB 080h,080h,080h,0fch,000h,000h,000h,000h ; 0xa9(169)
.DB 004h,004h,004h,0fch,000h,000h,000h,000h ; 0xaa(170)
.DB 000h,000h,01ch,088h,054h,0a8h,090h,088h ; 0xab(171)
.DB 000h,000h,008h,0b8h,058h,0a8h,090h,088h ; 0xac(172)
.DB 000h,000h,030h,078h,078h,030h,000h,030h ; 0xad(173)
.DB 000h,014h,028h,050h,0a0h,050h,028h,014h ; 0xae(174)
.DB 000h,0a0h,050h,028h,014h,028h,050h,0a0h ; 0xaf(175)
.DB 0aah,054h,0aah,054h,0aah,054h,0aah,054h ; 0xb0(176)
.DB 054h,0aah,054h,0aah,054h,0aah,054h,0aah ; 0xb1(177)
.DB 06ch,0b6h,0dah,06ch,0b6h,0dah,06ch,0b6h ; 0xb2(178)
.DB 018h,018h,018h,018h,018h,018h,018h,018h ; 0xb3(179)
.DB 018h,018h,018h,0f8h,018h,018h,018h,018h ; 0xb4(180)
.DB 018h,018h,0f8h,018h,0f8h,018h,018h,018h ; 0xb5(181)
.DB 06ch,06ch,06ch,0ech,06ch,06ch,06ch,06ch ; 0xb6(182)
.DB 06ch,06ch,06ch,0fch,000h,000h,000h,000h ; 0xb7(183)
.DB 06ch,06ch,0ech,06ch,0fch,000h,000h,000h ; 0xb8(184)
.DB 06ch,06ch,06ch,0ech,00ch,0ech,06ch,06ch ; 0xb9(185)
.DB 06ch,06ch,06ch,06ch,06ch,06ch,06ch,06ch ; 0xba(186)
.DB 06ch,06ch,06ch,0eeh,00eh,0fch,000h,000h ; 0xbb(187)
.DB 000h,000h,000h,0fch,00ch,0ech,06ch,06ch ; 0xbc(188)
.DB 000h,000h,000h,000h,000h,0fch,064h,064h ; 0xbd(189)
.DB 000h,000h,0f0h,030h,030h,0f0h,030h,030h ; 0xbe(190)
.DB 030h,030h,030h,0f0h,000h,000h,000h,000h ; 0xbf(191)
.DB 000h,000h,000h,03ch,030h,030h,030h,030h ; 0xc0(192)
.DB 000h,000h,000h,0fch,030h,030h,030h,030h ; 0xc1(193)
.DB 030h,030h,030h,0fch,000h,000h,000h,000h ; 0xc2(194)
.DB 030h,030h,030h,03ch,030h,030h,030h,030h ; 0xc3(195)
.DB 000h,000h,000h,0fch,000h,000h,000h,000h ; 0xc4(196)
.DB 030h,030h,030h,0fch,030h,030h,030h,030h ; 0xc5(197)
.DB 030h,030h,030h,03ch,030h,03ch,030h,030h ; 0xc6(198)
.DB 0d8h,0d8h,0d8h,0d8h,0d8h,0dch,0d8h,0d8h ; 0xc7(199)
.DB 000h,000h,0fch,0c0h,0dch,0d8h,0d8h,0d8h ; 0xc8(200)
.DB 0d8h,0d8h,0dch,0c0h,0fch,000h,000h,000h ; 0xc9(201)
.DB 000h,0fch,000h,0c0h,0dch,0d8h,0d8h,0d8h ; 0xca(202)
.DB 000h,0fch,000h,000h,000h,000h,000h,000h ; 0xcb(203)
.DB 0d8h,0d8h,0dch,0c0h,0dch,0d8h,0d8h,0d8h ; 0xcc(204)
.DB 000h,000h,0fch,000h,0fch,000h,000h,000h ; 0xcd(205)
.DB 0d8h,0d8h,0dch,000h,0dch,0d8h,0d8h,0d8h ; 0xce(206)
.DB 000h,0fch,000h,000h,0fch,030h,030h,030h ; 0xcf(207)
.DB 000h,000h,000h,000h,0fch,0d8h,0d8h,0d8h ; 0xd0(208)
.DB 030h,030h,0fch,000h,000h,0fch,000h,000h ; 0xd1(209)
.DB 0d8h,0d8h,0fch,000h,000h,000h,000h,000h ; 0xd2(210)
.DB 000h,000h,000h,000h,0fch,0d8h,0d8h,0d8h ; 0xd3(211)
.DB 000h,03ch,030h,030h,03ch,030h,030h,030h ; 0xd4(212)
.DB 030h,030h,03eh,030h,03eh,000h,000h,000h ; 0xd5(213)
.DB 0d8h,0d8h,0fch,000h,000h,000h,000h,000h ; 0xd6(214)
.DB 0d8h,0d8h,0d8h,0dch,0d8h,0d8h,0d8h,0d8h ; 0xd7(215)
.DB 030h,030h,0fch,000h,000h,0fch,030h,030h ; 0xd8(216)
.DB 000h,000h,000h,000h,0f0h,030h,030h,030h ; 0xd9(217)
.DB 030h,030h,030h,030h,03ch,000h,000h,000h ; 0xda(218)
.DB 0fch,0fch,0fch,0fch,0fch,0fch,0fch,0fch ; 0xdb(219)
.DB 0c0h,0c0h,0fch,0fch,0fch,000h,000h,000h ; 0xdc(220)
.DB 0c0h,0c0h,0c0h,0c0h,0c0h,0c0h,0c0h,0c0h ; 0xdd(221)
.DB 00ch,00ch,00ch,00ch,00ch,00ch,00ch,00ch ; 0xde(222)
.DB 000h,0fch,0fch,0fch,00ch,00ch,00ch,00ch ; 0xdf(223)
.DB 000h,068h,090h,090h,068h,000h,000h,000h ; 0xe0(224)
.DB 040h,0f0h,088h,088h,0b0h,088h,088h,070h ; 0xe1(225)
.DB 000h,080h,080h,080h,080h,080h,090h,0f0h ; 0xe2(226)
.DB 000h,000h,048h,050h,050h,050h,050h,0f8h ; 0xe3(227)
.DB 000h,0f8h,088h,040h,020h,040h,088h,0f8h ; 0xe4(228)
.DB 000h,070h,088h,088h,07ch,000h,000h,000h ; 0xe5(229)
.DB 080h,070h,088h,088h,088h,000h,000h,000h ; 0xe6(230)
.DB 000h,01ch,010h,010h,098h,074h,000h,000h ; 0xe7(231)
.DB 000h,0fch,010h,038h,044h,038h,010h,0fch ; 0xe8(232)
.DB 000h,038h,0cch,0cch,0fch,0cch,0cch,030h ; 0xe9(233)
.DB 000h,084h,048h,048h,084h,084h,084h,078h ; 0xea(234)
.DB 000h,038h,044h,044h,044h,038h,040h,03ch ; 0xeb(235)
.DB 000h,000h,06ch,092h,092h,06ch,000h,000h ; 0xec(236)
.DB 000h,070h,068h,058h,038h,000h,000h,000h ; 0xed(237)
.DB 000h,038h,040h,080h,0f8h,080h,040h,038h ; 0xee(238)
.DB 000h,0cch,0cch,0cch,0cch,030h,000h,000h ; 0xef(239)
.DB 000h,0fch,000h,000h,0fch,000h,000h,0fch ; 0xf0(240)
.DB 000h,0feh,000h,010h,010h,07ch,010h,010h ; 0xf1(241)
.DB 000h,0feh,000h,020h,010h,008h,010h,020h ; 0xf2(242)
.DB 000h,0feh,000h,010h,020h,040h,020h,010h ; 0xf3(243)
.DB 030h,030h,030h,030h,030h,030h,034h,018h ; 0xf4(244)
.DB 070h,0b0h,030h,030h,030h,030h,030h,030h ; 0xf5(245)
.DB 000h,030h,030h,000h,0fch,000h,030h,030h ; 0xf6(246)
.DB 000h,000h,098h,064h,000h,098h,064h,000h ; 0xf7(247)
.DB 000h,000h,000h,000h,038h,044h,044h,038h ; 0xf8(248)
.DB 000h,000h,000h,000h,000h,038h,038h,000h ; 0xf9(249)
.DB 000h,000h,000h,000h,000h,038h,000h,000h ; 0xfa(250)
.DB 000h,008h,018h,028h,048h,008h,008h,00eh ; 0xfb(251)
.DB 000h,048h,048h,048h,0b0h,000h,000h,000h ; 0xfc(252)
.DB 000h,0f8h,080h,040h,03ch,0f0h,000h,000h ; 0xfd(253)
.DB 0fch,0fch,0fch,0fch,0fch,0fch,0fch,0fch ; 0xfe(254)
.DB 000h,000h,000h,000h,000h,000h,000h,000h ; 0xff(255)
; eof - n8chars.inc

300
branches/wbw/Source/n8v.asm

@ -1,3 +1,7 @@
; ../RomWBW/Source/n8v.asm 10/28/2012 dwg - add n8v_modes
; ../RomWBW/Source/n8v.asm 10/27/2012 dwg - begin enhancement
;__N8VDRIVER_______________________________________________________________________________________
;
; N8 VIDEO DRIVER FOR ROMWBW
@ -13,11 +17,21 @@
;__________________________________________________________________________________________________
;
N8V_INIT:
; INIT TMS9918 HERE...
CALL VDP_CLR16K ; clear the first 16K of TMS9918 video ram to zeroes
CALL VDP_SETREGS ; set TMS9918 into Text Mode
CALL VDP_MODES ; set TMS9918 into 40-column mode
CALL VDP_PNT ; set TMS9918 Pattern Name Table Pointer
CALL VDP_PGT ; set TMS9918 Pattern Generator Table Pointer
CALL VDP_COLORS ; set TMS9918 foreground(white) background(black)
CALL VDP_LOAD2 ; set TMS9918 character bitmaps
CALL VDP_SINE ; display initialization message on composite video;
; CALL PANIC
CALL PPK_INIT
XOR A
RET
;
;
;__________________________________________________________________________________________________
; CHARACTER I/O (CIO) DISPATCHER
;__________________________________________________________________________________________________
@ -109,9 +123,269 @@ N8V_VDAFIL:
RET
N8V_VDASCR:
XOR A
XOR A
RET
;
;-------------------------------------------------
BASE: .EQU 128
CMDP: .EQU BASE+25
DATAP: .EQU BASE+24
VDP_CLR16K:
LD C,CMDP
LD A,$00
OUT (C),A ; out(CMDP,0);
LD A,64
OUT (C),A ; out(CMDP,64);
LD C,DATAP
LD HL,16384
CLR16LOOP:
LD A,0
OUT (C),A
DEC HL
LD A,H
OR L
JR NZ,CLR16LOOP
RET
;-------------------------------------------------
VDP_SETREGS:
LD C,CMDP
LD A,0
OUT (C),A ; out(CMDP,0);
NOP
LD A,128
OUT (C),A ; out(CMDP,128);
RET
;-------------------------------------------------
VDP_MODES:
LD C,CMDP
LD A,80
OUT (C),A ; out(CMDP,80);
NOP
LD A,129
OUT (C),A ; out(CMDP,129);
RET
;-------------------------------------------------
VDP_PNT:
LD C,CMDP
LD A,0
OUT (C),A ; out(CMDP,0);
NOP
LD A,130
OUT (C),A ; out(CMDP,130);
RET
;-------------------------------------------------
VDP_PGT:
LD C,CMDP
LD A,1
OUT (C),A ; out(CMDP,1);
NOP
LD A,132
OUT (C),A ; out(CMDP,132);
RET
;-------------------------------------------------
VDP_COLORS:
LD C,CMDP
LD A,(VDP_ATTR)
; LD A,240
OUT (C),A ; out(CMDP,240); 240 is 0xF0 - 1111 0000 LSB=background MSB=foreground
NOP
LD A,135
OUT (C),A ; out(CMDP,135);
RET
;-------------------------------------------------
VDP_LOADSET:
LD C,CMDP
LD A,0
OUT (C),A ; out(CMDP,0);
NOP
LD A,72
OUT (C),A ; out(CMDP,72);
LD HL,CHARSET ; set memory ptr to start of bitmaps
LD DE,2048
LD C,DATAP
VDP_LOADLOOP:
LD A,(HL)
OUT (C),A
INC HL
DEC DE
LD A,D
OR E
JR NZ,VDP_LOADLOOP
RET
;-------------------------------------------------
VDP_LOAD2:
LD C,CMDP
LD A,0
OUT (C),A ; out(CMDP,0);
NOP
LD A,72
OUT (C),A ; out(CMDP,72);
NOP
LD HL,CHARSET ; set memory ptr to start of bitmaps
LD DE,256
LD C,DATAP
VDP_LOAD2LOOP:
LD A,(HL)
LD (BYTE8),A
INC HL
LD A,(HL)
LD (BYTE7),A
INC HL
LD A,(HL)
LD (BYTE6),A
INC HL
LD A,(HL)
LD (BYTE5),A
INC HL
LD A,(HL)
LD (BYTE4),A
INC HL
LD A,(HL)
LD (BYTE3),A
INC HL
LD A,(HL)
LD (BYTE2),A
INC HL
LD A,(HL)
INC HL
OUT (C),A
CALL RECOVER
LD A,(BYTE2)
OUT (C),A
CALL RECOVER
LD A,(BYTE3)
OUT (C),A
CALL RECOVER
LD A,(BYTE4)
OUT (C),A
CALL RECOVER
LD A,(BYTE5)
OUT (C),A
CALL RECOVER
LD A,(BYTE6)
OUT (C),A
CALL RECOVER
LD A,(BYTE7)
OUT (C),A
CALL RECOVER
LD A,(BYTE8)
OUT (C),A
CALL RECOVER
DEC DE
LD A,D
OR E
JR NZ,VDP_LOAD2LOOP
RET
;-------------------------------------------------
VDP_SINE:
LD HL,0
CALL VDP_WRVRAM
; LD HL,VDP_HELLO
; LD B,52
; LD C,DATAP
; OTIR
LD HL,VDP_HELLO
LD DE,39
LD C,DATAP
HELLO_LOOP:
LD A,(HL)
OUT (C),A
INC HL
DEC DE
LD A,D
OR E
JR NZ,HELLO_LOOP
RET
N8V_FILL:
; out(CMDP,0);
; out(CMDP,64);
; d=0;
; for(c=0;c<(40*24);c++) {
; out(DATAP,d);
; d++;
; if(128 == d) d=0;
; }
RET
VDP_WRVRAM:
; HL -> points to ram location
; vdp_wrvram(o)
; {
; byte1 = o & 255;
; byte2 = (o >> 8) | 0x40;
; out(CMDP,byte1);
; out(CMDP,byte2);
; }
LD C,CMDP
OUT (C),L
OUT (C),H
RET
N8V_DISPLAY:
; vdp_display(line,column,string)
; {
; vdp_wrvram(GUTTER+(line*40)+column);
; for(index=0;index<strlen(string);index++) {
; out(DATAP,string[index]);
; }
; }
RET
RECOVER:
PUSH BC
PUSH DE
PUSH HL
POP HL
POP DE
POP BC
RET
;__________________________________________________________________________________________________
; IMBED COMMON PRALLEL PORT KEYBOARD DRIVER
;__________________________________________________________________________________________________
@ -122,3 +396,21 @@ N8V_VDASCR:
; LOCAL DRIVER DATA
;__________________________________________________________________________________________________
;
VDP_LINE .DB 0
VDP_COL .DB 0
VDP_ATTR .DB 240 ; default to white on black
VDP_HELLO .TEXT " N8-2312 TMS9918 Text Mode Init Done!!"
VDP_HELLOLEN .DB $-VDP_HELLO
;BYTE .DB 0
BYTE2 .DB 0
BYTE3 .DB 0
BYTE4 .DB 0
BYTE5 .DB 0
BYTE6 .DB 0
BYTE7 .DB 0
BYTE8 .DB 0
CHARSET:
#INCLUDE "n8chars.inc"

BIN
branches/wbw/XSource/bin/CPMCP

Binary file not shown.
Loading…
Cancel
Save