mirror of https://github.com/zxdos/zxuno.git
Actualizo a test22
This commit is contained in:
parent
eeceea2654
commit
2472082928
File diff suppressed because it is too large
Load Diff
|
|
@ -37,10 +37,10 @@ module coreid (
|
|||
text[i] = 8'h00;
|
||||
text[ 0] = "T";
|
||||
text[ 1] = "2";
|
||||
text[ 2] = "1";
|
||||
text[ 2] = "2";
|
||||
text[ 3] = "-";
|
||||
text[ 4] = "0";
|
||||
text[ 5] = "5";
|
||||
text[ 4] = "1";
|
||||
text[ 5] = "3";
|
||||
text[ 6] = "0";
|
||||
text[ 7] = "7";
|
||||
text[ 8] = "2";
|
||||
|
|
|
|||
File diff suppressed because it is too large
Load Diff
|
|
@ -2,7 +2,6 @@ module multiboot (
|
|||
input wire clk,
|
||||
input wire clk_icap, // WARNING: this clock must not be greater than 20MHz (50ns period)
|
||||
input wire rst_n,
|
||||
input wire kb_boot_core,
|
||||
input wire [7:0] zxuno_addr,
|
||||
input wire zxuno_regwr,
|
||||
input wire [7:0] din
|
||||
|
|
@ -58,7 +57,7 @@ module multiboot (
|
|||
reg [4:0] q = 5'b00000;
|
||||
reg reboot_ff = 1'b0;
|
||||
always @(posedge clk_icap) begin
|
||||
q[0] <= boot_core | kb_boot_core;
|
||||
q[0] <= boot_core;
|
||||
q[1] <= q[0];
|
||||
q[2] <= q[1];
|
||||
q[3] <= q[2];
|
||||
|
|
|
|||
|
|
@ -32,6 +32,7 @@ module ps2_keyb(
|
|||
output wire nmi_out_n,
|
||||
output wire mrst_out_n,
|
||||
output wire [4:0] user_toggles,
|
||||
output reg video_output_change,
|
||||
//---------------------------------
|
||||
input wire [7:0] zxuno_addr,
|
||||
input wire zxuno_regrd,
|
||||
|
|
@ -72,16 +73,23 @@ module ps2_keyb(
|
|||
| BSY | x | x | x | ERR | RLS | EXT | PEN |
|
||||
*/
|
||||
reg reading_kbstatus = 1'b0;
|
||||
initial video_output_change = 1'b0;
|
||||
always @(posedge clk) begin
|
||||
kbstatus_dout[7:1] <= {ps2busy, 3'b000, kberror, released, extended};
|
||||
if (nueva_tecla == 1'b1)
|
||||
if (nueva_tecla == 1'b1) begin
|
||||
kbstatus_dout[0] <= 1'b1;
|
||||
if (kbcode == 8'h7E && released == 1'b0 && extended == 1'b0) begin // SCRLock to change between RGB and VGA 60Hz
|
||||
video_output_change <= 1'b1;
|
||||
end
|
||||
end
|
||||
if (oe_n_kbstatus == 1'b0)
|
||||
reading_kbstatus <= 1'b1;
|
||||
else if (reading_kbstatus == 1'b1) begin
|
||||
kbstatus_dout[0] <= 1'b0;
|
||||
reading_kbstatus <= 1'b0;
|
||||
end
|
||||
if (video_output_change == 1'b1)
|
||||
video_output_change <= 1'b0;
|
||||
end
|
||||
|
||||
ps2_port lectura_de_teclado (
|
||||
|
|
|
|||
|
|
@ -65,7 +65,7 @@ module scancode_to_speccy (
|
|||
reg [13:0] addr = 14'h0000;
|
||||
reg [13:0] cpuaddr = 14'h0000; // Dirección E/S desde la CPU. Se autoincrementa en cada acceso
|
||||
initial begin
|
||||
$readmemh ("keyb_es_hex.txt", keymap);
|
||||
$readmemh ("../keymaps/keyb_es_hex.txt", keymap);
|
||||
end
|
||||
|
||||
reg [2:0] keyrow1 = 3'h0;
|
||||
|
|
|
|||
|
|
@ -23,6 +23,7 @@
|
|||
module scandoubler_ctrl (
|
||||
input wire clk,
|
||||
input wire [15:0] a,
|
||||
input wire kbd_change_video_output,
|
||||
input wire iorq_n,
|
||||
input wire wr_n,
|
||||
input wire [7:0] zxuno_addr,
|
||||
|
|
@ -53,6 +54,10 @@ module scandoubler_ctrl (
|
|||
scandblctrl <= din;
|
||||
else if (iorq_n == 1'b0 && wr_n == 1'b0 && a == PRISMSPEEDCTRL)
|
||||
scandblctrl[7:6] <= din[1:0];
|
||||
else if (kbd_change_video_output == 1'b1) begin
|
||||
scandblctrl[0] <= ~scandblctrl[0];
|
||||
scandblctrl[4:2] <= (scandblctrl[0] == 1'b0)? 3'b111 : 3'b000;
|
||||
end
|
||||
dout <= scandblctrl;
|
||||
end
|
||||
endmodule
|
||||
|
|
|
|||
|
|
@ -128,6 +128,7 @@ module zxuno (
|
|||
wire [7:0] kbstatus_dout;
|
||||
wire oe_n_kbstatus;
|
||||
wire [4:0] user_toggles;
|
||||
wire video_output_change; // señal que da la tecla Scroll Lock para cambiar de modo de video
|
||||
|
||||
// Interfaz joystick configurable
|
||||
wire oe_n_joystick;
|
||||
|
|
@ -189,9 +190,6 @@ module zxuno (
|
|||
wire [7:0] mousestatus_dout;
|
||||
wire oe_n_kmouse, oe_n_mousedata, oe_n_mousestatus;
|
||||
|
||||
// Multiboot
|
||||
wire boot_second_core = user_toggles[1]; // KB triggered booting
|
||||
|
||||
// Asignación de dato para la CPU segun la decodificación de todos los dispositivos
|
||||
// conectados a ella.
|
||||
always @* begin
|
||||
|
|
@ -400,6 +398,7 @@ module zxuno (
|
|||
.nmi_out_n(nmi_n), // Señales de reset y NMI
|
||||
.mrst_out_n(mrst_n), // generadas por pulsaciones especiales del teclado
|
||||
.user_toggles(user_toggles), // funciones de usuario
|
||||
.video_output_change(video_output_change),
|
||||
//----------------------------
|
||||
.zxuno_addr(zxuno_addr),
|
||||
.zxuno_regrd(zxuno_regrd),
|
||||
|
|
@ -479,8 +478,9 @@ module zxuno (
|
|||
);
|
||||
|
||||
scandoubler_ctrl control_scandoubler (
|
||||
.clk(cpuclkplain),
|
||||
.clk(clk28),
|
||||
.a(cpuaddr),
|
||||
.kbd_change_video_output(video_output_change),
|
||||
.iorq_n(iorq_n),
|
||||
.wr_n(wr_n),
|
||||
.zxuno_addr(zxuno_addr),
|
||||
|
|
@ -555,7 +555,6 @@ module zxuno (
|
|||
.clk(cpuclkplain),
|
||||
.clk_icap(clk14),
|
||||
.rst_n(rst_n & mrst_n & power_on_reset_n),
|
||||
.kb_boot_core(boot_second_core),
|
||||
.zxuno_addr(zxuno_addr),
|
||||
.zxuno_regwr(zxuno_regwr),
|
||||
.din(cpudout)
|
||||
|
|
|
|||
|
|
@ -143,7 +143,7 @@ bin2 jr nz, bin2
|
|||
block $0100 - $
|
||||
include scroll/define.asm
|
||||
ld sp, 0
|
||||
ld de, $5ee2+filesize-1
|
||||
ld de, $5e7c+filesize-1
|
||||
ld hl, fin-1
|
||||
|
||||
; -----------------------------------------------------------------------------
|
||||
|
|
|
|||
BIN
firmware/es.zx7b
BIN
firmware/es.zx7b
Binary file not shown.
Binary file not shown.
|
Before Width: | Height: | Size: 1.3 KiB After Width: | Height: | Size: 1.3 KiB |
|
|
@ -1,5 +1,6 @@
|
|||
output scroll.bin
|
||||
org $5ee2
|
||||
org $5e7c
|
||||
display $6d35+string-music
|
||||
string include string.asm
|
||||
music ld (vari+2), ix
|
||||
incbin music.bin
|
||||
|
|
|
|||
|
|
@ -1,7 +1,7 @@
|
|||
include define.asm
|
||||
output scrolldesc.bin
|
||||
org $5ccb
|
||||
ld de, $5ee2+filesize-1
|
||||
ld de, $5e7c+filesize-1
|
||||
di
|
||||
defb $de, $c0, $37, $0e, $8f, $39, $96
|
||||
jr aqui
|
||||
|
|
|
|||
BIN
firmware/us.zx7b
BIN
firmware/us.zx7b
Binary file not shown.
Loading…
Reference in New Issue