Skip to content
This repository was archived by the owner on Dec 5, 2023. It is now read-only.

Commit ddff195

Browse files
DobaMuffinRyzee119
authored andcommitted
Whitespace fixes for VHDL code
1 parent dfc41e7 commit ddff195

File tree

1 file changed

+72
-72
lines changed

1 file changed

+72
-72
lines changed

Firmware/openxenium.vhd

+72-72
Original file line numberDiff line numberDiff line change
@@ -41,8 +41,8 @@
4141
--BANK1 (USER BIOS 512kB) XXXX 0111 0 |0 |X 0x000000
4242
--BANK2 (USER BIOS 512kB) XXXX 1000 0 |1 |X 0x080000
4343
--BANK1 (USER BIOS 1MB) XXXX 1001 0 |X |X 0x000000
44-
--RECOVERY (NOTE 1) XXXX 1010 1 |1 |1 0x1C0000
45-
--
44+
--RECOVERY (NOTE 1) XXXX 1010 1 |1 |1 0x1C0000
45+
--
4646
--
4747
--NOTE 1: The RECOVERY bank can also be actived by the physical switch on the Xenium. This forces bank ten (0b1010) on power up.
4848
--This bank also contains non-volatile storage of settings an EEPROM backup in the smaller sectors at the end of the flash memory.
@@ -58,15 +58,15 @@
5858
--X,SCK,CS,MOSI,BANK[3:0]
5959
--
6060
--**0xEF READ:**
61-
--RECOV SWITCH POSITION (0=ACTIVE),X,MISO(Pin 1),MISO (Pin 4),BANK[3:0]
61+
--RECOV SWITCH POSITION (0=ACTIVE),X,MISO(Pin 1),MISO (Pin 4),BANK[3:0]
6262
--
6363
--**0xEE (WRITE)**
6464
--X,X,X,X X,B,G,R (DEFAULT LED ON POWER UP IS RED)
6565
--
6666
--**0xEE (READ)**
6767
--Just returns 0x55 on a real xenium?
68-
--
69-
68+
--
69+
7070
LIBRARY IEEE;
7171
USE IEEE.STD_LOGIC_1164.ALL;
7272
USE IEEE.STD_LOGIC_UNSIGNED.ALL;
@@ -99,23 +99,23 @@ END openxenium;
9999
ARCHITECTURE Behavioral OF openxenium IS
100100

101101
TYPE LPC_STATE_MACHINE IS (
102-
WAIT_START,
103-
CYCTYPE_DIR,
104-
ADDRESS,
105-
WRITE_DATA,
106-
READ_DATA0,
107-
READ_DATA1,
108-
TAR1,
109-
TAR2,
110-
SYNCING,
111-
SYNC_COMPLETE,
102+
WAIT_START,
103+
CYCTYPE_DIR,
104+
ADDRESS,
105+
WRITE_DATA,
106+
READ_DATA0,
107+
READ_DATA1,
108+
TAR1,
109+
TAR2,
110+
SYNCING,
111+
SYNC_COMPLETE,
112112
TAR_EXIT
113113
);
114-
114+
115115
TYPE CYC_TYPE IS (
116116
IO_READ, --Default state
117-
IO_WRITE,
118-
MEM_READ,
117+
IO_WRITE,
118+
MEM_READ,
119119
MEM_WRITE
120120
);
121121

@@ -126,22 +126,22 @@ ARCHITECTURE Behavioral OF openxenium IS
126126

