فهرست منبع

roms: add ABC80L

Add the ABC80L BASIC expansion ROM.
H. Peter Anvin 1 سال پیش
والد
کامیت
7e1b9e04f1

+ 1 - 0
common/sysvars.vars

@@ -23,6 +23,7 @@ abc.mem.abc80.pun80.29k		bool false
 abc.mem.abc80.pun80.30k		bool true
 abc.mem.abc80.superbasic	bool false
 abc.mem.abc80.smartaid3		bool false
+abc.mem.abc80.abc80l		bool false
 abc.mem.abc80.ram		bool true
 abc.mem.abc800.ufddos		bool true
 abc.hosttype			uint 0

BIN
esp32/output/max80.ino.bin


+ 9 - 3
esp32/www/abcmem.html

@@ -20,7 +20,7 @@
 	<label class="nvram">
 	  <b>Simulated "NVRAM"</b>
 	  <input is="x-box" name="abc.mem.abc80.nvram.20k"
-		 conflicts="abc.mem.abc80.smartaid3;abc.mem.abc80.superbasic" />
+		 conflicts="abc.mem.abc80.smartaid3;abc.mem.abc80.abc80l;abc.mem.abc80.superbasic" />
 	  <span class="help">20-22K (matches MyAB)</span>
 	  <input is="x-box" name="abc.mem.abc80.nvram.22k" />
 	  <span class="help">22-24K (incompatible with TKN80)</span>
@@ -47,15 +47,21 @@
 	<label class="smartaid">
 	  <b>Smartaid III</b>
 	  <input is="x-box" name="abc.mem.abc80.smartaid3"
-		 conflicts="abc.mem.abc80.superbasic;abc.mem.abc80.nvram.20k" />
+		 conflicts="abc.mem.abc80.superbasic;abc.mem.abc80.abc80l;abc.mem.abc80.nvram.20k" />
 	  <span class="help">16-22K</span>
 	</label>
 	<label class="superbasic">
 	  <b>SuperBASIC</b>
 	  <input is="x-box" name="abc.mem.abc80.superbasic"
-		 conflicts="abc.mem.abc80.smartaid3;abc.mem.abc80.nvram.20k;abc.mem.abc80.pun80.29k" />
+		 conflicts="abc.mem.abc80.smartaid3;abc.mem.abc80.abc80l;abc.mem.abc80.nvram.20k;abc.mem.abc80.pun80.29k" />
 	  <span class="help">16-22K, 28-30K (IEC)</span>
 	</label>
+	<label class="abc80l">
+	  <b>ABC80L</b>
+	  <input is="x-box" name="abc.mem.abc80.abc80l"
+		 conflicts="abc.mem.abc80.smartaid3;abc.mem.abc80.superbasic;abc.mem.abc80.nvram.20k" />
+	  <span class="help">20-22K</span>
+	</label>
 	<p class="abc80box,help"><span>If MAX80 is used in a Luxor
 	expansion box ABC for ABC80, the expansion box needs to be
 	rejumpered to support external memories on the I/O side of the

+ 2 - 2
fpga/max80.qpf

@@ -19,12 +19,12 @@
 #
 # Quartus Prime
 # Version 22.1std.0 Build 915 10/25/2022 SC Lite Edition
-# Date created = 16:55:06  October 10, 2023
+# Date created = 18:30:16  October 10, 2023
 #
 # -------------------------------------------------------------------------- #
 
 QUARTUS_VERSION = "22.1"
-DATE = "16:55:06  October 10, 2023"
+DATE = "18:30:16  October 10, 2023"
 
 # Revisions
 

BIN
fpga/output/bypass.jic


BIN
fpga/output/max80.fw


BIN
fpga/output/v1.fw


BIN
fpga/output/v1.jic


BIN
fpga/output/v1.sof


BIN
fpga/output/v2.fw


BIN
fpga/output/v2.jic


BIN
fpga/output/v2.sof


+ 1 - 1
rv32/abcmem.c

@@ -39,8 +39,8 @@ static const struct abc_mem_init mem_init_abc80[] = {
 
     { 16*K, RD,    config_abc_mem_abc80_smartaid3,  DD(rom_abc80_smartaid3) },
     { 16*K, RD,    config_abc_mem_abc80_superbasic, DD(rom_abc80_superbasic16k) },
+    { 20*K, RD,    config_abc_mem_abc80_abc80l,     DD(rom_abc80_abc80l) },
     { 28*K, RD,    config_abc_mem_abc80_superbasic, DD(rom_abc80_superbasic28k) },
-
     { 32*K, RD|WR, config_abc_mem_abc80_ram,        DD(abc80_extmem) },
     END
 };

+ 1 - 1
rv32/checksum.h

@@ -1,4 +1,4 @@
 #ifndef CHECKSUM_H
 #define CHECKSUM_H
-#define SDRAM_SUM 0xe3f8ab32
+#define SDRAM_SUM 0xfc7b93e8
 #endif

BIN
rv32/roms/abc80/abc80l.rom