127127
--XENIUM IO REGISTERS. BITS MARKED 'X' HAVE AN UNKNOWN FUNCTION OR ARE UNUSED. NEEDS MORE RE.
128128
--Bit masks are all shown upper nibble first.
129-
129+
130130
--IO WRITE/READ REGISTERS SIGNALS
131131
CONSTANT REG_00EE_READ : STD_LOGIC_VECTOR (7 DOWNTO 0) := "01010101"; -- Genuine Xenium
132132
SIGNAL REG_00EE_WRITE : STD_LOGIC_VECTOR (7 DOWNTO 0) := "00000001"; --X,X,X,X X,B,G,R. Red is default LED colour
133133
SIGNAL REG_00EF_WRITE : STD_LOGIC_VECTOR (7 DOWNTO 0) := "00000001"; --X,SCK,CS,MOSI, BANKCONTROL[3:0]. Bank 1 is default.
134134
SIGNAL REG_00EF_READ : STD_LOGIC_VECTOR (7 DOWNTO 0) := "01010101"; --Input signal
135135
SIGNAL READBUFFER : STD_LOGIC_VECTOR (7 DOWNTO 0); --I buffer Memory and IO reads to reduce pin to pin delay in CPLD which caused issues
136-
136+
137137
--R/W SIGNAL FOR FLASH MEMORY
138138
SIGNAL sFLASH_DQ : STD_LOGIC_VECTOR (7 DOWNTO 0) := "ZZZZZZZZ";
139-
139+
140140
--TSOPBOOT IS SET TO '1' WHEN YOU REQUEST TO BOOT FROM TSOP. THIS PREVENTS THE CPLD FROM DRIVING D0.
141141
--D0LEVEL is inverted and connected to the D0 output pad. This allows the CPLD to latch/release the D0/LFRAME signal.
142142
SIGNAL TSOPBOOT : STD_LOGIC := '0';
143143
SIGNAL D0LEVEL : STD_LOGIC := '0';
144-
144+
145145
--GENERIC COUNTER USED TO TRACK ADDRESS AND SYNC COUNTERS.
146146
SIGNAL COUNT : INTEGER RANGE 0 TO 7;
147147

@@ -165,12 +165,12 @@ BEGIN
165165
"1111" WHEN LPC_CURRENT_STATE = TAR2 ELSE
166166
"1111" WHEN LPC_CURRENT_STATE = TAR_EXIT ELSE
167167
READBUFFER(3 DOWNTO 0) WHEN LPC_CURRENT_STATE = READ_DATA0 ELSE --This has to be lower nibble first!
168-
READBUFFER(7 DOWNTO 4) WHEN LPC_CURRENT_STATE = READ_DATA1 ELSE
168+
READBUFFER(7 DOWNTO 4) WHEN LPC_CURRENT_STATE = READ_DATA1 ELSE
169169
"ZZZZ";
170170

171171
--FLASH_DQ is mapped to the data byte sent by the Xbox in MEM_WRITE mode, else its just an input
172172
FLASH_DQ <= sFLASH_DQ WHEN CYCLE_TYPE = MEM_WRITE ELSE "ZZZZZZZZ";
173-
173+
174174
--Write Enable for Flash Memory Write (Active low)
175175
--Minimum pulse width 90ns.
176176
--Address is latched on the falling edge of WE.
@@ -200,8 +200,8 @@ BEGIN
200200
XENIUM_D0 <= '0' WHEN TSOPBOOT = '1' ELSE
201201
'1' WHEN CYCLE_TYPE = MEM_READ ELSE
202202
'1' WHEN CYCLE_TYPE = MEM_WRITE ELSE
203-
NOT D0LEVEL;
204-
203+
NOT D0LEVEL;
204+
205205
REG_00EF_READ <= XENIUM_RECOVERY & '0' & HEADER_4 & HEADER_1 & REG_00EF_WRITE(3 DOWNTO 0);
206206

207207
PROCESS (LPC_CLK, LPC_RST, TSOPBOOT) BEGIN
@@ -212,16 +212,16 @@ PROCESS (LPC_CLK, LPC_RST, TSOPBOOT) BEGIN
212212
D0LEVEL <= TSOPBOOT;
213213
LPC_CURRENT_STATE <= WAIT_START;
214214

215-
ELSIF (rising_edge(LPC_CLK)) THEN
215+
ELSIF (rising_edge(LPC_CLK)) THEN
216216
CASE LPC_CURRENT_STATE IS
217-
WHEN WAIT_START =>
217+
WHEN WAIT_START =>
218218
IF LPC_LAD = "0000" AND TSOPBOOT = '0' THEN
219219
LPC_CURRENT_STATE <= CYCTYPE_DIR;
220220
END IF;
221-
WHEN CYCTYPE_DIR =>
222-
221+
WHEN CYCTYPE_DIR =>
222+
223223
LPC_CURRENT_STATE <= ADDRESS;
224-
224+
225225
IF LPC_LAD(3 DOWNTO 1) = "000" THEN
226226
CYCLE_TYPE <= IO_READ;
227227
COUNT <= 3;
@@ -237,9 +237,9 @@ PROCESS (LPC_CLK, LPC_RST, TSOPBOOT) BEGIN
237237
ELSE
238238
LPC_CURRENT_STATE <= WAIT_START; -- Unsupported, reset state machine.
239239
END IF;
240-
240+
241241
--ADDRESS GATHERING
242-
WHEN ADDRESS =>
242+
WHEN ADDRESS =>
243243

244244
IF COUNT = 5 THEN
245245
LPC_ADDRESS(20) <= LPC_LAD(0);
@@ -251,77 +251,77 @@ PROCESS (LPC_CLK, LPC_RST, TSOPBOOT) BEGIN
251251
REG_00EF_WRITE(3 DOWNTO 0) <= "1010";
252252
END IF;
253253
CASE REG_00EF_WRITE(3 DOWNTO 0) IS
254-
WHEN "0001" =>
254+
WHEN "0001" =>
255255
LPC_ADDRESS(20 DOWNTO 18) <= "110"; --256kb bank
256-
WHEN "0010" =>
256+
WHEN "0010" =>
257257
LPC_ADDRESS(20 DOWNTO 19) <= "10"; --512kb bank
258-
WHEN "0011" =>
258+
WHEN "0011" =>
259259
LPC_ADDRESS(20 DOWNTO 18) <= "000"; --256kb bank
260-
WHEN "0100" =>
260+
WHEN "0100" =>
261261
LPC_ADDRESS(20 DOWNTO 18) <= "001"; --256kb bank
262-
WHEN "0101" =>
262+
WHEN "0101" =>
263263
LPC_ADDRESS(20 DOWNTO 18) <= "010"; --256kb bank
264-
WHEN "0110" =>
264+
WHEN "0110" =>
265265
LPC_ADDRESS(20 DOWNTO 18) <= "011"; --256kb bank
266-
WHEN "0111" =>
266+
WHEN "0111" =>
267267
LPC_ADDRESS(20 DOWNTO 19) <= "00"; --512kb bank
268-
WHEN "1000" =>
268+
WHEN "1000" =>
269269
LPC_ADDRESS(20 DOWNTO 19) <= "01"; --512kb bank
270-
WHEN "1001" =>
270+
WHEN "1001" =>
271271
LPC_ADDRESS(20) <= '0'; --1mb bank
272-
WHEN "1010" =>
272+
WHEN "1010" =>
273273
LPC_ADDRESS(20 DOWNTO 18) <= "111"; --256kb bank
274-
WHEN "0000" =>
274+
WHEN "0000" =>
275275
--Bank zero will disable modchip and release D0 and reset state machine.
276276
LPC_CURRENT_STATE <= WAIT_START;
277277
TSOPBOOT <= '1';
278-
WHEN OTHERS =>
278+
WHEN OTHERS =>
279279
END CASE;
280280
ELSIF COUNT = 3 THEN
281-
LPC_ADDRESS(15 DOWNTO 12) <= LPC_LAD;
281+
LPC_ADDRESS(15 DOWNTO 12) <= LPC_LAD;
282282
ELSIF COUNT = 2 THEN
283283
LPC_ADDRESS(11 DOWNTO 8) <= LPC_LAD;
284284
ELSIF COUNT = 1 THEN
285285
LPC_ADDRESS(7 DOWNTO 4) <= LPC_LAD;
286286
ELSIF COUNT = 0 THEN
287287
LPC_ADDRESS(3 DOWNTO 0) <= LPC_LAD;
288-
288+
289289
LPC_CURRENT_STATE <= WAIT_START;
290-
290+
291291
-- catch unsupported IO read/writes here before they modify LAD
292292
IF CYCLE_TYPE = MEM_READ THEN
293293
LPC_CURRENT_STATE <= TAR1;
294294
ELSIF CYCLE_TYPE = MEM_WRITE THEN
295295
LPC_CURRENT_STATE <= WRITE_DATA;
296296
ELSIF LPC_ADDRESS(7 DOWNTO 1) = x"77" THEN -- check if supported Xenium register (EE or EF), the last bit is irrelevant
297-
297+
298298
IF CYCLE_TYPE = IO_READ THEN
299299
LPC_CURRENT_STATE <= TAR1;
300300
ELSIF CYCLE_TYPE = IO_WRITE THEN
301301
LPC_CURRENT_STATE <= WRITE_DATA;
302302
END IF;
303303

304304
END IF;
305-
305+
306306
END IF;
307307
COUNT <= COUNT - 1;
308-
308+
309309
-- MEMORY OR IO WRITES. These all happen lower nibble first. (Refer to Intel LPC spec)
310310
-- HACK: abuses counter rollover from previous state
311-
WHEN WRITE_DATA =>
312-
311+
WHEN WRITE_DATA =>
312+
313313
IF CYCLE_TYPE = MEM_WRITE THEN
314-
314+
315315
IF COUNT = 7 THEN
316316
sFLASH_DQ(3 DOWNTO 0) <= LPC_LAD;
317317
ELSE
318318
sFLASH_DQ(7 DOWNTO 4) <= LPC_LAD;
319319
END IF;
320-
320+
321321
ELSE
322322

323323
-- it's already been confirmed this is a supported Xenium register in a previous state
324-
-- so only a single bit needs to be checked to differentiate between the two
324+
-- so only a single bit needs to be checked to differentiate between the two
325325
IF LPC_ADDRESS(0) = '0' THEN
326326

327327
IF COUNT = 7 THEN
@@ -339,37 +339,37 @@ PROCESS (LPC_CLK, LPC_RST, TSOPBOOT) BEGIN
339339
END IF;
340340

341341
END IF;
342-
342+
343343
IF COUNT = 6 THEN
344344
LPC_CURRENT_STATE <= TAR1;
345345
END IF;
346-
COUNT <= COUNT - 1;
346+
COUNT <= COUNT - 1;
347347

348348
--MEMORY OR IO READS
349-
WHEN READ_DATA0 =>
349+
WHEN READ_DATA0 =>
350350
LPC_CURRENT_STATE <= READ_DATA1;
351-
WHEN READ_DATA1 =>
352-
LPC_CURRENT_STATE <= TAR_EXIT;
351+
WHEN READ_DATA1 =>
352+
LPC_CURRENT_STATE <= TAR_EXIT;
353353

354354
--TURN BUS AROUND (HOST TO PERIPHERAL)
355-
WHEN TAR1 =>
355+
WHEN TAR1 =>
356356
LPC_CURRENT_STATE <= TAR2;
357-
WHEN TAR2 =>
357+
WHEN TAR2 =>
358358
LPC_CURRENT_STATE <= SYNCING;
359359
COUNT <= 6;
360-
360+
361361
--SYNCING STAGE
362362
WHEN SYNCING =>
363-
COUNT <= COUNT - 1;
363+
COUNT <= COUNT - 1;
364364
--Buffer IO reads during syncing. Helps output timings
365365
IF COUNT = 1 THEN
366366
IF CYCLE_TYPE = MEM_READ THEN
367367
READBUFFER <= FLASH_DQ;
368-
368+
369369
ELSIF CYCLE_TYPE = IO_READ THEN
370-
370+
371371
-- it's already been confirmed this is a supported Xenium register in a previous state
372-
-- so only a single bit needs to be checked to differentiate between the two
372+
-- so only a single bit needs to be checked to differentiate between the two
373373
IF LPC_ADDRESS(0) = '0' THEN
374374
READBUFFER <= REG_00EE_READ;
375375
ELSE
@@ -379,22 +379,22 @@ PROCESS (LPC_CLK, LPC_RST, TSOPBOOT) BEGIN
379379
ELSIF COUNT = 0 THEN
380380
LPC_CURRENT_STATE <= SYNC_COMPLETE;
381381
END IF;
382-
WHEN SYNC_COMPLETE =>
382+
WHEN SYNC_COMPLETE =>
383383
IF CYCLE_TYPE = MEM_READ OR CYCLE_TYPE = IO_READ THEN
384384
LPC_CURRENT_STATE <= READ_DATA0;
385385
ELSE
386386
LPC_CURRENT_STATE <= TAR_EXIT;
387387
END IF;
388-
388+
389389
--TURN BUS AROUND (PERIPHERAL TO HOST)
390-
WHEN TAR_EXIT =>
390+
WHEN TAR_EXIT =>
391391
--D0 is held low until a few memory reads
392392
--This ensures it is booting from the modchip. Genuine Xenium arbitrarily
393393
--releases after the 5th read. This is always address 0x74
394394
IF LPC_ADDRESS(7 DOWNTO 0) = x"74" THEN
395395
D0LEVEL <= '1';
396396
END IF;
397-
397+
398398
CYCLE_TYPE <= IO_READ;
399399
LPC_CURRENT_STATE <= WAIT_START;
400400
END CASE;

0 commit comments

Comments
 (0)